Вот, к примеру, что у меня получилость для управления бистабильным реле:
defineVirtualDevice("water_state", {
title: "Water state", //
cells: {
'Water' : {
type : "text",
value : ""
}
}
});
defineRule("water_on", {
when: function () {
return dev["wb-gpio"]["D2_IN"] == 1;
},
then: function () {
startTimer("TimerA3", 1000);
dev["wb-gpio"]["Relay_1"] = 1;
dev["wb-gpio"]["A3_OUT"] = 1;
dev.water_state["Water"] = "ОТКРЫТА";
}
});
defineRule("water_off", {
when: function () {
return dev["wb-gpio"]["D2_IN"] == 0;
},
then: function () {
startTimer("TimerA3", 1000);
dev["wb-gpio"]["Relay_1"] = 0;
dev["wb-gpio"]["A1_OUT"] = 1;
dev.water_state["Water"] = "ЗАКРЫТА";
}
});
defineRule("water_end_pulse", {
when: function () {
return timers.TimerA3.firing;
},
then: function () {
dev["wb-gpio"]["A1_OUT"] = 0;
dev["wb-gpio"]["A3_OUT"] = 0;
// timers.TimerA3.stop();
}
});
1 лайк