⏭ Simple Scene Toggle

Now it’s clear to me why it worked for you and not for me (sorting of the scene names).
The new version is working as expected (unkown scenes are taken into account, the reset after works and the scene toggle loops).

thx for your efforts!!! :slight_smile:

1 Like

Works like a champ! It’s a very nice upgrade for my scene buttons. Thank you for sharing this blueprint.

1 Like

Thanks you - working great!

1 Like

Thank you for this BP!

1 Like

@panhans

I really love your work here, and this is the first solution for me to toggle between scenes easily. So thank you for that.

The only problem I am facing though, Is that I have made scenes for the living room and the bedroom in z2mqtt. The living room is working perfectly, but I cant get the bedroom to work. I have made the scenes scripts etc in the exact same way.

What can I be doing wrong here? I really dont understand.

If I look at the “traces”, It says

Error: Error rendering data template: ValueError: Undefined is not in list

The trace timeline says:

1 Like

Hi, thanks for reporting!

Could you download and share the trace log first?

After that:

Were all scenes activated at least once? If not activate them and try again. But the trace log would be helpfull for me. :wink:

Don’t know if this works. If yes, I have to check this because I thought I had fixed this bug already.

I had this problem, too. Interestingly, only with static order mode = true and timeout = 0.

I debugged this a little and all scenes had an “Unknown” last activation date.

What I did to fix this: Disable the static order mode, run script once → works
Reactivate static order mode → works now.

I can deliver the trace if needed… but glancing over the code… if all scenes are Unknown, wouldn’t

scenes_sorted_by_activation

be empty and thus

{% set last_activated_scene = scenes_sorted_by_activation[0] %}

would be out of bounds?

1 Like

Thanks for your investigation. The static order and unknown scenes was the hint I’ve needed. I revised the logic a little bit so the bug is fixed now.

1 Like

@panhans want to switch to the hue dimmer v2 and now i have a dadicatet hue button to use.

When i disable static order, the order is based on timestamps of last activation.
I have noticed it sometimes changes order (depending on what scene was last used).
But you can’t expect the same order.

Example scenes:

  • Bright
  • Dimmed
  • Night

When i disable static order and run the script on the hue button, sometimes the order is upwards (Night → Dimmed → Bright) and sometimes downwards (Bright → Dimmed → Night).

Nice would be an hybrid of the two modes like “Static Smart” or so.

What i expect would be:

  • Scene is turned by IR/radar sensor, HA app or dimmer and selects a scene (time depended) → timestamp of last selection of the scene is stored by HA
  • Someone uses the dimmer which call scene toggle script
  • scene toggle determines which was the last active scene based on timestamp and activates the next scene in the static order (with overlfow at the end to the first one)

This way, the scene selection would be really smart, it depends on the last selected scene and has an fixed order.

Example 1 (configuration order is like aboce):

  • Dimmed ← selected by APP
  • User presses HUE button (scene toggle runs)
  • → Night is selected

Example 2 (configuration order is like aboce):

  • Bright ← selected by APP
  • User presses HUE button (scene toggle runs)
  • → Dimmed is selected

… and so on…

Hope this makes sense :slight_smile:
Please let me know your thoughts.

thx

1 Like

More or less a noob here.

I have 3 scenes set up to toggle through. I’m trying to map the script (entity as I understand) to a dashboard tile or button.
No matter what I try, when it does work* it pops up a window with a Run button (which works great!)… how do I get it to just run when I click the “button”.
Feel silly asking, but I have spent an embarrassingly long time trying to figure this out haha -tia

You need to set a tap action. The action type is call-service and the service/action is the script entity.

tap_action:
  action: call-service
  service: script.YOUr_SCRIPT

Hi,
First of all, great job on this script! Really like the code.

Now let me explain my current need, searched this topic for same question, but was not able to find any similar question.

Im using your script to toggle through the exisiting scenes I have in our rooms at home. It works pretty well, but unfortunately the last state (last scene used) is not stored in HA. Hence, when turning the light of and after a while activating the light again, it activates another scene. I was expecting, that same scene should activate, but it does not.

Fyi, I’m using SWITCH MANAGER from the HACS and a Hue dimmer v2. Set up the Hue Switch inside the manager that in case of initially pressing the ON button, it will turn the light on - it uses the action: light.turn_on function. Maybe that is causing my issues?
Thank you so much

Hello, I have managed to integrate this. Thank you for your efforts.

Unfortunately, I am not yet completely satisfied. I would still like to manage the following.

I have 3 scenes for the light and switch them through with the Ikea On/Off switch. When I get to the end, it starts again from the beginning. Great.

BUT

When I press Off. it switches the lamp off, but then it continues from the old position the next time. It should always start again from the beginning.

And I would like to change the color after switching off. I would like to set it when it is switched off, so to speak. Because it starts again from the old color when it is switched on and then there is such an irritating color change. What do you think?

Oh this sounds tricky. I have to think about if and how this could be implemented.

This is possible if you activate the static order and set a reset time. If not using the static order the first scene to activate is always the last one which was activated.

What color do you mean? I could implement a custom action and condition after a scene switch. So you can set there whatever you want.

Hi panhans, thank you for your great work!

Did you follow up on the off-scene idea? I would like to have a scene that would reset the order back to scene 1. For wife approval I am required to have two separate buttons (KNX switch): one to turn on/cycle through scenes and another to turn off all lights or turn on night scene (very dimmed lights to not hurt your eyes when turned on). my typical order would be button1= scene 1-3, button2= scene 0 (everything off), scene 4 (night light).

I wonder how others deal with this, do you cycle through all of your scenes until “scene off” is activated? What am I missing here?!

Thanks and regards,
Dave

Hello,

sorry if it was already written here, I don’t have time to read through the whole thread at the moment (holidays and stuff).

I really like your script, but I have one problem. I want to use the same button to turn off the lights too. It would be all possible if there was an option in the script settings where I could set the scene it should reset to (but for that scene not to be forced to be the first scene in the script)

I have it set to reset after 5 seconds, but it resets to first scene that is set.

The problem is that I would need to have the first scene set as everything off.

If I do that, when I press the button for the first time nothing happens (it runs the first scene which is everything off) and then it starts cycling though the whole cycle of scenes. It makes the user feel like the button is not working.

I would love to use this script but sadly this is the issue.

If there was an option to set which scene to reset to, it would be amazing. (like, reset to number 4 scene in the script)

That way I could use the button as a scene selection (if I press it in the first 5 seconds multiple times) and if I keep the switch unpressed for more than 5 seconds, on next button pres it will change the next scene to the “Everything off” scene.)

Hi,

thank you very much for the blueprint. I am new to home assistant and I really like your blueprint.
I used your blueprint for a few hours and it worked very well. After I updated my Ikea Styrbar as well as home assistant, I am no longer able to use it properly.
I want to toggle philipps hue scenes and I want the script to run as soon as I klick the left button on my Styrbar.
How I integrated the script:

  1. add action (in German: Aktion Hinzufügen)
  2. Automation
  3. select entity → here i manually type: script.scene_toggle. When the script was still working properly, I could select scene_toggle in the dropdown menu.

that is the error I get:

  • Referenced entities automation.taster_arrow_left_chinatown are missing or not currently available
  • Referenced entities script.scene_toggle are missing or not currently available

I would be very happy if someone can help me.

This script here still works. Most likely you are facing issues with your ikea Syrbar blueprint which uses the old, now deleted actions. There is a chap who rebuild the blueprints for the new mqtt-triggers, use them from here: GitHub - yarafie/HA-BluePrints: Home Assistant Blueprints I use

2 Likes