Где этот чёртов пульт который всё время теряется? В прочем для управления техникой по ИК/RF полезно не только при потере пульта, но и например включить кондиционер за час до того как вернёшься с работы включился кондиционер и к моменту прихода домой была комфортная температура.
Для управления техникой необходимо любой шлюз который может управляться по сети wi-fi и zigbee и отсылает команды по инфракрасному/RF порту, это может быть например esp8266 с припаянным ИК светодиодом (КА передатчиком) к одному из выходов с прошивкой tasmota, ESPHome, WiFi-IoT с настройками mqtt, или же готовый шлюз который получает ИК/RF команды по mqtt, например Zigbee Moes UFO-R11 подключенный к zigbee2mqtt. Нам необходимо лишь знать настройки топика для публикации отправки ИК/RF команд. Статья на примере Moes UFO-R11, но по аналогии можно сделать любого другого устройства.
Я завел Moes UFO-R11 в zigbee2mqtt, для отправки коде на устройство надо послать в топик по адресу: Base topic/Имя устройства/set
У меня в zigbee2mqtt Base topic это z2m, по умолчанию он имеет значение zigbee2mqtt, но я поменял на короткий
Имя устройства у меня IR
И топик публикации будет z2m/IR/set
Согласно описанию на сайте zigbee2mqtt для данного устройства для отправки команды надо в этот топик послать данные:
{"ir_code_to_send": "КОД"}
где КОД это код ИК команды, в моем шлюзе его можно получить включив State и нажав на кнопку пульта
мой код будет выглядеть так:
{"ir_code_to_send": "BU0jlRFLAuAXAQFkBuAZA0ABQCfgAwHgAw/AC0AHwANAAUALCRWaTSOqCEsC///gCgcCCEsC"}
В HomeAssistant необходимо использовать службу публикации в mqtt.
В Lovelace UI добавляем карточку Кнопка
Выбираем что необходимо сделать при нажатии: Вызов службы
Выбираем службу: MQTT опубликовать
Удаляем объект и добавляем топик и Значение
сохраняем и получаем кнопку при нажатии которой будет отправляться заданная команда
Можно это же сделать через текстовый редактор, код данной кнопки следующий:
show_name: true show_icon: true type: button tap_action: action: call-service service: mqtt.publish target: {} data: qos: '1' topic: z2m/IR/set payload: >- {"ir_code_to_send": "BU0jlRFLAuAXAQFkBuAZA0ABQCfgAwHgAw/AC0AHwANAAUALCRWaTSOqCEsC///gCgcCCEsC"} name: 'ON' icon: mdi:power