Перейти к содержанию

Интеграция ESPHome-TRMNL с Home Assistant

img

Описание

Кастомная интеграция esphome_trmnl обеспечивает двустороннюю связь между Home Assistant и E-Ink дисплеем на ESPHome. Она позволяет:

  • Получать телеметрию с дисплея (напряжение батареи, уровень заряда, уровень Wi-Fi сигнала)
  • Блокировать обновление экрана
  • Изменять интервал обновления
  • Переопределять URL изображения для показа произвольного контента

Поддерживаемые устройства

Дисплеи работающее под управлением прошивки ESPHome-TRMNL v2.0.0+.

Установка

Этот метод позволяет получать обновления непосредственно на главной странице "HACS". Если "HACS" еще не установлен, загрузите его, следуя инструкциям на странице hacs.xyz/docs/setup/download/

  • В HACS перейдите в меню в правом верхнем углу, затем выберите «Пользовательские репозитории»
  • Затем добавьте репозиторий https://github.com/kfattum/esphome-trmnl и выберите «Интеграция». После этого нажмите «Добавить».
  • После добавления нажмите кнопку «Отмена» рядом с кнопкой «Добавить».
  • Скачайте интеграцию нажав на кнопку Open your  Home Assistant instance and open a repository inside the  Home Assistant Community Store. или найдите ESPHome-TRMNL в поиске
  • Перезапустите "Home Assistant", чтобы система распознала новые файлы.
  • Добавьте интеграцию в HA нажав на кнопку Open your Home Assistant instance and start setting up a new integration. или перейдите в Настройки -> Устройства и службы -> Добавить интеграцию, найдите "ESPHome-TRMNL" -> Добавить
  • Когда вы включите экран, он должен автоматически появиться в интеграции "ESPHome-TRMNL"

Этот метод требует ручного копирования файлов и самостоятельного отслеживания обновлений.

  1. Скачайте архив esphome_trmnl_custom_integration.zip
  2. Распакуйте загруженный архив на вашем компьютере.
  3. Найдите внутри папку "custom_components/esphome_trmnl" и скопируйте папку "esphome_trmnl" в директорию "custom_components" вашей конфигурации "Home Assistant".
  4. Перезапустите "Home Assistant", чтобы система распознала новые файлы.
  5. Перейдите в Настройки -> Устройства и службы -> Добавить интеграцию, найдите "ESPHome-TRMNL" -> Добавить
  6. Когда вы включите экран, он должен автоматически появиться в интеграции "ESPHome-TRMNL"

Сущности интеграции

Каждый дисплей создаёт набор сущностей.

Сенсоры

Сущность Описание
sensor Battery Voltage Напряжение батареи (В)
sensor Battery Level Уровень заряда (%)
sensor Wi-Fi Signal Уровень Wi-Fi сигнала (%)
sensor Last Update Время последнего ответа от дисплея

Управление

