跳转到内容

太阳

sun 组件允许你跟踪天空中太阳的位置。计算每 60 秒进行一次。

# 示例配置条目
sun:
latitude: 48.8584°
longitude: 2.2945°
# 至少需要一个时间源
time:
- platform: homeassistant
  • latitude (必选, float): 用于计算的纬度。
  • longitude (必选, float): 用于计算的经度。
  • id (可选, ID): 手动指定用于代码生成的 ID。
# 示例配置条目
sun:
latitude: 48.8584°
longitude: 2.2945°
on_sunrise:
- then:
- logger.log: Good morning!
# 自定义高度角,将在上面的触发器之后不久被调用。
- elevation: 5°
then:
- logger.log: Good morning 2!
on_sunset:
- then:
- logger.log: Good evening!
  • on_sunrise (可选, Automation): 日出时执行的自动化,此时太阳穿过指定角度。

    • elevation (可选, float): 要穿过的高度角。默认为 -0.833°(地平线,略低于 0° 以补偿大气折射)。
  • on_sunset (可选, Automation): 日落时执行的自动化,此时太阳穿过指定角度。

    • elevation (可选, float): 要穿过的高度角。默认为 -0.833°(地平线,略低于 0° 以补偿大气折射)。

此外,太阳组件还通过传感器平台暴露其值。

# 示例配置条目
sensor:
- platform: sun
name: Sun Elevation
type: elevation
- platform: sun
name: Sun Azimuth
type: azimuth
  • type (必选, string): 要跟踪的值类型。可选 elevation 和 azimuth。

  • 其他所有选项来自 Sensor。

其他属性,如下一次日落时间,可以通过 sun text_sensor 平台读取。

# 示例配置条目
text_sensor:
- platform: sun
name: Sun Next Sunrise
type: sunrise
- platform: sun
name: Sun Next Sunset
type: sunset
  • type (必选, string): 要跟踪的值类型。可选 sunrise 和 sunset。

  • elevation (可选, float): 用于计算下一次日出/日落事件的高度角。默认为 -0.833°(地平线,略低于 0° 以补偿大气折射)。

  • format (可选, string): 用于格式化时间值的格式,更多信息见 strftime。默认为 %X。

  • 其他所有选项来自 Text Sensor。

sun.is_above_horizon / sun.is_below_horizon 条件

Section titled “sun.is_above_horizon / sun.is_below_horizon 条件”

sun.is_above_horizon 和 sun.is_below_horizon 条件 允许你检查太阳当前是否在地平线上方或下方。

on_...:
- if:
condition:
- sun.is_above_horizon:
then:
- logger.log: Sun is above horizon!