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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden