substitutions: device: m5paper name: M5Paper comment: "DEV | m5paper" esphome: name: mcu-${device} comment: ${comment} esp32: board: m5stack-core2 framework: # type: arduino type: esp-idf psram: external_components: # - source: github://pr#4027 # refresh: 0s # components: # # - bm8563 # - gt911 # - it8951e # - m5paper # - spi - source: type: git url: https://github.com/Passific/m5paper_esphome ref: main components: - bm8563 - gt911 - it8951e - m5paper - spi # external_components: # - source: components packages: common: !include common/common.yaml time: - platform: homeassistant id: ha_time timezone: Europe/Bratislava on_time_sync: - bm8563.write_time - platform: bm8563 id: rtc_time sleep_duration: 3600000ms m5paper: battery_power_pin: GPIO5 main_power_pin: GPIO2 update_interval: 10s battery_voltage: name: "${name} Battery" # 0x44 SHT30 # 0x50 # 0x51 # 0x5D GT911 i2c: - id: i2c_main sda: 21 scl: 22 scan: true #false # - id: i2c_a # sda: 25 # scl: 32 # scan: true #false # - id: i2c_b # sda: 26 # scl: 33 # scan: true #false # - id: i2c_c # sda: 18 # scl: 19 # scan: true #false spi: clk_pin: 14 miso_pin: 13 mosi_pin: 12 binary_sensor: - platform: gpio name: ${name} Button UP id: button_up pin: number: 37 inverted: true on_press: - component.update: m5paper_display on_release: - component.update: m5paper_display - platform: gpio name: ${name} Button Press id: button_press pin: number: 38 inverted: true - platform: gpio name: ${name} Button Down id: button_down pin: number: 39 inverted: true - platform: touchscreen name: ${name} Top Left Touch Button id: top_left_touch_button touchscreen_id: gt911_touchscreen internal: true x_min: 0 x_max: 100 y_min: 0 y_max: 100 on_press: # Example of applying the sleep duration and shutting down to the lowest power mode - bm8563.apply_sleep_duration - delay: 1s - m5paper.shutdown_main_power font: - file: "gfonts://Roboto" id: font_default size: 20 - file: "gfonts://Roboto" id: roboto_32 size: 32 - file: "gfonts://Roboto" id: roboto_24 size: 24 - file: "gfonts://Roboto" id: roboto_12 size: 12 display: - platform: it8951e id: m5paper_display display_cs_pin: GPIO15 reset_pin: GPIO23 busy_pin: GPIO27 rotation: 90 reversed: False update_interval: "never" lambda: |- it.printf(25, 25, id(roboto_32), "%.1f°", id(current_temperature).state); it.strftime(350, 25, id(roboto_32), "%H:%M:%S", id(rtc_time).now()); touchscreen: - platform: gt911 display: m5paper_display id: gt911_touchscreen interrupt_pin: GPIO36 # display: # - platform: waveshare_epaper # cs_pin: 15 # model: 2.90in # full_update_every: 30 # lambda: |- # it.print(0, 0, id(font1), "Hello World!"); sensor: - platform: sht3xd temperature: name: "${name} Temperature" id: current_temperature humidity: name: "${name} Humidity" address: 0x44 update_interval: 60s # touchscreen: # - platform: gt911 # interrupt_pin: 36