Для начала, нам нужно установить нужный плагин. Для этого открываем в меню веб интерфейса Manage palette, переключаемся на вкладку install и вбиваем в поиск node-red-contrib-broadlink-control, далее устанавливаем его. Для большей наглядности каждый шаг буду подкреплять скриншотами.
Далее необходимо настроить связь с броадлинком, и для этого перетягиваем установленную ноду под названием "RM", дважды кликаем и добавляем новое устройство. Нам потребуется указать ip и mac адрес бродлинка без двоеточий, пробелов и верхнего регистра. (Информацию об ip и mac адресе можно найти в настройках роутера), каталог можно указать любой, он нам не потребуется. После всех действий не забываем нажать кнопку Deploy, для применения изменений.
Далее импортируем уже готовое флоу для считывания и отправки кодов. С помощью вставки в графе Import -> Clipboard.
[{"id":"a7e69c3f.abe7f8","type":"inject","z":"f5c490.74302b7","name":"","topic":"","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":90.19999694824219,"y":365,"wires":[["6e9595a6.ff3cfc"]]},{"id":"2d762273.51f50e","type":"debug","z":"f5c490.74302b7","name":"","active":true,"console":"false","complete":"payload","x":553.2000122070312,"y":228.99998474121094,"wires":[]},{"id":"e3329f33.6cfbc8","type":"RM","z":"f5c490.74302b7","name":"","device":"9fb7e38e.6144b","action":"_msg_","remote":"","button":"","fix":"","x":378.20001220703125,"y":363,"wires":[["2d762273.51f50e"]]},{"id":"6e9595a6.ff3cfc","type":"function","z":"f5c490.74302b7","name":"Код","func":"//Insert learning code here\nvar data = [38,0,140,0,77,21,18,22,38,21,17,22,17,22,38,21,18,21,18,22,37,22,17,22,18,21,18,22,17,0,3,99,77,21,18,22,38,21,17,22,18,21,38,21,18,22,17,22,38,21,18,21,18,22,17,22,17,0,3,99,77,21,18,22,37,22,17,22,18,21,38,21,18,22,17,22,37,22,18,21,18,22,17,22,18,0,3,100,76,22,18,21,38,21,18,22,17,22,37,22,18,21,18,22,37,22,17,22,18,21,18,22,17,0,3,101,76,22,18,21,39,20,18,22,17,22,37,22,18,21,18,22,37,22,17,22,18,21,18,22,17,0,13,5,0,0,0,0,0,0,0,0,0,0,0,0];\n\nmsg.payload={\n //\"mac\":\"MAC address of your broadlink rm\",\n //\"host\":\"IP address of your broadlink rm\",\n \"action\":\"send\",\n \"data\":data,\n \"repeat\":2\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":232.1999969482422,"y":364,"wires":[["e3329f33.6cfbc8"]]},{"id":"d50e0ec5.f2c058","type":"RM","z":"f5c490.74302b7","name":"","device":"9fb7e38e.6144b","action":"learn","remote":"","button":"","fix":"","RFSweep":"false","x":229.1999969482422,"y":260,"wires":[["669b921b.8c18ac"]]},{"id":"a9f2afdd.981a6","type":"inject","z":"f5c490.74302b7","name":"","topic":"","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":"","x":90.19999694824219,"y":261,"wires":[["d50e0ec5.f2c058"]]},{"id":"669b921b.8c18ac","type":"json","z":"f5c490.74302b7","name":"","pretty":false,"x":361.20001220703125,"y":257,"wires":[["2d762273.51f50e"]]},{"id":"c78086ae.a27888","type":"comment","z":"f5c490.74302b7","name":"Обучение","info":"","x":303.20001220703125,"y":211.99998474121094,"wires":[]},{"id":"5169ec6a.95d49c","type":"comment","z":"f5c490.74302b7","name":"Отправка","info":"","x":291.20001220703125,"y":320,"wires":[]},{"id":"9fb7e38e.6144b","type":"rmdevice","z":"","folder":"D:/SharedData","mac":"c8f74254c0f5","host":"192.168.0.111"}]
Обучение:
В графе "Обучение" в ноде RM выбираем Ваш бродлинк, который ранее сохранили, а в графе RF Sweep ставим да, либо нет - в зависимости от того, есть ли в вашем бродлинке приемник RF сигнала или нет.
Для считывания кодов с пульта открываем дебаг и нажимаем на ноду inject, после этого в течение 30 секунд отправляем команду с пульта в направлении бродлинка и в дебаге отобразится код в нужном нам формате. Пример того, как должно получиться - на скриншоте ниже.
Отправка:
В графе "Отправка" переходим к ноде "Код", в нее нужно вставить полученный при считывании код и выбрать Ваш бродлинк в RM ноде. После этого, при нажатии на ноду inject, код будет отправлен.
Для автоматизаций просто цепляем две ноды, код и RM последовательно к выходу любой другой ноды и при поступлении сообщения - код будет отправлен.
Бонус
Бонусом для тех, кто переехал с другой системы автоматизации и лень считывать всё заново, или у кого просто уже есть база считанных кодов - предусмотрен конвертер из base64 в нужный нам формат. Для этого нужно установить из Manage palette «node-red-node-base64» и импортировать готовое флоу, прикреплённое ниже, где только нужно вставить ваш base64 код в ноду inject и нажать на неё, после чего код сконвертируется в нужный формат и появится в дебаге. Если у вас считаны hex коды, то сначала конвертируйте в base64 в любом онлайн конвертере в гугле, а уже потом - внутри нодреда.
[{"id":"f5ba728d.5009e8","type":"inject","z":"f5c490.74302b7","name":"","topic":"","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":102.49998474121094,"y":113,"wires":[["53ec6a88.e855dc"]]},{"id":"53ec6a88.e855dc","type":"base64","z":"f5c490.74302b7","name":"","action":"","property":"payload","x":275.5,"y":113.80000305175781,"wires":[["2d762273.51f50e"]]},{"id":"2d762273.51f50e","type":"debug","z":"f5c490.74302b7","name":"","active":true,"console":"false","complete":"payload","x":553.2000122070312,"y":228.99998474121094,"wires":[]}]
Как итог, получаем примитивный способ отправки по одному коду. Очень надеюсь, что в дальнейшем от наших любимых плагинописателей появится нода, упрощающая управление бродлинком через нодред и станет возможным красиво и полноценно закинуть управление кондиционерами/телевизорами.
Как раз то нужно!
Стараемся) мб когда закончишь с звейвом осилишь сделать красивую и удобную ноду для бродлинка?) нужно научить брать коды из списка, чтоб научить управлять кондеями и тв
Я Z-Way допилил в принципе, там можно пару косметических решений добавить. На очереди еще один плагин стоит для кондиционеров с Wi-Fi по статье Максима Колесника. А там можем и на бродлинк пойти.
Жду тогда) если понадоблюсь для тестов, стучи
Супер!
IR пульт ловит отлично, спасибо, но вот RF не получается: "
Broadlink: RF Scan - Please keep long press on the remote button until scan finishes.
" зажимаю любую кнопку на пульте, по логам сразу же перепрыгивает на
"Broadlink: Please tap the remote button.", но вот дальше тишина, ни одну кнопку не отлавливает. Broadlink RM Pro+
Уберите галку "RF Sweep" и попробуйте добавить радиопульт. У меня так заработало