Set Dimmer Settings Without Light Going On

Is there a way to have a light set that if it’s turned on between Time X and Time Y it will only turn on to let’s say 20% but during Time A and Time B it will turn on to 50% BUT the key is that the lights shouldn’t go on when Time A or Time X comes.

I’ll give an example to explain. I want that the bathroom lights should only turn on to 10% between 12AM and 6AM but if someone turns them on at 7AM it should be 85%. However I don’t want the light to turn on to 10% at 12AM (the reason being that it will stay on until someone turns it off). I only want it to turn on if someone flips the switch.

Any ideas?

  1. use modes and routines - for instance, a routine that automatically triggers night at 12am, another that sets mode to home at 6am, set mode to away at 8am (or on presence triggers if those work reliably for you), set mode to home at 6pm, etc., adjust to fit your modes / routine.
  2. use smart lighting to define what the switch does with multiple child automations. switch A turns on light B and sets level to 10%, run only in night mode. switch A turns on light B and sets level to 85%, run only in home mode. Switch A turns off light B (no mode restriction). Add other automations for any other modes and repeat for each switch you want to work under this sort of conditions.

Do yourself a favor and install webCoRE. You can define all of this in a webCoRE Piston (Rule).

It’s an easy install and a quick learn for the most part. It will be all you need for most of your rules.

Here’s an example with you can import using the import code at the top of the Piston:

Here’s another example of how flexible webCoRE is. No need for special apps for every scenario. Just need to understand the logic of webCoRE and create your own rules:


I installed webcore. Any advice on where to get the basics?

Just think:
If this than that

Must Know:
Triggers are like action verbs…stays, changes, rises, etc.
Conditions are like states…is, changed, was, etc.

You can have as many “If” sections as you like but remember:
Only 1 “trigger” per action…You can have as many conditions as you like.

If you have no triggers, then all conditions act like triggers.

The more you work with it, the better you’ll become.

WebCoRE has it own community as well.

Got it! Sounds very interesting. Thanks!

1 Like

Hi there! Thank you for this sample piston. I tried to copy it and simplify for my usecase however the effect I am getting is that when I turn on any dimmer during the time period it will turn on the rest of the lights if they are not on already. I was wondering if there is a way to make this work only for the dimmer switch that was physically actuated without having to create a separate if/then statement for each dimmer within each mode… Attached is my piston based off of yours. Any advice welcome.


Try using the “$currentEventDevice” variable in the ‘with’ lines. That should be the specific device that triggered the piston to run.

1 Like

You can do it as @orangebucket stated. However, you can easily duplicate blocks by right clicking.

Hi @orangebucket I tried the $current event device variable and still when I turn on a dimmer it will auto turn on any other dimmer that is presently off. Any other ideas?

@rontalley thanks for the suggestion on duplicating, but I have many more dimmers that this would be a tiresome and messy process (and probably would use extra resources to run I would imagine).

Have you tried removing the light and leaving only the current event device on your with block?

Genius! Yes that did the trick, thank you! In my head the two with conditions were linked but seems that adding “light” into it was running in parallel giving the undesired condition.

Very new to webcore but this makes perfect sense now.

Thanks again @MrPancake

1 Like

Hi guys, I just wanted to do this with the lights in my suite, I wanted to know how the final code looks so I can add on the webcore

What exactly do you want to do? If you manually turn on the light, it will turn on to the last level then dim programmatically to the setting you set in the Piston but there will be a short delay. I posted an example above.

This is what I found to be useful in the past.

If motion stays inactive for 30 minutes
If time or mode or whatever is blah blah
Light is off
Then set level to xx
Turn off

This ensures that no one is in the room when the short blimp from the light turning on and right back off bothers anyone. When someone turns on the light manually, it will come on at the right level.

What would you do if you didn’t have a motion sensors?

Technically if the light is off for x amount of time u might be able to assume that no one is there but that isn’t always true (i.e. bedroom, room with TV, etc…)

:eyes::face_with_hand_over_mouth: Motions go everywhere!!! :grinning:

I made this piston
I don’t know if i did right