Выключатель света не переключает значение
-
Добрый день!
Только осваиваю intraHouse и, видимо что-то упускаю из вида.IH установлен на wiren Board
Установил плагин MQTT и настроил канал (сообщения команд: true и false)
Связал с устройством из стандартного проекта (действие при нажатии - toggle)
При нажатии на светильник 1 раз передается значение, но затем оно не изменяется:
В отладчике всегда одно и тоже пишется:04.03 07:58:56.719 IH: command [ { dn: 'LAMP_1_3', prop: 'on' } ] 04.03 07:58:56.723 IH: send { type: 'act', data: [ { id: 1, chan: 1, desc: 'DO', topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 1, startscene: '', nofb: false, act: 'on', message: 'true', command: 'on' } ] } 04.03 07:58:56.743 mqttclient1: PUBLISH: /devices/wb-gpio/controls/EXT3_ON4 true 04.03 07:58:56.747 mqttclient1: GET: /devices/wb-gpio/controls/EXT3_ON4 true 04.03 07:58:56.754 IH: get [ { id: 1, topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 'true' } ] set { LAMP_1_3: { dval: 'true', err: 0 } }
Подскажите где копать?
-
@laronov, добрый день!
В dval устройства должно приходить 1/0
Для канала на вкладке Обработка -> Формула расчета входного значения пропишите:value == 'true' ? 1 : 0
-
спасибо!
-
@intrapro, продвинулся на шаг вперед, но не до конца:(
Входное значение поправил как вы посоветовали.
Исходящие сообщения оставил true/falseВ режиме отладки вижу при двух нажатиях подряд:
04.03 19:42:43.197 IH: command [ { dn: 'LAMP_1_3', prop: 'on' } ] 04.03 19:42:43.201 IH: send { type: 'act', data: [ { id: 1, chan: 1, desc: 'DO', topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 1, startscene: '', nofb: false, act: 'on', message: 'true', command: 'on' } ] } 04.03 19:42:43.216 mqttclient1: PUBLISH: /devices/wb-gpio/controls/EXT3_ON4 true 04.03 19:42:43.223 mqttclient1: GET: /devices/wb-gpio/controls/EXT3_ON4 true 04.03 19:42:43.232 IH: get [ { id: 1, topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 'true' } ] set { LAMP_1_3: { dval: 1, err: 0 } } 04.03 19:42:44.693 IH: command [ { dn: 'LAMP_1_3', prop: 'off' } ] 04.03 19:42:44.704 IH: send { type: 'act', data: [ { id: 1, chan: 1, desc: 'DO', topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 0, startscene: '', nofb: false, act: 'off', message: 'false', command: 'off' } ] } 04.03 19:42:44.717 mqttclient1: PUBLISH: /devices/wb-gpio/controls/EXT3_ON4 false 04.03 19:42:44.726 mqttclient1: GET: /devices/wb-gpio/controls/EXT3_ON4 false 04.03 19:42:44.738 IH: get [ { id: 1, topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 'false' } ] set { LAMP_1_3: { dval: 0, err: 0 } }
как я вижу, в set не передается значение, соответственно, свет не выключается/включается
Если для исходящих сообщений поставить 1/0, то в отладке выходит одно и тоже сообщение (вне зависимости от того сколько раз нажимать)
04.03 19:49:47.812 IH: command [ { dn: 'LAMP_1_3', prop: 'on' } ] 04.03 19:49:47.823 IH: send { type: 'act', data: [ { id: 1, chan: 1, desc: 'DO', topic: '/devices/wb-gpio/controls/EXT3_ON4', value: 1, startscene: '', nofb: false, act: 'on', message: '1', command: 'on' } ] } 04.03 19:49:47.846 mqttclient1: PUBLISH: /devices/wb-gpio/controls/EXT3_ON4 1 04.03 19:49:47.852 mqttclient1: GET: /devices/wb-gpio/controls/EXT3_ON4 1 04.03 19:49:47.861 IH: get [ { id: 1, topic: '/devices/wb-gpio/controls/EXT3_ON4', value: '1' } ] set { LAMP_1_3: { dval: 0, err: 0 } }
если в формулу расчета выходного значения добавить
value == 1 ? 'true' : 'false'
ничего не меняется
-
@laronov Посмотрите вот эту статью intraHouse + Wirenboard
Там есть пример работы с топиками
-
@intrahouse спасибо!
Но дополнительной ясности статья не внесла
В статье нет даже про обработку расчета входного значения, про то что вы писали выше.
У меня же, на сколько я понимаю сейчас проблемы с выходным значением.
Если установить значения сообщений 1/0, то при нажатии на светильник в интерфейсе не происходит переключение (в режиме отладки выводится одно и тоже сообщение)
-
@laronov Покажите скриншоты настройки канала управления светильником
-
@intrahouse
-
@laronov
Канал:
Топик для подписки на состояние вроде правильно, если именно так он прописан у WirenBoardОбработка:
Я у себя не прописывал ничего. Ни для входных, ни для выходных значений.
Никакой обработки не требуется. Во всяком случае на тех модулях Wirenboard, которые мы тестировали.Команды:
Топики для команд прописаны не верно. Нужно /devices/wb-gpio/controls/EXT3_ON4/on
Все остальное правильно.
-
@intrahouse спасибо за помощь.
Получилось при таких настройках
Окончание адреса .../on указывать не потребовалось.
Возможно, это связано с версией Wiren Board
-
Пользователь @laronov написал в Выключатель света не переключает значение:
Окончание адреса .../on указывать не потребовалось.
Возможно, это связано с версией Wiren BoardОчень странно. Из документации Wirenboard:
-
@intrahouse а IH работает из командной строки локально? или все-таки через протокол MQTT как клиент?
-
@laronov
intraHouse работает по протоколу MQTT
Но в контексте вопроса это не принципиально. Синтаксис команд/топиков одинаковый.
-
@intrahouse мне вот кажется, что при вызове через командную строку, локально на Wiren Board, видимо, нужно указывать /on, а при вызове по протоколу MQTT нет
-
Пользователь @laronov написал в Выключатель света не переключает значение:
/on
Разобрался, решил для истории тут отписать:
окончания топика /on писать нужно!