Добрый день, подскажите пожалуйста как решить следующую задачу.
Есть два контроллера wirenboard №1 и №2 у которых mqtt соединены мостом, необходимо на контроллере №1 получать значения топиков контроллера №2 при помощи скрипта.
При помощи командной строки всё считывается хорошо.
Подскажите пожалуйста как прописать правило для решения этой задачи.
Добрый день!
Чтобы на контроллере №1 получать значения топиков контроллера №2 с помощью скрипта на WB-rules, можно использовать встроенные возможности для работы с MQTT, так как топики уже передаются через мост.
defineRule("get_mqtt_topic_from_controller_2", {
whenChanged: "контроллер2/топик", // Топик с контроллера №2
then: function (newValue, devName, cellName) {
log.info("Новое значение от контроллера №2:", newValue);
// Пример: передать значение в топик контроллера №1
publish("/devices/контроллер1/топик", String(newValue));
Не получается таким способом
Первый скрипт не работает, путь прописывал в разных вариантах, эффекта нет.
Второй скрипт при этом отрабатывает хорошо
whenChanged не работает с таким форматом топика, только с теми, что указаны в конвенции
Для произвольного топика используйте trackMQTT
1 лайк
Спасибо, помогло)