Using a Group won't turn off all devices

I created a Group that turns off most every dimmer/switch in my network. When I execute it, there are (most of the time) one or two devices that didn't turn off.

I took the exact same list of devices and put them in a rule to turn them all off. That works 100%.

Is there something I'm missing in setting up a Group? Why would I get different results when devices are in a group versus in a list of a rule?

Are they all Zigbee devices? If so, turn on Enable Zigbee group messaging.

  • Enable on/off optimization: Only sends commands to those devices that "need it" - e.g., won't send "off" to devices that report being off.
  • Enable metering: Allows you to set a small delay (in 100's of seconds) between each command sent. You could try starting at 250 and go up/down as needed

No idea why RM is doing a better job than the group. Have you run the rule at the same time of day that you use the group?

2 Likes

You shouldn't get different results, at least not with the way you have the group set up (the "enable on/off optimization" setting can cause unexpected results if devices don't always report their state back correctly, but it's already off for you).

If these are all Zigbee devices, you might have better luck enabling Zigbee group messaging (even if it's a mix, it will use Zigbee groups where it can). That will cut down on traffic. You may also wish to consider enabling metering, which allows you to specify a delay between commands to avoid flooding your network in case that happens to be the problem here (something like 50 or 75 might be a good place to start).

I suspect this is only different from a rule due to coincidence or luck, but the above might help. :smiley:

(So, pretty much exactly what was written above while I was typing. Ha.)

2 Likes

LOL - Twins! :slight_smile:

1 Like

All devices are Z-Wave Plus. You can see in my pic that "Command Mix Devices" is the only option turned on, not using optimization.

Why would metering make a difference since rule machine doesn't use it at all?

Maybe there’s a slight delay introduced by using RM due to the overhead vs simply hitting the off button on a group? Or maybe the order of devices being commanded is different when using RM?

1 Like

Strange results. If I do use metering, it's got to be set to around 100ms to reliably turn off all the devices- except now it takes maybe 10 seconds to turn them all off, versus using RM with is like 2 seconds if that.

The order of the RM list is slightly different than the group, I don't see how this can effect anything, Maybe it does, I don't know.

If there is any difference that isn't due to chance (still my guess--try it enough times both ways and you might see), then it's possible RM iterates over the devices in a slightly different way that might introduce enough of a delay to help it succeed more, though metering in a Group should sonthe same.

But there definitely shouldn't be any difference...

You don't need "command mixed devices" turned on unless you want to do things like "Set Level" on the group and have the switches turn on (which don't natively accept this command), but even that shouldn't matter.

1 Like

I will turn off mixed devices and see if that makes any difference. I'm still baffled why this doesn't work for me. I don't see any previous posts regarding the difference between Groups and Rule Machine.

Maybe Bruce @bravenel has a thought or two on this...

Metering is the key. It has to be set to high value (like 200ms) to guarantee reliability in turning everything off. Where as using RM is fast and always reliable.

That’s strange, unless RM checks to see if the device is already on/off. I have mostly Zigbee devices, but in my one z-wave group (all exterior lights) I have optimization enabled in the group and it always works. If you are using only z-wave plus devices, this should be okay.

@JoeJ - have you tried the group route yet w/on/off optimization enabled? Maybe try it first w/no metering, and if it doesn't work, add in a little metering. If you're interested in troubleshooting the RM vs Group stuff. :slight_smile:

I don't understand the optimization setting.

If optimized is ON, a command is first sent to check the device status and if different, it sends a second command to set the status. Without optimization, a command is sent to set the status without checking. So theoretically, up to 2 commands may be sent using optimization where its guaranteed that only 1 command will be sent without optimization. So wouldn't no optimization be faster?

I have tried with optimization on or off, doesn't seem to make much difference.

BTW I've had my system running without using groups for a few months with no issue. I noticed that I have several RM's that use the same set of devices, so I tried to use groups to consolidate and this when I ran into these problems.

This is something that devices already report to the hub, it’s not an extra z-wave command being sent. It’s just querying the database. If every light is on and the off command is sent (or vice versa), it’s not going to make a difference, but people don’t usually have every light on at the same time, which is where it cuts down on network traffic. BTW, one of the benefits of Zigbee is that a single broadcast command can turn every device on or off in less than a second. No matter what, every z-wave device has to be addressed individually for any command, whether it’s in a group or scene or listed individually in a rule. So, whatever works best for you is the way to go.

2 Likes

@JoeJ @bravenel made this a while ago, perhaps it can help

https://raw.githubusercontent.com/hubitat/HubitatPublic/master/example-apps/allOff.groovy

Thanks, is this an app? Does it turn everything off or just monitor what went off.

it's an app

image

Are you using on and off, or toggle in your rule? I remember one time a bulb in a group was turned off individually and our toggle rules were unable to turn them all off at the same time till we'd manually brought them back to sync