DS1307 时间源
你首先需要设置 I2C 组件。
# 配置示例time: - platform: ds1307 id: ds1307_time- address (可选,整数):手动指定 RTC 的 I²C 地址。默认为
0x68。 - 基础时间配置 中的所有其他选项。
ds1307.write_time 动作
Section titled “ds1307.write_time 动作”此动作触发将当前系统时间同步到 RTC 硬件。
NOTE
DS1307 组件不会写入 RTC 时钟,除非通过此动作显式触发。
on_...: - ds1307.write_time
# 如果需要指定 DS1307 的 ID - ds1307.write_time: id: ds1307_timeds1307.read_time 动作
Section titled “ds1307.read_time 动作”此动作触发从 RTC 硬件同步当前系统时间。
NOTE
DS1307 组件默认每 15 分钟自动读取 RTC 时钟一次,并在从 RTC 读取有效时间戳时同步
系统时钟。(update_interval 可以更改。)
此动作可用于触发额外的同步。
on_...: - ds1307.read_time
# 如果需要指定 DS1307 的 ID - ds1307.read_time: id: ds1307_time完整配置示例
Section titled “完整配置示例”在典型设置中,你至少会有一个额外的时间源来与 RTC 同步。这种 外部时间源可能并不总是可用的,例如由于网络连接有限。 为了拥有有效、可靠的系统时间,系统应在启动时读取一次 RTC,然后尝试 与外部可靠的时间源同步。 当与另一个时间源的同步成功后,可以重新同步 RTC。
esphome: on_boot: then: # 系统启动时读取一次 RTC 时间 ds1307.read_time:
time: - platform: ds1307 # 除非外部 RTC # 比内部时钟准确得多,否则无需重复同步 update_interval: never - platform: homeassistant # 改为尝试通过网络重复同步…… on_time_sync: then: # ……并在同步成功后更新 RTC ds1307.write_time: