diff --git a/esphome_b4_controller.yaml b/esphome_b4_controller.yaml index c9394da..87a3ead 100644 --- a/esphome_b4_controller.yaml +++ b/esphome_b4_controller.yaml @@ -49,6 +49,15 @@ ads1115: i2c_id: bus_ads address: 0x48 +font: + - file: "gfonts://Roboto" + id: font_small + size: 10 + + - file: "gfonts://Roboto" + id: font_medium + size: 14 + globals: - id: hb1_wet_voltage type: float @@ -309,6 +318,35 @@ sensor: if (p > 100) p = 100; return p; +display: + - platform: ssd1306_i2c + id: b4_display + i2c_id: bus_relay + model: "SSD1306 128x64" + address: 0x3C + update_interval: 2s + lambda: |- + it.printf(0, 0, id(font_small), "Hochbeete"); + if (!isnan(id(b4_moisture_1).state)) + it.printf(0, 16, id(font_medium), "1:%3.0f%%", id(b4_moisture_1).state); + else + it.printf(0, 16, id(font_medium), "1:---"); + + if (!isnan(id(b4_moisture_2).state)) + it.printf(64, 16, id(font_medium), "2:%3.0f%%", id(b4_moisture_2).state); + else + it.printf(64, 16, id(font_medium), "2:---"); + + if (!isnan(id(b4_moisture_3).state)) + it.printf(0, 40, id(font_medium), "3:%3.0f%%", id(b4_moisture_3).state); + else + it.printf(0, 40, id(font_medium), "3:---"); + + if (!isnan(id(b4_moisture_4).state)) + it.printf(64, 40, id(font_medium), "4:%3.0f%%", id(b4_moisture_4).state); + else + it.printf(64, 40, id(font_medium), "4:---"); + uart: - id: uart_rs485 tx_pin: GPIO38