Добрый день!
Тестирую PersistentStorage, и, кажется, есть проблема.
Я сделал скрипт для установки запомненных состояний реле после отключения питания
var signals = {
"ReleOnSitRoom1": "wb-gpio/A1_OUT",
"ReleOnSitRoom2": "wb-gpio/A2_OUT",
"ReleOnSitRoom3": "wb-gpio/A3_OUT",
"ReleOnSitRoom4": "wb-gpio/A4_OUT"
}
var initDelay = 20;
var storage = new PersistentStorage("retained-storage");
function addRetainedParameter(signal) {
defineRule(signal + "_rule", {
whenChanged: signal,
then: function (newValue) {
//log("Stored signal:" + storage[signal] + " signal newValue:" + newValue);
storage[signal] = newValue;
}
});
}
setTimeout(function () {
log("********start retained timeout********");
for (var s in signals) {
//log("REestoring retained signal " + signals[s]);
//log("dev[" + signals[s] + "]:" + dev[signals[s]]);
//log("storage[" + signals[s] + "]:" + storage[signals[s]]);
if (storage[signals[s]] != undefined) {
dev[signals[s]] = storage[signals[s]];
}
for (var i = 0; i < 9999; i++) { }
addRetainedParameter(signals[s]);
}
}, initDelay * 1000);
Работает супер при рестарте wb-rules и даже после команды reboot
А вот если питание выдернуть, то при старте контроллера все значения undefined
Можно с этим что-то сделать?