NEWS
Управление устройствами (пример) через Broadlink RM mini 3
-
В первую очередь хочу поблагодарить Романа ака @bondrogeen за помощь.
Устанавливаем драйвера:
-
IR Broadlink Adapter
-
Javascript/Blockly Script Engine
Переходим в "Настройки драйверов", выбираем "broadlink.0"
указываем IP нашего устройства RM mini 3
Переходим в "Объекты">broadlink.0
В моем случае рассмотрим вариант, включение и выключение кондиционера.
Обучим iobroker на понимание двух комманд: ВКЛ и ВЫКЛ кондиционера.
Два клика по enabledLearningMode, теперь в течение 30 сек, нажимаем кнопку ВКЛЮЧИТЬ на пульте кондиционера.
Еще раз два клика enabledLearningMode и нажимаем кнопку ВЫКЛЮЧИТЬ на пульте кондиционера.
В broadlink0.learnedSignal у нас появились два объекта, даем им имена соответственно командам, чтобы в дальнейшем не путаться.
Переходим в скрипты, добавляем новый скрипт:
createState('Test.value', ''); on({id: "javascript.0.Test.value"/*Test.value*/, change: 'any'}, function (obj) { log(obj.state.val); if(obj.state.val===true){ log("true"); setState("команда_на_включение"/*ON*/, true ); }else{ log("false"); setState("команда_на_выключение"/*OFF*/, true ); } });
Команды на включение и выключение копируем из нашего объекта broadlink0.learnedSignal
Описание скрипта:
` > 1. Создаем переменную Test.value2. В случае изменения значения переменной…
3. Логируем событие
4. Если значение стало true ("правда")
5. Включаем кондиционер
6. Иначе
7. Логируем событие
8. Выключаем кондиционер `
Не забываем его запустить….Переходим в vis, из Basic шаблонов перетаскиваем на рабочий стол Bulb On/Off
В "Общие"
ID объекта: javascript.0.Test.value (выбираем нашу созданную переменную)
значение min: true
значение min: false
Проверяем, должно работать...
-
-
В принципе получилось.
Но не очень понятно почему скрипт шлет не один сигнал а множество?
Из лога скрипта:
11:23:36.380 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.381 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.381 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.381 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.365 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.365 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.366 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.375 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.364 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.364 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.367 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.367 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.369 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.373 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.373 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.374 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.374 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.376 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.376 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.379 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.380 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.383 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.393 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.394 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.394 [info] javascript.0 script.js.common.Скрипт1: true 11:23:36.395 [info] javascript.0 script.js.common.Скрипт1: true
В результате кондишн пищит о приеме команды чуть ли не десяток раз.
Ну и в логе собственно иоброкера куча посылок:
! ````
broadlink.0 2018-01-15 11:26:06.172 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.170 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.167 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.149 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.149 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.138 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.126 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.124 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.119 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.098 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.096 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.094 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.079 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.078 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.065 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.044 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.044 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.036 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:06.014 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:06.010 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:06.007 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:05.950 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:05.950 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:05.949 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:05.925 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100
broadlink.0 2018-01-15 11:26:05.921 debug Preparing to send: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100d100d0f0d100d100
broadlink.0 2018-01-15 11:26:05.919 debug inMem message broadlink.0.* broadlink.0.learnedSignals.CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d10
broadlink.0 2018-01-15 11:26:05.888 debug sendData to 192.168.112.122, Code: CODE_2600bc0174380f0d102a0f0d100d100d0f0d100d100d0f0d100d100c100d100d1029100d100c100d100d0f0d100d100d0f2a1029102a0f0d100d1029100d100d0f0d100d100d0f0d100d100d0f0d100 -
В принципе получилось.
Но не очень понятно почему скрипт шлет не один сигнал а множество? `
какой скрипт? где он? -
В принципе получилось.
Но не очень понятно почему скрипт шлет не один сигнал а множество?
какой скрипт? где он?
В первом сообщении данного топика.Изменены только команды броадлинка (в редакторе вытащены из дерева объектов через соответствующее меню)
Отправлено с моего Redmi Note 4 через Tapatalk
-
С помощью оказанной в чате проблема с многократной отсылкой команд была локализована и решена.
Оказалось что у меня в системе висит десяток процессов драйвера Javascript - когда подбирал правильный синтаксис и запускал скрипт с ошибкой драйвер падал и перезапускался в нескольких копиях.
В результате все эти копии и отправляли по команде каждый, всего получалось очень много
Ещё раз спасибо участникам чата, которые помогли разобраться в проблеме.
Отправлено с моего Redmi Note 4 через Tapatalk