[node-red] Flow для интеграциии телевизора в Homekit (ИК через Broadlink)

Простая реализация homekit устройства класса Телевизор посредством его интеграции в node-red через broadlink

Первая заметка из серии простых и готовых решений для реализации интеграций в различных системах умного дома.

Возникла необходимость добавить телевизор не имеющий полноценных способов управления через адекватные протоколы (некие API), а только ИК управление. В распоряжении есть Broadlink RM Pro, который легко добавляется в node-red.

Используемые pallete.

  • node-red — базовый набор нод. Не требует дополнительной установки.
  • node-red-node-ping — нода позвалюящая отправлять ICMP запросы и получать на основании их ответов статус устройства.
  • node-red-contrib-broadlink-control — набор нод для работы с устройствами broadlink.

Копирование IR-кодов.

Первая задача — скопировать IR-коды существующего пульта для последующего их использования.

Для упрощения данной задачи есть простой flow.

Код для импорта доступен по ссылке

После импорта кода настраиваем ноду RM прописав IP и MAC адрес самого Broadlink. Запускаем Deploy. Открываем вкладку debug в интерфейсе node-red. Жмем запуск на Inject ноде и жмем кнупку на пульте, которую хотим считать. Видим код.

Сохраняем его. Повторяем действие по всем кнопкам которые хотим перенести в homekit.

Основной flow.

Ниже представлен flow содержащий базовые вещи для управления ТВ панелью — включение/выключение (одна кнопка, поэтому были проблемы), громче, тише, переключение HDMI селектора (одна кнопка, поэтому лайфхак).

Код для импорта доступен по ссылке

После импорта настраиваем ноды под свою инсталляцию. Входная нода содержит IP адрес который будет пинговаться для понимания включен ли реально телевизор. Эту часть можно заменить на свой способ определения реального статуса.

Нода RM настраивается аналогично предыдущему этапу. IP и MAC адрес. Если настройка с первого этапа была сохранена, можно переключить конфигурацию RM ноды на нее.

Далее копируем IR-коды полученные на предыдущем этапе в соответствующие функции. Обратите внимание что копировать нужно только код, по аналогии тому что там есть уже сейчас (кстати, это коды от телевизора Samsung).

Итог.

У нас в HomeKit (Apple Дом) появляется устройство с типом Телевизор. Появляется возможность его включить и выключить, переключить вход HDMI, отрегулировать громкость (в приложении Пульт, кнопками громкость). Из идей для будущего развития — добавить управление меню телевизора, благо приложение Пульт дает такую возможность.

Благодарность.

Спасибо участнику нашего telegram сообщества с ником @Anton_Tumilovich за написание фильтрующей функции на вход и выход ноды homekit. Это позволило устранить паразитные дублирования на выходе из ноды при получении любого значения на входе.

Pavel

Recent Posts

Aqara Magic Switch S1E — новиночку подвезли, но не в Россию

Если что-то и можно сказать о продукции Aqara, так это ее плодовитость. По сравнению с…

1 год ago

Зима близко. Обзор и тестирование термостата Lytko 101

Многие строители умных домов, ответственные домовладельцы, экономные люди, да и все кому приятно держать ноги…

3 года ago

Фантастический OpenTherm и где он обитает

Вместо вступления Регулирование температуры - одна из самых любимых тем сообщества умного дома (пожалуй после…

3 года ago

Датчик температуры и влажности в Nodered

Данным постом мы начнем серию коротких статей, в которых будем просто и понятно описывать добавление…

4 года ago

У меня зазвонил телефон

Короткий рассказ о том, как в качестве системы уведомлений использовать телефонные вызовы.Читать далее...

4 года ago

Xiaomi анонсировала новые датчики Mijia для систем умного дома

Xiaomi анонсировала расширение линейки датчиков Mijia, которые применяются в составе экосистемы умного дома. Читать далее...

4 года ago