Has the execution of a scene changed in 0.101?

The previous behavior seemed to be that a scene would enforce all the states defined. That is, even if a light was already off, if you activated a scene that was supposed to turn the light off, it would still send the ‘off’ command to it anyway.

In 0.101, it now appears to be different… what I am seeing now is that if HA thinks a devices is already in the state specified in a scene, it will not send the command… am I imagining this change?

Scenes have changed (and the masses are bitching at some of the changes!).

I haven’t heard that particular “problem” though - although I am not sure how it is a problem.

It’s because I have a couple of z-wave light switches that, when switched manually, do not always register the state change with HA. Therefore the lights can be on and HA doesn’t know they are on. Then when I activate a scene where that light should be off, HA doesn’t send the off command to it.

Prior to 0.101 (or maybe it was 0.100), HA would send commands to each device in the scene regardless of their state. Where I work, this is good practice … never assume the state of a device, always enforce the state you want.

So your z-wave devices are broken.

I appreciate your careful analysis, but, nope.

It’s a limitation of z-wave. Back in 2013, when I outfitted my whole house with z-wave light switches, some company (not GE/Jasco) had a patent on switches being able to report status to a hub. This patent prevented anyone from producing a z-wave switch from reporting its status to a hub.

As a work-around, most manufacturers send out a broadcast message which is effectively a no-op. When the hub hears a no-op from a switch, it then asks the switch for status, and then the switch is allowed to send its on/off/dimmer state. The problem with broadcast messages is they are not routable, so unless the switch in question is only 1-hop from the hub, the status poll can get missed.

Bottom line, nothing is broken. And a change made in 0.101 caused what was working for me for almost 2 years now to stop, and so I am wondering if the change was intentional or it’s a bug.

PS. This patent has long-since expired and all devices labeled “Z-wave plus” do not have this limitation

Try enabling Z-Wave polling on your devices that don’t support Instant Status.

edit: FWIW I completely agree with the overall thrust of your post. Scenes should be idempotent and presume nothing about the existing state of the device.

That’s my next move - I’ve been resisting it because I have ~60 z-wave devices on my network and I don’t want to add congest it.