Pause automation for one day

I have an automation set up that opens my blinds every weekday morning at a specific time. I would like to add a simple button to turn off the automation for 1 day only (or possibly configurable number of days). If I have a day off during the week or a holiday, I don’t want the blinds to open. But I don’t want to forget to reenable them for the next day. Very similar function to the iPhone alarm where you can change an alarm for the next day only.

One possibility is to create a timer helper and start time timer when you want to disable the automtion. In the automtion you can check to see if the timer is running.

A other option is to set a date/time input helper to the time when you want operation to resume. In the automation check if the current date/time is before the input helper.

I would first create a toggle helper and add it as a condition to the automation which controls the blinds. If toggle is off, no automation, else it continues as usual.

Then, another automation that would be triggered once a day at a specific time, and would re-enable the toggle switch back on. This then depends on your use case. If you want to enable it after 24h from turning it off, you can check the state delta from now and react is more than 24h.

1 Like

Sounds like the perfect job for the Workday Integration binary sensor.

You can set your automation with a condition which checks if the Workday sensor is on. If not, your automation will not run.

Note that for days off, you will need to add these using Add Holidays using the Configure option after install.

The good thing about it is that it will accept a range of days, so if you’re off for the rest of the week, you’d just add 2025-04-24,2025-04-26 as a single entry, meaning you don’t have to remember to press the button every night this week.

The bad part is that it’s obviously a manual process (much like input datetime) and that you’d have to do some kind of monthly/yearly cleanup to remove past manual holidays.

1 Like

You could use a helper number.

At the start of the automation, check if the number is greater than zero. If so, decrement it and stop.

Obviously this only works for an automation with a consistent trigger, not one that runs on-demand.

This is what I thought of too.
But to add another automation to count down at midnight.
This makes it consistent even if the blind automation isn’t

1 Like

Duh, you’re right.

This also would be a generic “I’m at home” data source for all kinds of automations. A second counter for “I’m away (on a trip)” could be counted down by the same automation. Although at that point, I’d put some binary helpers on top to make writing automations easier.

Oops, sorry, got carried away planing a sophisticated calendar system that hostestly should be part of HA…

How would/could you enter the number directly from a card? Right now, I have something like tilz0R with just a toggle on my home page.

When you press the button, do want to disable the automation for 1 day starting immediately (i.e. today) or have it disabled for 1 day starting tomorrow?

“Enter”? As in “type in”? Or are +/- buttons ok?

This is a helper of type “counter” and a “Tile Card” with the “Feature” “Counter actions” enabled.

type: tile
entity: counter.delme
features_position: bottom
vertical: true
features:
  - type: counter-actions
    actions:
      - decrement
      - reset
      - increment

The nice thing about using a counter is that it has nice actions for automations:

The “And If” condition isn’t quite as nice, but that’s more a fault of the Numeric State condition being a bit on the “What the…” side, UI-wise.


PS: Taras brought up a good point. If you want the “pause mode” to not start the moment you enter the number of days but at next midnight, that’s simple, too. Instead of checking the days left on the counter, you have a binary helper “paused” and only update that at midnight before decrementing the counter.

Doing this probably is a good idea. Otherwise, entering “1” would start the moment you enter it and end at midnight, not pausing the next day but only the remainder of the current one.

So your automation would look like this:

  • Trigger: Every day at 00:00
  • Actions:
    • If counter <= 0:
      • Set “Paused” to off
    • Else:
      • Set “Paused” to on
      • Decrement counter

In all the automations that are pausable, you add an “And If” that checks that “Paused” helper. (“And If Paused is not on”)