Движок правил wb-rules: различия между версиями

Строка 44: Строка 44:


=== Первое правило с виртуальным устройством ===
=== Первое правило с виртуальным устройством ===
То же самое, но с виртуальным девайсом в качестве источника событий. Пример использования: сценарная кнопка, которая включает/выключает сирену и лампочку.
Создаём виртуальный переключатель, при нажатии на который переключаются сразу два реле.


<syntaxhighlight lang="ecmascript">
<syntaxhighlight lang="ecmascript">
defineVirtualDevice("simple_test", {
defineVirtualDevice("switch_both", {
     title: "Simple switch",
     title: "Switch both relays",
     cells: {
     cells: {
enabled: {
enabled: {
Строка 57: Строка 57:
});
});


 
defineRule("control_both", {
defineRule("simple_switch", {
   whenChanged: "switch_both/enabled",
   whenChanged: "simple_test/enabled",
   then: function (newValue, devName, cellName) {
   then: function (newValue, devName, cellName) {
dev["wb-mrm2_130"]["Relay 1"] = newValue;
dev["wb-gpio"]["Relay_2"] = newValue;
    dev["wb-mrm2_130"]["Relay 2"] = newValue;
dev["wb-mrm2_6"]["Relay 1"] = newValue;
 
   }
   }
});
});
</syntaxhighlight>
</syntaxhighlight>