PCF85063 Time Source

You first need to set up the I2C component.

# Example configuration entry
time:
  - platform: pcf85063
    id: pcf85063_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.

pcf85063.write_time Action

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

Note

PCFe pcf85063 component will not write the RTC clock if not triggered explicitly by this action.

on_...:
  - pcf85063.write_time

  # in case you need to specify the PCF85063 id
  - pcf85063.write_time:
      id: pcf85063_time

pcf85063.read_time Action

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

Note

The PCF85063 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_...:
  - pcf85063.read_time

  # in case you need to specify the DS1307 id
  - pcf85063.read_time:
      id: pcf85063_time

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
      pcf85063.read_time:

time:
  - platform: pcf85063
    # 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
        pcf85063.write_time:

See Also