• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Вывод показаний с датчиков из Home Assistant на дисплей esp32 в esphome. На примере модуля lilygo(ttgo) t-display.

25 апреля, 2022

Этот отличный модуль можно приобрести тут: http://alii.pub/6big0d

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Данный модуль, получился интересным и многофункциональным.

Я решил для примера использовать дисплей. И в ESPHome сделал пример, в котором берутся показания температуры с прогноза погоды Home Assistant и показания температуры с датчика Xiaomi LYWSD03MMC.

Все эти показания выводятся на дисплей. Плюсом к тому-же я вывел заряд батареи и вольтаж ее. Но судя по вольтажу, заряд явно лукавит ( надо будет подправить формулу).

И сделал условие, при котором, если температура с датчика Xiaomi LYWSD03MMC превышает 25 градусов цельсия, то окрасить значение температуры в красный цвет. Изначально температура подсвечивается синим цветом.

Собственно вот как это выглядит, когда температура превышает 25 градусов:

Ну а вот так выглядит собственно код программы ESPHome под модуль lilygo t-display:


spi:
  clk_pin: GPIO18
  mosi_pin: GPIO19


        

sensor:
  - platform: homeassistant
    id: temp_1
    entity_id: sensor.home_assistant_realfeel_temperature

  - platform: homeassistant
    id: temp_2
    entity_id: sensor.ble_temperature_balkon  

  - platform: adc
    pin: 34
    attenuation: 11db
    name: VBatt
    id: vcc
    update_interval: 60s

  - platform: template
    name: batterylevel
    id: batterylevel
    unit_of_measurement: '%'
    update_interval: 60s
    lambda: |-
      // I know infering the battery from voltage only is misleading, but I'll take it. Considering linear decay (again, i'll take it), max=2.23, min=1.38
      return ((id(vcc).state * 118) - 162);   
font:
  - file: "fonts/Roboto-Medium.ttf"
    id: tnr1
    size: 20
  - file: "fonts/Roboto-Medium.ttf"
    id: tnr2
    size: 24
color:
  - id: RED
    red: 100%
    green: 0%
    blue: 0%
  - id: BLUE
    red: 0%
    green: 0%
    blue: 100%
  - id: WHITE
    red: 100%
    green: 100%
    blue: 100%
    
# TODO brightness
display:
  - platform: st7789v
    backlight_pin: GPIO4
    cs_pin: GPIO5
    dc_pin: GPIO16
    reset_pin: GPIO23
    rotation: 90°
    #brightness: 0.5
    update_interval: 5s
    lambda: |-
      if (id(vcc).has_state()) {
        it.printf(4, 4, id(tnr1), WHITE, "%.2f VBat (%.2f %%)", id(vcc).state, id(batterylevel).state);
      }
      it.print(4,  45, id(tnr1), WHITE, TextAlign::LEFT, "Temperature:");  
      it.print(4,  75, id(tnr1), WHITE, TextAlign::LEFT, "Temperature:");
      it.printf(160, 45, id(tnr2), BLUE, "%.1f°C", id(temp_1).state);

      if (id(temp_2).has_state()) {
        float tmp = id(temp_2).state;
        if (tmp > 25.0) {
          it.printf(160, 75, id(tnr2), RED, "%.1f°C", id(temp_2).state);
        } else {
          it.printf(160, 75, id(tnr2), BLUE, "%.1f°C", id(temp_2).state);
        }    
      }

  

Так-же еще нашел вполне себе хороший корпус для данного модуля и распечатал его на 3д принтере. Корпус скачать можно отсюда:

https://www.thingiverse.com/thing:3888492

 

Видео:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·