Wb-rules задача простая, поведение странное


#1

Шаблон config-wb-mr6c.json был доработан, добавлено и работает.
{
“name”: “Serial NO”,
“type”: “text”,
“reg_type”: “holding”,
“address”: 270,
“format”: “u32”
},
Задача выполнить правило
defineRule(“Get_Serial_NO”, {
whenChanged: [“wb-mr6c_1/Serial NO”],
then: function (newValue) {
dev[“vehicle”][“Serial_NO”] = dev[“wb-mr6c_1”][“Serial NO”];
}
});

где часть от vehicle такая:
Serial_NO: {
type: “Text”,
value: “000000”,
forceDefault: false
}
При загрузке и выполнении правила в mqtt получаем приход “” (пустой строки) без всяких серийников. Куда копать?


#2

Добрый день!
Добавьте отладочную печать через log() рядом с присваиванием и посмотрите, выполняется ли оно, и что в этот момент находится в dev[“wb-mr6c_1”][“Serial NO”]


#3

А при релоаде правил, данный код не выполняется. Только при рестарте mqtt-serial данные приходят.
Подскажите, а как я могу обрабатывать ошибку соединения с внешним модулем по modbus в правилах?


#4

И как уже избавится от флуда в debug?


#5

И третий вопрос, возможно ли задать ручной порядок для параметров виртуального устройства, для отображения в закладке Devices?


#6

поищите на форуме - несколько раз уже отвечалось…


#7

На форуме нашел тред, что проблема не решена, поищу еще.

Но вопрос первый повторю, как обработать в wbrules факт потери связи по modbus?
Животрепещущий вопрос.


#8

#9

У меня есть аккумуляторный модуль. И я хочу из коробки получать данные от чего я запитан. Да, уже сделал свои правила для этого. Просто не понятно, проблема будет исправлена в будущем, или так свои костыли и лепить?


#10

К сожалению, сроков назвать не можем. Проблема будет исправлена, но приоритет у нее не очень высокий.