跳转到内容

BM8563 时间源

你首先需要设置 I2C 组件。

# 配置示例
time:
- platform: bm8563
id: bm8563_time
  • address (可选,整数):手动指定 RTC 的 I²C 地址。默认为 0x51。
  • 基础时间配置 中的所有其他选项。

此动作触发将当前系统时间同步到 RTC 硬件。

NOTE

BM8563 组件不会写入 RTC 时钟,除非通过此动作显式触发。

on_...:
- bm8563.write_time
# 如果需要指定 BM8563 的 ID
- bm8563.write_time:
id: bm8563_time

此动作触发从 RTC 硬件同步当前系统时间。

NOTE

BM8563 组件默认每 15 分钟自动读取 RTC 时钟一次,并在从 RTC 读取有效时间戳时同步 系统时钟。(update_interval 可以更改。) 此动作可用于触发额外的同步。

on_...:
- bm8563.read_time
# 如果需要指定 BM8563 的 ID
- bm8563.read_time:
id: bm8563_time

此动作启动 RTC 定时器。

on_...:
- bm8563.start_timer:
duration: 60s
# 如果需要指定 BM8563 的 ID
- bm8563.start_timer:
id: bm8563_time
duration: 60s

配置选项:

  • duration (必填,Time,可模板化):定时器的时间持续时间。
  • id (可选,ID):如果你有多个组件,可以手动指定 BM8563 组件的 ID。

在典型设置中,你至少会有一个额外的时间源来与 RTC 同步。这种 外部时间源可能并不总是可用的,例如由于网络连接有限。 为了拥有有效、可靠的系统时间,系统应在启动时读取一次 RTC,然后尝试 与外部可靠的时间源同步。 当与另一个时间源的同步成功后,可以重新同步 RTC。

esphome:
on_boot:
then:
# 系统启动时读取一次 RTC 时间
bm8563.read_time:
time:
- platform: bm8563
# 除非外部 RTC
# 比内部时钟准确得多,否则无需重复同步
update_interval: never
- platform: homeassistant
# 改为尝试通过网络重复同步……
on_time_sync:
then:
# ……并在同步成功后更新 RTC
bm8563.write_time: