There, i solved it. Here is the complete yaml. I should have used the esphome al along. I only needed to update the platform: pcf8563
with the correct i2c id
esphome:
name: m5dial
friendly_name: M5Dial
includes:
- hfiles/m5dial.h
on_boot:
then:
- pcf8563.read_time:
platformio_options:
board_build.flash_mode: dio
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
logger:
level: DEBUG
api:
encryption:
key: !secret m5dial_encryption_key
ota:
- platform: esphome
password: !secret m5dial_ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: !secret m5dial_static_ip
gateway: !secret wifi_gateway
subnet: !secret wifi_subnet
ap:
ssid: "M5Dial Fallback Hotspot"
password: !secret m5dial_ap_password
captive_portal:
web_server:
i2c:
- id: bus_a
sda: GPIO13
scl: GPIO15
scan: False
- id: internal_i2c
sda: GPIO11
scl: GPIO12
switch:
- platform: restart
id: m5_dial_restart_switch
name: "M5 Dial Restart"
rc522_i2c:
- id: nfc_reader
i2c_id: internal_i2c
address: 0x28
output:
- platform: ledc
pin: GPIO3
id: buzzer
- platform: ledc
pin: GPIO9
id: backlight_output
rtttl:
output: buzzer
time:
# RTC
- platform: pcf8563
i2c_id: internal_i2c
id: rtctime
address: 0x51
update_interval: never
- platform: homeassistant
id: esptime
on_time_sync:
then:
- pcf8563.write_time:
binary_sensor:
- platform: gpio
name: Button
id: front_button
pin: GPIO42
- platform: gpio
name: Hold Button
pin: GPIO46
spi:
id: spi_bus
mosi_pin: GPIO5
clk_pin: GPIO6
display:
- platform: ili9xxx
id: round_display
model: GC9A01A
cs_pin: GPIO7
reset_pin: GPIO8
dc_pin: GPIO4
auto_clear_enabled: False
update_interval: never
invert_colors: true
dimensions:
height: 240
width: 240
touchscreen:
- platform: ft5x06
id: touch
i2c_id: internal_i2c
address: 0x38
# interrupt_pin: GPIO14 # not supported by this component
light:
- platform: monochromatic
name: "Backlight"
output: backlight_output
id: display_backlight
default_transition_length: 0s
sensor:
- platform: rotary_encoder
id: encoder
pin_a: GPIO40
pin_b: GPIO41
- platform: bmp280_i2c
i2c_id: bus_a
temperature:
name: "Temperature"
oversampling: 16x
pressure:
name: "Pressure"
address: 0x76
update_interval: 60s
- platform: sht4x
i2c_id: bus_a
temperature:
name: "SHT Temperature"
humidity:
name: "Relative Humidity"
address: 0x44