From 960a23e45c601b2787bcbd3d81612baa5fcb8ceb Mon Sep 17 00:00:00 2001 From: void Date: Wed, 19 Mar 2025 14:33:37 +0000 Subject: [PATCH] Upload files to "clock.yaml" smartgeek clock non pro esp8266 variant ali express clone --- clock.yaml/clock.yaml | 113 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 clock.yaml/clock.yaml diff --git a/clock.yaml/clock.yaml b/clock.yaml/clock.yaml new file mode 100644 index 0000000..7e70a1e --- /dev/null +++ b/clock.yaml/clock.yaml @@ -0,0 +1,113 @@ +esphome: + name: mini-display-tv--yellow + friendly_name: Mini Display TV - Yellow + +esp8266: + board: esp01_1m + +external_components: + - source: + type: git + url: https://github.com/rletendu/esphome.git + ref: st7789_nobuffer_202312 + components: [st7789v] + +logger: + +api: + +ota: + platform: esphome + +wifi: + ssid: "DNTD" + password: "wifipassword" + ap: + ssid: "Mini-Display-Tv--Yellow" + password: "wifipassword" + +spi: + clk_pin: GPIO14 + mosi_pin: GPIO13 + interface: hardware + id: spihwd + +output: + - platform: esp8266_pwm + pin: GPIO05 + frequency: 1000 Hz + id: pwm_output + inverted: true + +light: + - platform: monochromatic + name: "Backlight" + output: pwm_output + id: backlight + restore_mode: RESTORE_AND_ON + +font: + - file: "gfonts://Oxanium" + id: roboto + size: 74 + + - file: "gfonts://Oxanium" + id: roboto_small + size: 24 + + - file: "gfonts://Oxanium" + id: roboto_medium + size: 44 + + - file: "gfonts://Oxanium" + id: roboto_am_pm + size: 22 + +color: + - id: color_white + red: 100% + green: 100% + blue: 100% + - id: color_green + red: 0% + green: 100% + blue: 0% + +time: + - platform: homeassistant + id: esptime + +switch: + - platform: homeassistant + id: air_purifier_outlet1 + entity_id: switch.air_purifier_outlet1 + +display: + - platform: st7789v + model: "Custom" + spi_id: spihwd + height: 240 + width: 240 + offset_height: 0 + offset_width: 0 + dc_pin: GPIO00 + reset_pin: GPIO02 + eightbitcolor: true + update_interval: 5s + id: disp + spi_mode: mode3 + lambda: |- + Color text_color = id(color_white); + if (id(air_purifier_outlet1).state) { + text_color = id(color_green); + } + it.strftime(0, 60, id(roboto), text_color, TextAlign::BASELINE_LEFT, "%l:%M", id(esptime).now()); + it.strftime(220, 50, id(roboto_am_pm), text_color, TextAlign::BASELINE_RIGHT, "%p", id(esptime).now()); + it.strftime(0, 110, id(roboto_medium), text_color, TextAlign::BASELINE, "%m/%d/%Y", id(esptime).now()); + + + if (id(air_purifier_outlet1).state) { + it.printf(0, 230, id(roboto_small), text_color, TextAlign::BASELINE_LEFT, "Party mode: ON"); + } else { + it.printf(0, 230, id(roboto_small), text_color, TextAlign::BASELINE_LEFT, "No fun allowed"); + }