Светодиодный индикатор состояния ESPHome........
Я использовал дисплей Homatic HM-OU-LED16, чтобы показать, какие окна в доме открыты, а также некоторую другую информацию. Это работает уже много лет очень хорошо, выходя из дома, красный светодиод показывает, что я не закрыл окно или что пора вынести мусорное ведро на улицу.
С некоторых пор у меня все больше и больше проблем с неправильными данными, отображаемыми на этом дисплее. Поскольку я не смог решить проблемы, я решил придумать что-то новое.
База:
wo NeoPixel с 8 светодиодами
один узел ESP32 NodeMCU
8 светодиодов с обеих сторон, в середине достаточно места, чтобы на листе бумаги можно было распечатать значение каждого светодиода.
Статус v44:
Модель Fusion 360 полного дисплея
Это части корпуса:
ESP32_Боден:
ESP32 NodeMCU помещается внутри снизу вверх.
можно прикрутить к «FrontHinten»
ESP32_Верх:
Крышку ESP32 можно надеть на ESP 32.
Можно прикрутить снизу к «ESP32_Boden».
Передний совет:
две палочки NeoPixel помещаются в задней части детали.
Я припаял разъемы к палочкам NeoPixel, чтобы их было проще подключить.
ХаубеКомплетт:
Передняя часть корпуса
Для предотвращения загрязнения бумаги используется акриловое стекло толщиной 2 мм.
помещается внутрь (см. «Оргстекло»)
HaubeHinten:
Задняя часть корпуса с 4 винтами
Все детали можно распечатать без полей и подставок.
Я сделал это с МК3
dl-status-anzeige.zip:
YAML-файл для ESPhome
сделано таким образом, что вы можете адресовать каждый отдельный светодиод, установить цвет и яркость
Пример автоматики, которая переключает один светодиод в зависимости от состояния группы окон.
Светодиоды будут адресоваться «my_led_id».
псевдоним: status_led_AZ
описание: Gruppe der Fenster im Arbeitszimmer
триггер:
— платформа: штат
идентификатор_сущности:
-binary_sensor.az_fenster_group
— input_number.dl_status_led_brightness
— платформа: time_pattern
минуты: «0»
— платформа: numeric_state
идентификатор_сущности:
— Sensor.dl_status_anzeige_uptime
ниже: 0,5
состояние: []
действие:
— сервис: esphome.dl_status_anzeige_change_dl_led
данные:
мой_led_id: 15
my_red: "{{ 1 if is_state('binary_sensor.az_fenster_group','on') else 0 }}"
мой_зеленый: 0
мой_синий: 0
my_brightness: "{{ float(states('input_number.dl_status_led_brightness')) }}"
режим: в очереди
макс: 3