ESPHome публикуем в mqtt состояния 1/0 вместо ON/OFF

Некоторые системы работают с состояниями 1/0. например MajorDoMo, хотя там и можно переводить ON/OFF в логические 1 и 0 возникает необходимость в ESPHome публиковать 1 и 0, например я как то раз перепрошивал 12 контроллеров ESP8266 c прошивки WiFi-IoT на ESPHome, контроллеры были уже привязаны к системе Majordomo и не хотелось бы ещё ползти в систему и вносить столько правок, по этому я решил сделать чтобы контроллер с прошивкой ESPHome сразу публиковал в нужном формате.

в папку с проектом надо поместить файл homekit_switch.h

В файле прошивки необходимо подключить наш файл

esphome:
  includes:
  - homekit_switch.h

и дальше вставить следующий код по количеству каналов

custom_component:
  - lambda: |-
         auto my_component = new mqtt::HomeKitSwitchComponent(ID_RELAY);
         App.register_component(my_component);
         my_component->set_custom_state_topic($name/l1);
         my_component->set_custom_command_topic($name/set/l1);
         return {my_component};

ID_RELAY — заменить на id канала реле

$name это переменная записанная в

substitutions:
  name: tuya01

теперь публиковать состояния в mqtt будет не ON/OFF, а 1/0

Взято отсюда

ESPHome публикуем в mqtt состояния 1/0 вместо ON/OFF

Навигация по записям