richy
November 11, 2021, 11:34am
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
November 11, 2021, 11:58am
2
Изменяете значение через /devices/test/controls/t1/on?
Или пишите retain в /devices/test/controls/t1?
richy
November 11, 2021, 3:01pm
3
Publish делаю в /devices/test/controls/t1 (и стандартной NR нодой MQTT-out и нодой WB)
Zeta
November 11, 2021, 3:06pm
4
Так работать не будет.
Смена значения происходит через on
richy
November 11, 2021, 3:33pm
5
Я дописал к пути /on, но это не помголо.
Я так понимаю этот что-то захардкоженое, но не пойму, как предполагается работать с этим…
Zeta
November 11, 2021, 3:37pm
6
Через mosquitto_pub проверяли, меняется?
Что wb-rules в логах пишет?
Возможно тип данных не подходит.
richy
November 11, 2021, 3:45pm
7
через вот этот эндпойнт в UI смотрю - /MQTTChannels
Значение меняется, а лога нет.
К слову пока я какие-то странноватые действия не посовершаю, значение вообще не меняется нигде…
richy
November 11, 2021, 3:49pm
8
вот такие нехитрые настройки
Zeta
November 11, 2021, 3:50pm
9
На контроллер по ssh заходили?
Пробовали выполнить mosquitto_pub?
Zeta
November 11, 2021, 3:51pm
10
На скриншоте вижу, что вы пишите в /devices/test/controls/t1, а нужно в /devices/test/controls/t1/on
richy
November 11, 2021, 6:34pm
11
в /on не пишет совсем, поэтому я вернулся к варианту без него
попробовал через консоль
первая строка ничего не сделала, вторая отразилась
Здравствуйте!
Контрол типа text по умолчанию создается только для чтения. Попробуйте описать виртуальное устройство так:
defineVirtualDevice("test", {
title: "тест",
cells: {
t1: {
type: "text",
value: "",
readonly: false,
},
},
});
После добавления опции readonly: false
все должно работать.
Информация описана здесь: Как писать правила — Wiren Board
3 Likes