Добавляю noolite устройство командой:
mosquitto_pub -t ‘/devices/wb-homa-rcd/meta/noolite_remotes_custom’ -m ‘0xeed’
Потом удаляю его командой:
mqtt-delete-retained ‘/devices/noolite_tx_0xeed/#’
при этом он удаляется, но после перезагрузки появляется вновь. Неправильно удаляю?
вы отправляете команду драйверу радио добавить новый блок
вы удаляете структуру сообщений блока напрямую из MQTT. Драйвер радио про это не знает и продолжает писать туда же. Соответственно девайс кусками всё равно может появляться в интерфейсе.
После перезагрузки драйвер уже не пишет в этот девайс, т.к. MQTT-сообщение было без retained
Вы видите остатки, которые драйвер отправил в прошлый раз
Итого решение:
посылайте в /devices/wb-homa-rcd/meta/noolite_remotes_custom команды с retained
если хотите удалить, то пошлите в /devices/wb-homa-rcd/meta/noolite_remotes_custom новый список (пустой например)
перезагрузите драйвер (или service wb-homa-ism-radio restart или перезагрузкой контроллера)
после перезагрузки сразу же попытался удалить.
mqtt-delete-retained ‘/devices/noolite_tx_0xeed/#’
Пишет …
done!
и виснет, при выходе по ctrl+C выходит:
^CTraceback (most recent call last):
File “/usr/bin/mqtt-delete-retained”, line 76, in
rc = client.loop()
File “/usr/lib/python2.7/dist-packages/mosquitto.py”, line 725, in loop
rc = self.loop_write(max_packets)
File “/usr/lib/python2.7/dist-packages/mosquitto.py”, line 986, in loop_write
rc = self._packet_write()
File “/usr/lib/python2.7/dist-packages/mosquitto.py”, line 1373, in _packet_write
while self._current_out_packet:
KeyboardInterrupt
И после перезагрузки опять появляется.
По второму пункту
если хотите удалить, то пошлите в /devices/wb-homa-rcd/meta/noolite_remotes_custom новый список (пустой например)
Привязать - значит записать '0xeed' (тот номер что вы сами добавляли) в память силового блока.
На стороне WB ничего не привязывается.
Попробуйте остановить драйвер: /etc/init.d/wb-homa-ism-radio stop
Потом удалить все с этим адресом из MQTT.
Запустите драйвер: : /etc/init.d/wb-homa-ism-radio start
Теперь случилось еще интересный случай…
У меня теперь после всяких манипуляций с добавлением и удалением.
Мой силовой блок стал реагировать на отключение с одного девайса и включение с другого девайса.
девайс - это виртуальный пульт на WB4.
Остальные рабочие силовые блоки нормально работают.
Прочитайте пожалуйста внимательно инструкцию от ваших блоков nooLite. Привязка к пульту хранится в блоке. Нет ничего удивительного в том, что вы смогли привязать два пульта к одному блоку.
Понимаю когда с двух пультов одинаково откликается.
А тут с одного только выключается с другого только включается. Т.е. тот который выключает включать не может, а который включает не может выключить.
Подскажите, как настроить WB5 на работу с Ноолайт по следующей схеме - есть блок SU111-500 (исполнительный механизм).
Как управлять им с WB5? я не виже его в веб интерфейсе, не знаю какой у него адрес.
Как узнать адрес?
как потом добавить его как реле?
как потом добавить его как диммер?
Разобрался, подключил.
теперь хочется, чтобы на опенхабе отображался статус света.
Это можно реализовать если включаться и выключаться он будет через Wb5, а не напрямую с выключателя на реле.
Для этого попробовал написать правило
defineRule(“Noolite virtual”, {
whenChanged: “noolite_rx_0x52f4/state”,
then: function (newValue, devName, cellName) {
dev[“noolite_tx_0x8e1”][“state”] = newValue;
}
});
но почему-то идет достаточно ощутимая задержка, когда замыкаю кнопку на пульте. (около 500 мс)
подскажите, как улучшить реакцию системы?
Особенности работы радио. Модуль дожидается конца пакета (а его там 2 или 3 копии в nooLite), декодирует, потом сигнал обрабатывает система правил, а потом результат опять летит по радио. Теоретически там можно что-нибудь подкрутить и оптимизировать, но для этого нужно лезть в код модуля радио (rfm69-linux).
понял, спасибо.
есть ли какие-нибудь варианты реализации обратной связи на ноолайт? (я делал wb5 управление именно для этого)
возможно кто-то придумал другой вариант?