В какой-то момент один из параметров виртуального устройства (type : “range”, forceDefault : true,
value : 1, max : 3), стал сам по себе устанавливаться в новое значение - 2. Это происходит после перезагрузки или после сохранения скрипта. Причем сначала он устанавливается в инициализирующее значение 1, а потом в 2.
Я закоментировал все скрипты и отключил связь чтобы никто не писал в топики, но это не помогло. Глюк пропал после команды mqtt-delete-retained ‘/devices/VirtualDevice/#’
Хотелось бы понять что это было, и как подобного избежать.
freemanon, добрый день!
Возможно, это баг в движке.
Покажите ваш скрипт, пожалуйста. Какая версия движка установлена?
Version: 1.7.1
Скрипт довольно большой чтобы его сюда копировать и ничто в скрипте не писало в это виртуальное устройство, тем более я закоментировал все правила.
Значения параметрам виртуального устройства задавала MasterSCADA, через серверный MQTT-брокер и далее через MQTT-bridge контроллера. Возможно в MQTT-bridge есть какой-то кэш, который не корректно очистился или другой механизм где значение зависло.
Я подозреваю, что это retained-сообщение, которое приходит после запуска движка правил и подключения его к MQTT. Можете хотя бы показать, как вы создаете виртуальное устройство?
defineVirtualDevice("ASUNO", {
title: "Обмен данными со SCADA",
cells: {
Mode1 : {
type : "range",
forceDefault : true,
value : 1,
max : 3,
// readonly : true,
},
Mode2 : {
type : "range",
forceDefault : true,
value : 1,
max : 3,
// readonly : true,
},
Mode3 : {
type : "range",
forceDefault : true,
value : 1,
max : 3,
// readonly : true,
},
StateLine1 : {
type : "switch",
//value : dev["wb-gpio/EXT1_IN2"],
value : false,
readonly : true,
},
StateLine2 : {
type : "switch",
//value : dev["wb-gpio/EXT1_IN3"],
value : false,
readonly : true,
},
StateLine3 : {
type : "switch",
value : false,
//value : dev["wb-gpio/EXT1_IN4"],
readonly : true,
},
Door : {
type : "switch",
// forceDefault : false,
//value : dev["wb-gpio/EXT1_IN1"],
value : false,
readonly : true,
},
Energy : {
type : "power_consumption",
value : 0.0, //dev["mercury230ar02_30/Total consumption"];
readonly : true,
},
U1 : {
type : "voltage",
value : 0.0,
readonly : true,
},
U2 : {
type : "voltage",
value : 0.0,
readonly : true,
},
U3 : {
type : "voltage",
value : 0.0,
readonly : true,
},
I1 : {
type : "value",
value : 0.0,
readonly : true,
},
I2 : {
type : "value",
value : 0.0,
readonly : true,
},
I3 : {
type : "value",
value : 0.0,
readonly : true,
},
Power : {
type : "power",
value : 0.0,
readonly : true,
},
}
});
как-то странно сохраняет
Спасибо, попробую воспроизвести на стенде, напишу по результатам.