Troubleshooting

Errors

Unavailable exceptions

formant.sdk.agent.v1.exceptions.Unavailable: failed to connect to all addresses

    The Formant agent is unavailable.
    It may be updating, not running, or running with a different address.

When you see this message, the Client is unable to reach the Formant Agent. Aside from making sure the agent is running, the most common other problem is that the agent is running somewhere other than the default socket.

To change the URL used to find the agent, use the agent_url keyword argument when instantiating the Client object. The default value is "/var/lib/formant/agent.sock"

from formant.sdk.agent.v1 import Client

fclient = Client(agent_url="localhost:8199")

You can also suppress these types of errors by using ignore_unavailable=True when instantiating the Client object, like so:

from formant.sdk.agent.v1 import Client

fclient = Client(ignore_unavailable=True)

Throttled exceptions

Refer to Managing datapoint throttling to learn how to manage throttled exceptions in your application.

Other problems

Data isn't showing up in my views

Aside from double checking the telemetry settings for a device and the stream name you are ingesting on, make sure that the stream type is correct.

  1. Navigate to Settings->Streams
  2. Search for the name of the stream in question
  3. Attempt to change the stream type to the correct one
  4. If this still doesn't work, try deleting the stream in Settings->Streams and retrying

I'm not receiving commands

Only one callback will ever receive a command. Make sure that there are not multiple Formant Agent SDK subscribers running at the same time.

See: Handling commands

Reach out to support

If you continue to experience difficulties with the Formant Agent SDK, we're happy to help troubleshoot. Please send us a message on Slack, [email protected], or our support chatbox.