Message from TheHandy support team regarding the 1001 Device buffer full error

Hey all, want to make sure you all saw this post the Handy mod team made over on Reddit, I assume a similar one was made on Discord. This is the most detailed I’ve seen on the inner workings of how the handy communicates, which is mildly interesting.

Hello Handy Users!

Over the past few days we’ve received a fair number of people report Error: 1001 Device buffer is full messages. A member of our Dev team put this message on our Discord:

Some general info on the buffer full error

There’s a limit to the number of messages that can be in transit between the server and the device due to the device’s memory restrictions. The server operates a transit window with ten slots. Each message sent to the device occupies one slot, which is released when either:

  1. The server receives an acknowledgment (Ack) from the device indicating that the message has been processed.
  2. The message is deemed too old, in the event of an acknowledgment timeout, which could be due to the device’s inability to return an Ack for any reason.
  3. Moreover, the server holds a buffer of ten messages. A device buffer error is returned if both the server buffer and the transit window are full. Therefore, a general guideline is that there’s a limit of 20 (10+10) non-acknowledged messages to a device.

However, it’s important to note that a single API request doesn’t necessarily correspond to a single message. If you’re using API v2, certain requests may result in multiple messages to the device. For instance, /info and /settings translate into four separate messages to the device. Therefore, simply counting the requests might not yield accurate results.

In addition to this, the device may occasionally receive internal messages. If you have shared your connection key with others, or are accessing your device via multiple apps or tabs, these could also contribute to sending requests to the device, and thus filling up the buffer.

Changing your connection key can help mitigate this issue. Also, note that a device-server clock synchronization process is initiated when the device goes online and connect to our servers. This process shouldn’t take more than a few seconds (dependent on your location), but while it’s ongoing, it could restrict the message throughput to the device.

Lastly, turning off the device’s Wi-Fi will disconnect it from our servers and clear any existing buffer and transit window. This can be useful to reset the buffer/transit window.

Our Dev team is also doing some work on our end to see if there are any bugs. At the moment (6/6/23 12:43 PM) there is nothing to report.

Thank you for remaining patient during this time. We apologize for any inconveniences you may have experienced!