richy
11.Ноябрь.2021 11:34:04
1
Добрый день!
Не отрабатывает правило на изменение значения в топике вирт устройства, если значение публиковать, например, из node-red (через UI WB правило работает)
Как пример:
defineVirtualDevice(“test”, {
title: “тест”,
cells: {
t1: {
type: “text”,
value: “”
},
}
});
defineRule(“set_t1”, {
whenChanged: “test/t1”,
then: function (newValue, devName, cellName) {
log(newValue)
}
});
Это баг или фича?
Zeta
11.Ноябрь.2021 11:58:25
2
Изменяете значение через /devices/test/controls/t1/on?
Или пишите retain в /devices/test/controls/t1?
richy
11.Ноябрь.2021 15:01:48
3
Publish делаю в /devices/test/controls/t1 (и стандартной NR нодой MQTT-out и нодой WB)
Zeta
11.Ноябрь.2021 15:06:55
4
Так работать не будет.
Смена значения происходит через on
richy
11.Ноябрь.2021 15:33:31
5
Я дописал к пути /on, но это не помголо.
Я так понимаю этот что-то захардкоженое, но не пойму, как предполагается работать с этим…
Zeta
11.Ноябрь.2021 15:37:35
6
Через mosquitto_pub проверяли, меняется?
Что wb-rules в логах пишет?
Возможно тип данных не подходит.
richy
11.Ноябрь.2021 15:45:46
7
через вот этот эндпойнт в UI смотрю - /MQTTChannels
Значение меняется, а лога нет.
К слову пока я какие-то странноватые действия не посовершаю, значение вообще не меняется нигде…
richy
11.Ноябрь.2021 15:49:14
8
вот такие нехитрые настройки
Zeta
11.Ноябрь.2021 15:50:21
9
На контроллер по ssh заходили?
Пробовали выполнить mosquitto_pub?
Zeta
11.Ноябрь.2021 15:51:31
10
На скриншоте вижу, что вы пишите в /devices/test/controls/t1, а нужно в /devices/test/controls/t1/on
richy
11.Ноябрь.2021 18:34:50
11
в /on не пишет совсем, поэтому я вернулся к варианту без него
попробовал через консоль
первая строка ничего не сделала, вторая отразилась
Здравствуйте!
Контрол типа text по умолчанию создается только для чтения. Попробуйте описать виртуальное устройство так:
defineVirtualDevice("test", {
title: "тест",
cells: {
t1: {
type: "text",
value: "",
readonly: false,
},
},
});
После добавления опции readonly: false
все должно работать.
Информация описана здесь: Как писать правила — Wiren Board
3 лайка