Re-check if unit has responded to flow

From time to time I see one or two in a group of Zigbee units not following the flow automation by not turning off or on. I may be just one or two units out of ten. For the sake of information completeness, the app is Elko Smart.

First question: why does Homey accept that the flow has successfully run when one or two units are not turned off or on?

Second question: How could I prevent this from happening? Should I create a “double check” system ?

I find this very frustrating.

Flows aren’t very smart, all they do is queue up the commands to be sent to your Zigbee devices and if the queuing worked, the flow assumes everything went okay. It doesn’t care if the commands were actually sent properly, or if the devices received and acknowledged the commands correctly.

This issue has exists for many years now, and since it’s so old we have to assume that Athom is unable to fix it. The only thing you can do to mitigate it (but not fix it completely) is to send the commands to each individual device with a delay between command (so send the command to device 1 at time 0, then send the command to device 2 after 1 second, to device 3 after 2 seconds, etc).

If you use the <group> app to create groups, I believe it has an option to add such a delay.

So what is the added value of a two way communication protocol if it is not used?
You might as well use 433 MHz devices :grin:

Thanks. A follow up to your mitigation tips: how does this improve the flow? Is there an assumption that the Zigbee network is over flowed? Or is a delay enough to assure that Homey waits for a reply from unit?

There’s nothing inherently wrong with the protocol, it’s how Homey uses it.

It’s not an issue with network overflow, it’s something inside Homey that makes it skip random commands. The only way to fix it, AFAIK, is to introduce delays. This will not cause Homey to start listening for replies, it will just lighten the load on Homey’s internals to there’s a bigger chance it doesn’t skip anything.

Correct, but for me replacing 433MHz devices, which uses only one way communication, with Zigbee or Zwave is now less important as Homey does not use it. Just another small disappointment :disappointed_relieved:

The way it works (I think) is that Homey sends the device a command (“turn on”), then the device executes the command and it says to Homey “hey, I turned on”.

The issue is that with flows sending commands to multiple devices at once, some of those commands get lost inside Homey (before even sending them). So the devices never receive the commands and (logically) will not tell Homey that they turned on.

It’s a bug in the flow system that, like I said, has existed for many years now.

Buffer overflow :wink: I will stay away from group commands.