Добрый день.
Настроил бридж на cloudmqtt
в файле /etc/mosquitto/mosquitto.conf
добавил строки
connection cloudmqtt
address m13.cloudmqtt.com:11250
remote_username test
remote_password test
clientid home-assistant
try_private false
start_type automatic
topic # out
перезагрузил WB, подключение есть, в CloudMQTT Console наблюдаю прием сообщений.
Но задача немного другая, все сообщения не нужны, а только некоторые и те либо по событию, либо по действию, поэтому нужно писать скрипты.
Подскажите, или дайте сслыку на примеры, как в скриптах, добавить возможность отправлять сообщения в mqtt и добавлять события на прием определенных топиков.
Так нет же, вам просто в поле topic в настройках надо не wildcard указывать, а конкретные топики.
Полезно читать contactless.ru/wiki/index.php/MQTT про наш формат и мануал по mosquitto.conf
Это понятно, я укажу конкретные топики, вопрос в другом. Как с помощью вашего .js писать в очередь и выполнять какие-то функции при получении топиков. Как добавить Listener на конкретный топик. Не хочется писать скрипты через консоль на pyton или еще чем-то, если есть редактор js через веб интерфейс.
на произвольный топик нельзя, на новое сообщение в топике, соответствующему нашей системе наименований - можно.
Можно подробней, может есть примеры, что можно, что нельзя, не очень понял.
https://github.com/contactless/homeui/blob/contactless/conventions.md
По этой ссылке найдёте подробную информацию о системе наименований wb. Произвольные топики обрабатывать будет сложно.
Несколько ограничений:
-
Топик должен быть по нашим конвенциям, т.е. вида /devices/device_id/controls/control_id
-
Слать данные вы должны в /devices/device_id/controls/control_id
-
Должны существовать retained-топики с мета-информацией. Как минимум /devices/device_id/controls/control_id/meta/type
-
То, что вы отправляете в /on должно соответствовать этому meta/type
-
Система правил оперирует состояниями, а не сообщениями. Поэтому в общем случае вы не можете сделать правило, которые выполняется при получении сообщения.
Что можно сделать: можно сдлеать правило, которое выполняется при изменении содержимого, т.е. отправке не такого, как в прошлый раз сообщения.
Несколько ограничений:
-
Топик должен быть по нашим конвенциям, т.е. вида /devices/device_id/controls/control_id
-
Слать данные вы должны в /devices/device_id/controls/control_id/on
-
Должны существовать retained-топики с мета-информацией. Как минимум /devices/device_id/controls/control_id/meta/type
-
То, что вы отправляете в /on должно соответствовать этому meta/type
-
Система правил оперирует состояниями, а не сообщениями. Поэтому в общем случае вы не можете сделать правило, которые выполняется при получении сообщения.
Что можно сделать: можно сдлеать правило, которое выполняется при изменении содержимого, т.е. отправке не такого, как в прошлый раз сообщения.
Возникла проблема.
Добавил в /etc/mosquitto/mosquitto.conf строки подключения как написано здесь:
https://wirenboard.com/wiki/index.php/MQTT#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_MQTT_.D0.BC.D0.BE.D1.81.D1.82.D0.B0_.28bridge.29
ПЛК WB6 уходит в циклическую перезагрузку с сообщением:
Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker
Лог прикладываю.puttyWB1.log.txt (24,5 КБ)
А есть какой-то способ во время загрузки ПЛК запретить загружать некоторые драйвера, чтобы ПЛК не уходил в перезагрузку (типа безопасного режима)?
Я еще не понял, откуда брать значение clientid?
подключитесь к отладке и после загрузки отключите watchdog:
service watchdog stop
clientid придумайте сами. Но он должен быть уникальным.
Если вы настраиваете Bridge то лучше настройки делать в фале: /mnt/data/etc/mosquitto/conf.d/bridge.conf
В общем, нашел у себя ошибку в файле конфига - теперь заработало.
Подключение к CloudMQTT работает.
Я правильно понимаю, что для того, чтобы можно было визуализировать данные с CloudMQTT, нужно настраивать на нем bridge, настройки bridge только на WB недостаточно?
Этот сервис позволяет вообще просматривать топики?
не понятно зачем Вам вообще он нужен. Вы же можете прямо с wiren переслать топики куда Вам нужно.
Да мне он, скорее всего, и не нужен.
Я ищу способ, как сделать нормальный UI для WB6.
Здравствуйте, занимаюсь UI для WB уже более года, есть наработки, чтобы Вам не заниматься тем же могу дать доступ к облачному редактору интерфейса, помочь с настройкой, все безвозмездно, взамен только адекватная критика, указание на ошибки, в общем тестирование.
Дайте, пожалуйста. Буду вам признателен.
Напишите пожалуйста на почту