跳转到内容

Sun

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

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

    • elevation (可选, 浮点数): 要穿过的仰角。默认为 -0.833°(地平线,略小于 0° 以补偿大气折射)。
  • on_sunset (可选, 自动化): 当太阳穿过指定角度时, 在日落时执行的自动化。

    • elevation (可选, 浮点数): 要穿过的仰角。默认为 -0.833°(地平线,略小于 0° 以补偿大气折射)。

此外,sun 组件通过传感器平台公开其值。

# 示例配置条目
sensor:
- platform: sun
name: 太阳仰角
type: elevation
- platform: sun
name: 太阳方位角
type: azimuth
  • type (必需, 字符串): 要跟踪的值类型。elevationazimuth 之一。

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

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

# 示例配置条目
text_sensor:
- platform: sun
name: 太阳下一次日出
type: sunrise
- platform: sun
name: 太阳下一次日落
type: sunset
  • type (必需, 字符串): 要跟踪的值类型。sunrisesunset 之一。

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

  • format (可选, 字符串): 用于格式化时间值的格式,请参阅 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_horizonsun.is_below_horizon 条件 允许您检查太阳当前是否在地平线之上或之下。

on_...:
- if:
condition:
- sun.is_above_horizon:
then:
- logger.log: 太阳在地平线之上!