Установка нужной версии плагина:
Для полного прокидывания ТВ со всеми фишками и максимально полным управлением, нам понадобится плагин node-red-contrib-homekit-bridged dev ветки последней версии (на момент написания статьи у меня установлена версия 1.0.0-dev.9).
Чтобы ее установить, необходимо подключиться по ssh и ввести следующие команды:
cd ~/.node-red/ npm install --save NRCHKB/node-red-contrib-homekit-bridged#dev
Как только установка закончится, необходимо перезагрузить node-red, всё в том же терминале вводим:
node-red-restart
Далее приступим к настраиванию так называемых выходов у нашего телевизора. Выходами или input's называются вот эти переключатели, расположенные под кнопкой включения/выключения тв, которые мы сможем настроить на исполнение любых Ваших заурядных и не очень фантазий. В Хомките они сортируются автоматически в алфавитном порядке, поэтому последовательность нас не волнует. Ниже покажу, как это сделать.
Ниже показан пример флоу на 16 таких Input's, и таких может быть столько, сколько Вам необходимо.
Далее разберем по порядку, что внутри каждой ноды.
1. Синяя нода - Inject, подает параметры при каждом старте Node-Red, Payload можно задать любой, главное поставить галочку в графе "Inject once after... seconds" время выбираем любое, но советую не менее 1,5 секунд.
2. Розовая нода - Function, Name - любое, нужно исключительно для удобства, а вот что внутри самой функции: msg.payload = { "IsConfigured" : 1, "Identifier": 1, "ConfiguredName": "HDMI", "InputSourceType": 3 }; return msg;
Как мы видим на скриншоте выше, их 16 штук, в каждой из них является неизменным -"IsConfigured" : 1 и "InputSourceType": 3. Остальные два параметра меняем: "Identifier" не должен повторяться и просто повышаться на единицу, то есть "Identifier" : 1, "Identifier" : 2, "Identifier" : 3, "Identifier" : 4, и.т.д. "ConfiguredName" - это и есть имя input'а, создаем любое и ровно так оно будет отображаться в хомките.
3. Оранжевая нода - Homekit-нода, внутри нее все просто, выставляем как на скриншоте, задав имя, такое же, как в "ConfiguredName" соответствующей ноде Function и выставив Parent Service - Ваш уже созданный в хомките TV.
Нам нужно к той же инжект ноде добавить еще одну цепочку из Function, Homekit-ноды, двух свитчей и двух исполнителей. В моем случае - это плагин для тв самсунг, который подаёт команду на повышение/понижения громкости.
Второй свитч.
= 0 соответсвует нажатию верхней боковой кнопки громкости на айфоне,
= 1 соответсвует нажатию нижней боковой кнопки громкости на айфоне и уже на выходы из этой ноды подаем нужное нам действие.
Выделенный свитч (цепляется к нижнему выходу!): отвечает за кнопку настройки телевизора внутри настроек тв в хомките.
Выделенные ноды: отвечают за обратную связь в хомките. В данном случае идет опрос тв по ping и посылается свитчем вкл или выкл.
Также добавил готовое флоу во фрагменты кода.
На этом всё, надеюсь, было полезно и удачного пользования тебе, читатель)
Если возникнут вопросы, пишите в комментарии или в личку в телеграм @daddvok, поможем.
Для далекого от node-red, неясно, насколько «любой» телевизор можно прокинуть. Телевизор должен обладать смарт функционалом или достаточно наличия у него возможности подключения к интернету через Ethernet?
Для любого телека, который каким-либо способом можно управлять через нодред. При наличии, например, Broadlink RM можно управлять вообще любым телеком
Да ну? А вот Филипс 14 года говорит об обратном.
в нем нет ик-приемника?
Вместо него ambilight
Вместо него ambilight
отличная статья спасибо большое! единственный момент я так и не понял как подвязать сюда бродлинк, у вас случайно нету флоу с таким примером? куда прикручивать функции или параметрами с кодами ИК пульта?
окей спасибо буду пробовать
тут описан способ управления телеком через сеть, те посредством эмуляции родного приложения для телефона - поэтому заголовок статьи некорректный.
при использовании универсального ик-пульта ноды и настройки будут другие.
Абсолютно всё то же самое будет, только управляющие ноды - ноды универсального ик-пульта
Все отлично, я делал аналогичное, но лично у меня есть офигенная проблема )
Нет ТВ с каналами как такового, это просто по факту очень большой монитор для плойки и яблотв (кинопаб в основном). Оба девайса прекрасно включают и выключают телевизор, звук регулируется на внешнем саундбаре через RF (отдельный пульт, его дублирует пульт яблотв). Соответственно ничего кроме мелкого пульта от яблотв я не использую, в родном пульте от телека давно села батарейка и он еще в заводской упаковке.
Ни одного сценария для включения ТВ в систему умного дома придумать не могу совершенно. Штор нет, автоматизаций с освещением не хочу ) Есть идеи?
Жить и радоваться без лишней иконки в хомките)
Тогда у вас по умолчанию Apple TV прокинут в дом. Зачем вам еще какие-то надстройки?
А как подцепить ТВ, который на Android TV 9 и пульт от него на блютуз? Хочу им управлять только вкл/выкл и кнопки навигации по меню Android TV. Телевидение на нем не смотрю вообще.
Искать как управлять вашим тв из нодреда и тогда уже получится прокинуть в хомкит
ок, спасибо, попробую. А мануал выше использовался с каким интерфейсом управления ТВ?
Мануал выше показывает как создать тв, выходы и пульт к нему в хомките, а цеплять к пульту и выходам уже можно что угодно, будь то посылание команд по ИК через бродлинк или плагины для lg webos, samsung итд. Я лично для управления тв использую плагин для самсунга и им управляется 3 тв разных годов.
ADB можно использовать
Если ТВ добавлен в Home Assistant, то прямо через добавленную сущность можно к нему команды отправлять
Спасибо за описание, особенно за управление громкостью. Я «прикручивал» свой ТВ еще летом на предыдущей версии ноды homebridge и тогда вроде как громкость из родного пульта управлять не было возможности.
подскажите, а у Вас работает двойное нажатие одной и той же кнопки на пульте? К примеру поднять громкость на несколько делений или навигационными кнопками несколько раз пройтись в одном направлении? У меня нода не пропускает одинаковые команды подряд.
Рад стараться)
Да, работает, проверьте версию плагина, чтоб была 1.0.0-dev.9 и свитч от пульта был прицеплен к нижнему выходу хомкит ноды
Мы создавали homekit ноду, потом inject ноду упустил момент на каком месте и каким образом они связаны?
Вопросик появился, почему на пульте второй раз подряд одна и таже кнопка не нажимается?
к нижнему. я имею ввиду если надо влево два раз нажать, то не получится. надо влево ,потом вниз, потом влево, потом вверх и попадешь в нужную точку
Ну у меня работает, сверху человек спрашивал точно такой же вопрос.
Нужно обновиться на последнюю версию хк ноды и проверить чтоб было прицеплено к нужному выходу. В статье все указано, значит невнимательно читали
Да , не внимательно прочитал.
Все еще актуально и ничего не изменилось по своей сути
Только сейчас уже использую версию node-red-contrib-homekit-bridged 1.4.3