Midnight sun started
The Midnight sun started trigger fires when the midnight sun period begins, the part of the year at high latitudes when the sun stays above the horizon for a full 24 hours and stops setting. Home Assistant calculates this for your home location.
Use it to switch to a bright-season setup for the period ahead. For example, turn on a routine that keeps blackout blinds closed at night, or send yourself a reminder that the sun will not set for a while.
Using this trigger from the user interface
If you prefer building automations visually, Home Assistant walks you through this trigger step by step. You pick what to watch, tweak a few options, and save. No YAML knowledge required.
To use this trigger in an automation:
- Go to Settings > Automations & scenes.
- Open an existing automation, or select Create automation > Create new automation.
- In the When section, select Add trigger.
- From the search box, search for and select Midnight sun started.
- Optionally, set an offset to fire before or after the midnight sun starts:
- Under Offset, enter how far from the start of the midnight sun to fire, such as 1 day.
- Under Offset type, select Before or After.
- Select Save.
Options in the UI
The length of time from the start of the midnight sun when the trigger fires, in days, hours, minutes, and seconds. By default there is no offset, so the trigger fires exactly when the midnight sun starts.
Using this trigger in YAML
If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.
In YAML, refer to this trigger as sun.midnight_sun_started. A basic example looks like this:
trigger: sun.midnight_sun_started
This fires when the midnight sun period starts. To fire a fixed amount of time before or after it starts, add the offset and offset_type options:
trigger: sun.midnight_sun_started
options:
offset:
days: 1
offset_type: before
This fires one day before the midnight sun starts.
Options in YAML
The length of time from the start of the midnight sun when the trigger fires. Accepts a time period mapping in hours, minutes, seconds, and days. Also accepts a duration string in HH:MM:SS format. Combine it with offset_type to fire before or after the midnight sun starts.
Good to know
- This trigger does not use a target. It applies to the sun at your configured home location.
- The midnight sun only happens at high latitudes, roughly above the polar circles. Elsewhere, this trigger never fires.
- The midnight sun starts when the sun’s daily low point, at solar midnight, first stays above the horizon. From then until it ends, Sunrise and Sunset do not fire.
- To react when the midnight sun period is over and the sun sets again, use Midnight sun ended.
Try it yourself
Ready to test this? Go to Settings > Automations & scenes, create a new automation, and add this trigger. Save the automation, then change the state of the targeted entity to watch the trigger fire on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more].
For this trigger, there is no target entity to change. Because the midnight sun happens at most once a year, test the automation by temporarily switching to a trigger you can control while you build the rest of it.
More examples
Real scenarios where this trigger fires in automations and scripts. Copy any example and adapt it to your setup.
You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.
Automation: remind you to prepare for bright nights
When the midnight sun period starts, send a notification so you can get ready for the period without a sunset.
- Trigger: Midnight sun started
-
Action: Send a notification message
-
Target: My Device (
notify.my_device)
-
Target: My Device (
YAML example for a midnight sun reminder
alias: "Notify when the midnight sun starts"
triggers:
- trigger: sun.midnight_sun_started
actions:
- action: notify.send_message
target:
entity_id: notify.my_device
data:
message: >
The midnight sun has started. The sun will not set for a while.
Still stuck?
The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the trigger you’re using and what you expected to happen, or share on our subreddit /r/homeassistant.
AI assistants like ChatGPT or Claude can also explain triggers or suggest the right one when you describe what you want in plain language.
Related triggers
These triggers work well alongside this one:
-
Midnight sun ended: Triggers when the midnight sun period ends and the sun sets again.
-
Polar night started: Triggers when the polar night period starts and the sun stops rising.
-
Sunset: Triggers when the sun sets.