3690
правок
Строка 62: | Строка 62: | ||
} | } | ||
}); | }); | ||
</syntaxhighlight> | |||
=== Роллеты === | |||
Одно реле включает двигатель, поднимающий шторы, второе реле - включает двигатель, опускающий шторы. | |||
Правило следит за тем, чтобы оба реле не были включены одновременно. | |||
Кроме этого, правило отключает двигатели, спустя заданное время после включения. | |||
<syntaxhighlight lang="ecmascript"> | |||
(function() { | |||
defineAlias("relay_up_1", "lc103_4/Relay 1"); | |||
defineAlias("relay_down_1", "lc103_4/Relay 2"); | |||
var timeout_s = 15; | |||
defineRule("roller_shutter_1_up_on", { | |||
asSoonAs: function() { | |||
return relay_up_1; | |||
}, | |||
then: function () { | |||
setTimeout(function() { | |||
relay_up_1 = 0; | |||
}, timeout_s * 1000); | |||
} | |||
}); | |||
defineRule("roller_shutter_1_down_on", { | |||
asSoonAs: function() { | |||
return relay_down_1; | |||
}, | |||
then: function () { | |||
setTimeout(function() { | |||
relay_down_1 = 0; | |||
}, timeout_s * 1000); | |||
} | |||
}); | |||
defineRule("roller_shutter_1_both_on", { | |||
asSoonAs: function() { | |||
return relay_up_1 && relay_down_1; | |||
}, | |||
then: function () { | |||
relay_up_1 = 0; | |||
relay_down_1 = 0; | |||
log("Both roller shutter relays on, switching them off"); | |||
} | |||
}); | |||
})(); | |||
</syntaxhighlight> | </syntaxhighlight> |