Создал устройство:
defineVirtualDevice("alarm_system", {
title: "Сигнализация",
cells: {
"State": {
type: "text",
order: 1,
value: "Not set", // Без этого устройство не создается, ругается
readonly: false
},
"Alarm": {
type: "switch",
value: false,
order: 5,
readonly: false
}
}
});
defineRule("alarm_fired", {
whenChanged: "alarm_system/Alarm",
then: function (newValue, devName, cellName) {
if (newValue === true) {
dev["wb-mr6cu"]["K3"] = 1;
}
}
});
Через MQTT State изменяется на другую строку. Я вижу это через MQTT explorer и через веб-интерфейс WB в разделе “Каналы MQTT”.
Я пытаюсь получить это значение скриптом и… оно всегда равно тому что было в “value” при создании виртуального устройства.
defineRule("auto_fans_30m", {
when: cron("*/15 * * * *"),
then: function () {
var AlarmStatus = dev["alarm_system"]["State"];
log("Статус сигналки: " + AlarmStatus);
}
});
Что я делаю не так?
P.S. Вторым скриптом я легко получаю данные термометров и прочего, проблема именно с моим устройством.