Тип Название Описание
switch Block display refresh Блокирует обновление экрана (ON — экран не обновляется)
number Sleep Time Интервал между обновлениями в секундах ( 0 = интервал из inker. шаг 60, макс 9 999 999)
text Image URL http ссылка на PNG-изображение с разрешением 800x480 для показа на экране ( например http://192.168.1.100:8124/api/device-images/design/2 отобразит 2 экран inker). Если поле пустое — дисплей показывает контент из Inker

Примечание: сущности на стороне ESP (Inker Server URL, HA Server URL, Language) управляются через веб-интерфейс ESP32. Они не являются частью данной интеграции.

Сброс значений управляющих сущностей

Зажмите кнопку на корпусе дольше 5 секунд в режиме глубокого сна — это сбросит Image URL, Sleep Time и Block display refresh до значений по умолчанию.

Пример автоматизации

Этот пример демонстрирует, как динамически управлять E-Ink дисплеем в течение суток: переключать выводимый контент в вечернее время и переводить устройство в режим глубокого энергосбережения на ночь.

Сценарий работы автоматизации

  1. Вечер (20:00): На дисплей отправляется команда смены изображения (экрана inker) через сущность text. На экран выводится вечерний шаблон (например, уютный дашборд или часы).
  2. Полночь (00:00): Дисплей переводится в ночной режим для экономии батареи:
  3. Интервал обновления (number) увеличивается до 17800 секунд (~5 часов).
  4. Включается режим блокировки обновлений (switch), переводя устройство в сон.
  5. Очищается URL. Теперь, когда экран проснется, будет отображаться плейлист inker.

  6. Утро (05:30): Дисплей просыпается:

  7. Время сна сбрасывается в 0 (возврат к стандартному интервалу опроса).
  8. Блокировка обновлений выключается, дисплей снова актуализирует данные на экране.
Код автоматизации (YAML)

Вы можете скопировать этот код в текстовый режим редактора автоматизаций Home Assistant:

alias: "ESPHome-TRMNL: Управление экраном в течение суток"
description: "Автоматическое переключение экранов и глубокий сон ночью"
triggers:
  - trigger: time
    at: "20:00:00"
    id: вечер
  - trigger: time
    at: "00:00:00"
    id: полночь
  - trigger: time
    at: "05:30:00"
    id: утро
conditions: []
actions:
  - choose:
      # ВЕЧЕРНИЙ РЕЖИМ
      - conditions:
          - condition: trigger
            id:
              - вечер
        sequence:
          - action: text.set_value
            target:
              device_id: ad5052c25da850ff28860ef907f3367e
            data:
              value: http://192.168.1.100:8124/api/device-images/design/2
            note: "Установка вечернего макета экрана"

      # НОЧНОЙ РЕЖИМ (ЭНЕРГОСБЕРЕЖЕНИЕ)
      - conditions:
          - condition: trigger
            id:
              - полночь
        sequence:
          - action: number.set_value
            target:
              area_id: prikhozhaia
            data:
              value: "17800"
            note: "Увеличиваем интервал сна до утра"
          - action: switch.turn_on
            target:
              area_id: prikhozhaia
            note: "Включаем блокировку обновлений (глубокий сон)"
          - action: text.set_value
            target:
              device_id: ad5052c25da850ff28860ef907f3367e
            data: {}
            note: "Сброс кастомного URL"

      # УТРЕННЕЕ ПРОБУЖДЕНИЕ
      - conditions:
          - condition: trigger
            id:
              - утро
        sequence:
          - action: number.set_value
            target:
              area_id: prikhozhaia
            data:
              value: "0"
            note: "Сброс интервала сна на стандартный"
          - action: switch.turn_off
            target:
              area_id: prikhozhaia
            note: "Отключение блокировки, запуск обновлений"
mode: single

Поиск неисправностей

Дисплей не появляется в интеграции

  1. Убедитесь, что дисплей включён и подключён к нужной сети Wi-Fi
  2. Проверьте, что дисплей имеет доступ к Home Assistant (настроен HA URL в веб-интерфейсе ESP)

    Изменение URL адреса "HA" и "Inker"

    Стандартные URL адреса "HA" ( http://homeassistant.local:8123 ) и "Inker" ( http://homeassistant.local:8124 ) можно изменить в web-интерфейсе ESP32 (стандартный логин и пароль от web-интерфейса "esphome-trmnl"). Нажмите кнопку чтобы разбудить плату, через секунду зажмите кнопку на 5 секунд чтобы прейти в режим настроек. Если плата подключена к wifi то отобразится qr-код со ссылкой на web-интерфейс, а если не подключена то qr-код со ссылкой на captive portal

  3. Проверьте логи дисплея через web.esphome.io (подключите ESP по USB)

На экране надпись ERROR

  • Дисплей не может подключиться к Wi-Fi или Inker
  • Убедитесь, что вы не используете https
  • Проверьте логи дисплея через web.esphome.io (подключите ESP по USB)