Rules for Zigbee SNZB-01 button to Shelly lights push not working

So I honestly don't know where to put this issue that I'm struggling with.

First I thought I have a zigbee problem, then I thought I had a driver problem, now i have A problem.

I've had many rules (Simple automation rules (SAR) / Rule Machine (RM) rules) working with SonOff SNZB-01 buttons, controlling my Shelly RGBW white lights or Shelly Dimmer2 lights.

Now the rules that have a simple short push don't work for toggle.

The rule is very simple - button1 is pushed (short push) and that toggles the light. No other conditions. This has stopped working altogether. The same Zigbee Button double click works flawlessly. I have multiple zigbee buttons around my living room that have the same exact functions and all of them exhibit this same behaviour.
Prior to this malfunctioning began, I've changed nothing.

I've tried to delete the rule and add it again from scratch.
I've tried to make the same rule in Rule machine.

Now comes what I don't understand:

  • The push of the button is recognized / logged. But no action is performed
  • It is only the toggle command that doesn't work. On or Off commands work for RM and SAR.
  • I've now deleted all affected rules and instead of controlling devices, I've got it to send HTTP GET Shelly-IP-address/light/0?turn=toggle. That works great and faster than the toggle option ever has.
  • the button "Run actions" in rule machine does not work either...

I run the latest platform 2.4.0.151.
Buttons use the internal driver "SonOff Zigbee Button Controller"
Shelly RGBW2 lights use Shelly RGBW White Shelly USA / Scott Grayban driver v. 1.0.1
Shelly Dimmer2 light uses Internal Shelly WiFi Dimmer driver.

Do you have any Ideas?
Thanks anyone in advance!

Interesting to see that "short push" is handled by a different I guess internal function than "double tap" or "hold"

If you go to the Commands tab on the driver page, do you have Toggle available as a command?

1 Like

"Toggle" is not a standard command on Hubitat, so it's an in-app feature in things like Rule Machine and Button Controller where it exists. To implement this feature, the app looks at the current state of the device, then sends an "on" command if it's off or an "off" command if it's on.

Therefore, the most likely explanation for your problem is that the device you're controlling isn't reporting its state accurately. You can check this for yourself on the device detail screen: send commands to the device, and see if "Current States" updates as expected. If you have another way of manipulating the device, i.e., outside the hub, try that, too. The hub only knows what it sees on this page, and app can only know what the hub knows. There may be ways to fix this if this is the cause, but it will depend on your device and the driver in use (a "Configure" is a good way to start with most, though).

There are other possibilities, too, like that the button event itself isn't getting registered (looking at "Events" for the button device is one way to verify, though it seems like you have), but I'd start there.

3 Likes

Thank you both!

Bert you are actually correct! Shelly forgot the URL addresses for reporting back...
I don't understand ho or why, but that is it!

Thakns to your comment I found out my second issue was caused by this as well :smiley:

Thank you so much!