Node-red-contrib-wirenboard

Написал для node-red модуль, который должен упростить работу с WB. Баги и пожелания можно в телеграм @popov1988 или в гитхаб.




8 Likes

Добрый день. Модуль IN не подключается к моему WB. Т.е. в настройках я указываю IP адрес сервера, далее нажимаю кнопку “refresh channel list” и ничего не происходит. На гитхабе, кстати, немного по-другому описано заполнение поля: " The URL to the REST-API of your wirenboard instance. Make sure to include the trailing slash in your URL. Example: http://localhost:8080/rest/code". А в node-red написано “ip address”. Мой WB отвечает по адресу http://192.168.1.68/rest/, но через браузер я не уверен, что это правильно смотреть.

Надо просто IP указать 192.168.1.68. Обновите версию пакета, там уже правильное описание настроек.

так я и так, и так указывал. И просто IP, и не просто. Ничего не происходит. Есть какая-то зависимость от версии WB? От прошивки? И как можно отследить обмен сообщениями между вашим модулем node-red-contrib-wirenboard и WB?

Тогда может в телеграме свяжемся, надо изучить этот случай
@popov1988

Из-за особенности конфигурационной ноды, после ввода ip контроллера вам надо задеплоить flow и затем появятся к выбору каналы.

1 Like

Можно как-то задать логин/пароль для доступа к mosquitto?
node-red стоит не на wb…

сделаю

Добрый день!
Возможно реализовать или доработать ноду Button, в части функционала димирования, сейчас значение хранится внутри ноды, и управлять из вне не возможно. Суть предложения в том что значение для диммирования подавать из вне.
Это требуется что бы синхронизировать значение внутри нобы Button и ноды HomeKit.

Можно попробовать, то есть если из ХК меняем значение, то передавать в btn текущее значение?

да все верно и при следующем процессе диммирования через внешнюю кнопку мы уже используем значение из HK как стартовое.

Добрый день, не понимаю как управлять RGB, через node red. Подскажите пожалуйста?
К примеру есть виртуальное устройство RGB и оно связано с 2 реальными mrgb. Что выбрать?

Добрый день!

Спасибо, плагин удобный.

Но я столкнулся со следующими проблемами.

Итак, например я создаю виртуальное устройство.

defineVirtualDevice(“shelly01”, {
title: “Shelly01”,
cells: {
“Relay”: {
type: “switch”,
value: false
},
“Source”: {
type: “text”,
value: “unknown”
}

}
});

Это просто для примера, контролов будет больше.

Все нормально, оно появляется в веб-интерфейсе.
sh1

Итак, две проблемы:

  1. Я буду в node-red посылать команду моему устройству по http.
    Т.е. я в ноде in должен получить команду от виртуального устройства, а не статус.
    Т.е. я должен получить значение /devices/shelly01/controls/Relay/on (команда), но в ноде я могу подписаться только на /devices/shelly01/controls/Relay (статус).

  2. Из контрола text я могу получать значения, но не передавать их.
    Т.е. мне нужно, например, записать значение Source.
    Но я не могу этого сделать, в ноде out есть только управление выключателем:
    sh2

Добрый день!
Кнопка не корректно работает…
При долгом нажатии кнопки так же отправляется и обычное нажатие. Как этого избежать ?

Нужно сделать на входе 1 несколько видов нажатий.
Обычное нажатие - включает или отключает реле 1
Долгое нажатие - включает или отключает реле с 3 по 6.

Сейчас же при долгом нажатии включается сначала реле 1 потом с 3 по 6.

Скорее всего используется две ноды кнопки с разным набором настроек.

Андрей, Если в первой кнопке вписать только “Press” а во второй кнопке “longpress” то все равно первая кнопка отрабатывает при долгом нажатии второй.
Или я не правильно Вас понял ?

Press - это начало нажатия
Click - это быстро нажал - отжал

Press всегда будет срабатывать при любом действии, иногда нужен, чтобы отлавливать старт нажатия.

Как написано, все круто работает только с wd14 модулем, а если используется РЕЛЕ с неотвязанными кнопками - то сделать ничего невозможно. Всегда будет вкл/выкл реле.
Можно сделать так, что после длинного клика, состояние реле возвращается в первоначальное

Добрый день. Подскажите как настроить WB/1
2

порт 1883 по умолчанию, вообще только IP надо указать
потом сделать deploy