Best approach to automating Daylight Saving time change?

I have an integrated device for which twice a year its time must be adjusted manually to or from Daylight Savings. Hey, why not have Home Assistant automate that! But how to capture the change?

Where I live Standard Time is resumed at 2am on the first Sunday in November. So one approach might be to create an automation with a Trigger based on the time reaching 01:59:59, and a Condition requiring that:

  • the month is November
  • the day-of-week is Sunday, and
  • the day-of-month is between the 1st and the 7th (to hit only the 1st Sunday)

The Action then updates the device to set the time back by one hour, and has a cool-down Delay of 61 minutes, so that the automation isn’t run twice when the time again reaches 01:59:59. Sound right?

OR…

Create an automation that Triggers at 02:00:01 (maybe include a condition to only run on Sundays, but could run everyday), and the Action merely sets the device’s time to the server’s time. That would work too, right?

Any reason to choose one approach over the other?

Thanks.

I like the first one better but don’t know if it’s better.

But you could also have an automation that enables this automation on November 1st.
And in this (your automation, the one you speak of) automation you disable the automation again.
That way it will not trigger every night only at worst one week per year.

Don’t know if that makes any difference in workload, probably not, but if nothing else, peace of mind that it will not find a loophole and run in say, June.

Seems better than baking the time/date of DST into the trigger?

I know this is old, but I use this

  - platform: template
    sensors:
      daylight_savings_time:
        friendly_name: 'Daylight Savings Time'
        value_template: "{{ now().timetuple().tm_isdst == 1 }}"
3 Likes

Thanks, was looking for this. March 26th will I know if it works. It now states ‘false’ LOL (which is correct).