BM8563 Time Source

You first need to set up the I2C component.

# Example configuration entry
time:
  - platform: bm8563
    id: bm8563_time

Configuration variables

  • address (Optional, int): Manually specify the I²C address of the RTC. Defaults to 0x51.
  • All other options from Base Time Configuration.

bm8563.write_time Action

This Action triggers a synchronization of the current system time to the RTC hardware.

ℹ️ Note

The BM8563 component will not write the RTC clock if not triggered explicitly by this action.

on_...:
  - bm8563.write_time

  # in case you need to specify the BM8563 id
  - bm8563.write_time:
      id: bm8563_time

bm8563.read_time Action

This Action triggers a synchronization of the current system time from the RTC hardware.

ℹ️ Note

The BM8563 component will automatically read the RTC clock every 15 minutes by default and synchronize the system clock when a valid timestamp was read from the RTC. (The update_interval can be changed.) This action can be used to trigger additional synchronizations.

on_...:
  - bm8563.read_time

  # in case you need to specify the BM8563 id
  - bm8563.read_time:
      id: bm8563_time

bm8563.start_timer Action

This Action starts the RTC timer.

on_...:
  - bm8563.start_timer:
      timer_value: 60s

  # in case you need to specify the BM8563 id
  - bm8563.start_timer:
      id: bm8563_time
      timer_value: 60s

Configuration options:

  • timer_value (Required, Time): The time duration for the timer.
  • id (Optional, ID): Manually specify the ID of the BM8563 component if you have multiple components.

Full Configuration Example

In a typical setup, you will have at least one additional time source to synchronize the RTC with. Such an external time source might not always be available e.g. due to a limited network connection. In order to have a valid, reliable system time, the system should read the RTC once at start and then try to synchronize with an external reliable time source. When a synchronization to another time source was successful, the RTC can be resynchronized.

esphome:
  on_boot:
    then:
      # read the RTC time once when the system boots
      bm8563.read_time:

time:
  - platform: bm8563
    # repeated synchronization is not necessary unless the external RTC
    # is much more accurate than the internal clock
    update_interval: never
  - platform: homeassistant
    # instead try to synchronize via network repeatedly ...
    on_time_sync:
      then:
        # ... and update the RTC when the synchronization was successful
        bm8563.write_time:

See Also