Press button to toggle switch sometimes not working

I've tried using basic rules and the button controller to do a simple light switch toggle. You push a button and the ZigBee plug toggles on and off (connected to a light).

It only works, sometimes. If I press the button in a row (waiting until the plug toggles) for a few times, it will eventually stop responding to the on/off commands. The button event still gets triggered, the end device doesn't toggle. Is there some hidden rate limiting going on?

Here's the logs from when it happened (logging enabled in basic rules).

Here's the basic rule.

This happens on different plugs, too. Not sure what's going on.

There shouldn't be anything like that going on. What's more likely happening is that your device or perhaps the network it's on (probably Z-Wave or Zigbee?) is having troubles. It looks like you're sent several commands all within a few seconds, which should be fine but is a bit on the high side for normal usage; spacing things out is one way to avoid overloading your mesh, though most should be able to handle this. If it's Z-Wave, there are some things in particular you can look for, like "ghost nodes" or hub radio firmware updates (if you're on a C-7), that might help: How to Troubleshoot Z-Wave | Hubitat Documentation

Another possibility is that the device isn't reporting state back to the hub correctly, or at least not in a timely enough fashion for your next toggle to work. "Toggle" is an feature specific to apps like Basic Rule, not a command provided by any standard driver capabilities, so what it does is look at the current switch state, then send an on() if it's off or an off() if it's on (according to what it reported to the hub, anyway). Device event history or just looking at "Current States" on the device detail page may help you figure that out. Running a "Configure" command on the device may help if it's not updating at all, especially if it's a Zigbee device or you changed drivers. Otherwise, there could be a device or driver issue, and sharing more information about the specific devices you're wondering about may get you more help.

Good luck!

My network is all Zigbee.

This happens on both the Sengled Smart Plug and ThirdReality Smart Plug (the energy monitoring ones).

I think the hub sees the state correctly and "attempts" to trigger the on/off, but nothing happens (via debug logging). See this new log for example. This device is the Sengled.

I appreciate the help!

Yeah, looks like the device is just not responding. Could be a mesh issue--for example, if it's on the fringe of your network, adding a "repeater" (router) might help. Or if you have any possible "problem devices" like many routing Zigbee smart bulbs can be, removing them might help. You might want to also check Logs for errors or App Stats and Device Stats for signs of excessive load or anything else that could be a general hub problem. Just a few ideas!

Interesting, one of the devices seems to be taking quite a lot of time doing something... I'll try resetting or repairing it. The mesh should be good since almost every device is a repeater and there's devices all along the way to that room. It is also connected directly to the hub since it is close enough.

Thanks, I'll see if that helps. Still very strange since it happens to multiple devices...

Another option would be to shut down and unplug your hub for 30 mins. This will throw your zigbee mesh into panic mode. Bring the hub back up and let things settle and see if they improve.

I'll give that a shot if things don't improve after the repairing I did.


1 Like