https://wirenboard.com/wiki/Rule_Examples
Обработка ошибок в работе с serial-устройствами
defineVirtualDevice("meta_error_test", {
title: "Metaerordisplay",
cells: {
topic: {
type: "text",
value: "",
readonly: true
},
value: {
type: "text",
value: "",
readonly: true
},
}
});
trackMqtt("/devices/+/controls/+/meta/error", function(message){
log.info("name: {}, value: {}".format(message.topic, message.value))
if (message.value=="r"){
dev["meta_error_test/topic"] = message.topic;
dev["meta_error_test/value"] = message.value;
}
});
// отправим смс каждый раз, когда первое реле на модуле WB-MR3 станет недоступно
defineRule("onRelayLost", {
asSoonAs: function () { // также возможно использовать параметр when
return (dev["wb-mr3_48/K1#error"]);
},
then: function () {
log("ERROR: " + dev["wb-mr3_48/K1#error"]);
Notify.sendSMS(...);
}
});