📆 Simple Safe Scheduler: automation scheduling with a blueprint! With execution check and retry in case of a disruptive event (e.g. HA restart)

This user has been inactive for some time, the blueprint below is still available, but please be advised it may no longer work.

Original Post

This blueprint is part of the Awesome HA Blueprints project.
Read more about it on the related Community Forum topic. :rocket:

Updates will be published on the project’s GitHub repository.

:arrow_down: Get Started

Option 1: My Home Assistant

Click the badge to import this Blueprint (needs Home Assistant Core 2021.3 or higher)

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Option 2: Direct Link

Copy this link if you want to import the blueprint in your installation.

:link: Blueprint URL

:page_facing_up: Description

Scheduling a periodic action in Home Assistant might be trickier than what it looks at first glance. Not only the available automation triggers are limited to only time-based schedules (requiring the user to either use template triggers or install additional integrations for more complex scheduling options), but they also do not guarantee that the automation is executed at the provided time.

As an example, let’s assume automation A is scheduled to run at 12:00. If the Home Assistant server goes down at 11:59 due to a disruptive event (e.g. power outage, planned maintenance, hardware failure etc.) and comes back up at 12:01, the A automation run scheduled for 12:00 would simply be skipped, without any warning to the user.

The Simple Safe Scheduler blueprint tries to mitigate scheduling limitations in Home Assistant by providing an easy interface to configure periodic actions, with built-in safety checks to ensure the action actually runs even in case of a disruptive event.

The configured automation acts as a simple scheduler, allowing to flexibly program any kind of action based on the following parameters:

  • Time of the day (dynamically provided as an input_datetime entity);
  • Day of the week (multiple days can be selected);
  • Week frequency (allowing to schedule the action to run i.e. every 2 weeks).

In addition, the blueprint implements useful checks to make sure that, in case of a disruptive event (e.g power outage, Home Assistant server outage etc.) happening at the scheduled automation run time, the action is executed as soon as the system restores its state. These checks can be configured to be performed both when Home Assistant boots up and when a custom event is fired (e.g. from another automation or integration). Such safety checks might be particularly important for critical automations, which need to run as close as possible to the scheduled time (e.g. watering plants, configuring an alarm system, etc.).

:closed_book: Full Documentation

Full documentation regarding requirements, inputs and more is available here.

Docs provide all the information you need to properly configure this blueprint on your instance.

:information_source: Changelog

Updated list of changes and improvements is available here.

Happy automating to everyone! :fire:

1 Like

I tried this and it worked well.
very easy to set up thanks for the detailed info.

In case I wanna have a switch to turn on and off, does this mean I will need to use 2 automations (one for each state)?

Will I need to have 2x Helper - Storage entities, one for each automation?

My idea is to have a switch to turn on and off based on this schematics below:

Turn ON every Weekday, at 09:00.
Turn OFF everyday, at 17:00. (This is to make sure in case someone manually turn on the switch, so everyday it NEEDS to make sure it’s off at 17:00).