[2.2.9.128 C7] Scene Device Not Updating?

I believe that's exactly what scenes were for.

However, the "Scene Activator" is apparently a very "special" device that is intended only to force an activate/deactivate of the scene--not to reflect the scene's actual state.

Thus, pointing to a virtual SWITCH device that can be used to determine the state of the scene.

From what @bravenel said, there-indeed-are serious complications if you have the scene activation process attempt to set the scene activator to "on" (or "off").

Namely, when the scene goes "On", it will turn itself On again. And, when it then realizes it is On again, it will turn itself On again, .... forever. As you found out. :slight_smile:

But it used to do that on its own, I have been using it for months and if I turned off one light in the scene manually the Scene would become not set and the device/activator would then be off. Then if I wanted to restore all the lights back to default I could just press the scene to turn it back on. Now it would still be in the on state so pressing it would turn the scene off. I could roll back to 2.2.8 to prove this but I am certain that is how it worked.

It sounds like if I make a virtual device and point the scene to it with this new feature it will do the same thing but it seems like a regression from how it was working before.

I think it may have done that also. However, there were some other issues with scenes that were fixed in this release. It appears that, as part of fixing that issue (which several people mentioned), they had to separate the activation device functionality from the indicator device.

If the end result is far more stable scene behavior, I'm all for it! :slight_smile:

OK next problem. I created the virtual device. All this does is mirror the Set / Not Set to the on/off state of the virtual device. Turning the virtual device on or off does not change the scene.

I can turn the scene activator device on / off to adjust the scene but the problem is that when mapped to a dashboard (homekit in my case) it does not reflect the actual state of the scene.

Am I overlooking something obvious that I should be doing instead?

I see on the Hubitat dashboard if I add the scene activator as a "Scene" tile, it gives an on/off button but with no indication of what state it is in.

Update: Maybe if I make a rule to set the scene based on when I toggle the virtual device on/off it would work the same as the scene activator used to work. I would turn ON the virtual device, the rule would then turn on the scene, the scene would then attempt to turn ON the virtual device but it would already be on. Hopefully wont cause an endless loop.... again.

At that point the scene activator device would be totally worthless to me, wonder if I can just delete it.

Correct: The "scene indicator switch" does NOT change the scene. It is only a device that lets you know the state of the scene (assuming you have NOT manually changed it--in which case, the results are unpredictable).

Yes, you CAN turn the Scene Activator on OR "push" it to activate the scene. You may also (more clearly) do an "Activate Scene" command. But, all 3 do the same thing.

Creating a dashboard tile linked to the Scene Activator would likely let you activate the scene by pressing it but, yeah, I don't think it would properly show the state.

You might consider using the "switch" attribute from the "scene indicator" to show the state.

YIKES!! I am pretty sure THAT will be a disaster again (causing the same loop you had before).

Can confirm, I did not think of what would happen when I turned off one light. Scene becomes NOT SET, virtual device gets turned off, Rule then picks that up and turns the entire scene off.

Well... this is frustrating. I somehow need to show the on/off state of the virtual device but when I push to toggle it, it needs to turn the actual scene on/off without creating a loop.

EDIT: I think I could make it work with a second virtual device, and a complicated set of rules to tie it to the first virtual device. I would have to use some variables to block the looping, such that is if the scene becomes not set, vd1 gets turned off, the rule then sets a time variable and turns off vd2. The other rule which would then pick up on vd2 being turned off, sees the variable just got set so it ignores it and does nothing. Then if vd2 gets flipped to ON, it would then transfer that to the scene activator turning on the scene, which would then turn VD1 ON. I could have another time var check there to stop it..... Yeah thats way too complicated for this. might just delete the whole scene and forget I ever created it.

1 Like

Trying to think of ideas for you. So, not tried these myself and I might be making things more complex, but...a thought:

------Create a Virtual Switch named "VSIndicator" (point the scene indicator switch to this)

------Create a 2nd Virtual Switch named "VSToggle" (use in your dashboard, etc.)

------Create a rule on "event: VSToggle changed" named "SceneToggle"
If Private Boolean=False Exit Rule
If (VSToggle=On)
Activate Scene xxx
Else
Off: Scene xxx
End-If

------Create a 2nd rule on "event: VSIndicator changed" named VSIChanged
Set Private Boolean False on SceneToggle
If (VSIndicator=On)
VSToggle=On
Else
VSToggle=Off
End-If
Set Private Boolean True on SceneToggle

LOL we thought of the same thing I think, just explained it different. Waaaaaay too much work to recreate something that worked perfectly fine in 2.2.8 :frowning:

Actually, it did not work so well in previous releases. The Scene state was regularly not reflecting the state of the devices. Combined with the occasional gremlins where some devices don't obey a command sent to them, it was a bit of a mess. You could do a "refresh" to get the hub & the device back in agreement--but the Scene often wouldn't show the proper state.

In this release, so far in my limited testing, the scenes are acting FAR more predictably. And, when I manually turn devices on/off, the scene states are changing exactly as expected--all things that were not previously behaving reliably.

So, all in all, I'm thrilled.

And, perhaps, they'll come up with something even better...but this is at least very workable (prior to this hotfix, the inability to "test" the scene state was presenting problems for several of my use cases).

As long as I have a useable workaround, I am usually at least satisfied. :slight_smile:

Note the use of the "Private Boolean" flag to try to prevent infinite loops--that's the key thing.

I will look into this further. There was a use of the activation device as an indicator that used to work, and possibly it got thrown out by mistake.

1 Like

The Scene activator as indicator problem has been solved, and the fix will be in the next hot fix release.

1 Like

One more thing I noticed in the scenes app was that when I add a new device to a scene, it won't show in the Adjust Scene Settings page for manual edit. (I've hit the refresh device list, update scene buttons many times, and also restarted the hub) Anyone else having that issue?

I will look into it. The way the app works leaves it vulnerable to not knowing about devices added after a Scene was created, but the Refresh Device List is supposed to fix that. Worst case work-around, create a new Scene.

I missed the detail of not seeing it in Adjust Scene page. You first must Re-Capture the Scene. The Adjust Scene page is driven off the captured devices. I just added a new device to my hub, added it to the Scene, and sure enough, it doesn't show up in Adjust Scene. But, once I hit Re-Capture, presto, there it was.

Thank you for the help @bravenel , that worked!

Probably the app should make this clear.

This bug was fixed in latest release:

4 Likes

Can confirm it works as it did on 2.2.8 now! My scene device that is mapped to a scene in Homekit works properly again for a toggle on/off even when some devices get changed manually it stays in sync. I never saw your reply 4 days ago and here I was sitting here thinking it was just being ignored until I saw the .130 release notes earlier today!

2 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.