.. seo:: :description: Instructions for setting up tracking the sun position in ESPHome. :image: weather-sunny.svg
The sun
component allows you to track the sun's position in the sky. Calculations are done every 60 seconds.
# Example configuration entry
sun:
latitude: 48.8584°
longitude: 2.2945°
# At least one time source is required
time:
- platform: homeassistant
- latitude (Required, float): The latitude for performing the calculation.
- longitude (Required, float): The longitude for performing the calculation.
- id (Optional, :ref:`config-id`): Manually specify the ID used for code generation.
Automation:
# Example configuration entry
sun:
latitude: 48.8584°
longitude: 2.2945°
on_sunrise:
- then:
- logger.log: Good morning!
# Custom elevation, will be called shortly after the trigger above.
- elevation: 5°
then:
- logger.log: Good morning 2!
on_sunset:
- then:
- logger.log: Good evening!
- on_sunrise (Optional, :ref:`Automation <automation>`): An automation to perform at sunrise
when the sun crosses a specified angle.
- elevation (Optional, float): The elevation to cross. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).
- on_sunset (Optional, :ref:`Automation <automation>`): An automation to perform at sunset
when the sun crosses a specified angle.
- elevation (Optional, float): The elevation to cross. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).
Additionally, the sun component exposes its values over a sensor platform.
# Example configuration entry
sensor:
- platform: sun
name: Sun Elevation
type: elevation
- platform: sun
name: Sun Azimuth
type: azimuth
Configuration variables:
- type (Required, string): The type of value to track. One of
elevation
andazimuth
. - All other options from :ref:`Sensor <config-sensor>`.
Other properties like the next sunset time can be read out with the sun text_sensor platform.
# Example configuration entry
text_sensor:
- platform: sun
name: Sun Next Sunrise
type: sunrise
- platform: sun
name: Sun Next Sunset
type: sunset
Configuration variables:
- type (Required, string): The type of value to track. One of
sunrise
andsunset
. - elevation (Optional, float): The elevation to calculate the next sunrise/sunset event for. Defaults to -0.833° (the horizon, slightly less than 0° to compensate for atmospheric refraction).
- format (Optional, string): The format to format the time value with, see :ref:`strftime`
for more information. Defaults to
%X
. - All other options from :ref:`Text Sensor <config-text_sensor>`.
The sun.is_above_horizon
and sun.is_below_horizon
:ref:`conditions <config-condition>`
allow you to check if the sun is currently above or below the horizon.
on_...:
- if:
condition:
- sun.is_above_horizon:
then:
- logger.log: Sun is above horizon!