7825
правок
Admin (обсуждение | вклад) |
Fizikdaos (обсуждение | вклад) |
||
Строка 325: | Строка 325: | ||
== Правила для датчика MSW v.3 == | |||
При подключении датчика WB-MSW v.3 к контроллеру Wiren Board есть возможность создавать интересные сценарии, используя данные с датчика. На пример Включать свет по движению, сигнализировать светодиодами о превышении значения СО2 или VOC, Включать Кондиционер, если жарко или увлажнитель воздуха, если воздух слишком сухой. Правила создаются индивидуально под задачи. Здесь мы приведем несколько примеров для понимания принципа работы с датчиком. Больше примеров написания правил можно найти в документации '''[[Движок правил wb-rules]]'''. | |||
=== CO2 === | |||
При концентрации CO2 меньше 650 - раз в 10 секунд мигаем зеленым. | |||
При концентрации CO2 свыше 651, но меньше 1000 - раз в 5 секунд мигаем желтым. | |||
При концентрации CO2 свыше 1001 - раз в секунду мигаем красным. | |||
<div class="mw-collapsible mw-collapsed"; style="width:600px; overflow: hidden;"> | |||
<syntaxhighlight lang="ecmascript"> | |||
defineRule("msw3_co2", { | |||
whenChanged: "wb-msw-v3_97/CO2", | |||
then: function(newValue, devName, cellName) { | |||
var co2_good = newValue < 650; | |||
var co2_middle = newValue < 1000 && newValue > 651; | |||
var co2_bad = newValue > 1001; | |||
if (co2_good) { | |||
dev[devName]["Green LED"] = true; | |||
dev[devName]["Red LED"] = false; | |||
dev[devName]["LED Period (s)"] = 10; | |||
} | |||
if (co2_middle) { | |||
dev[devName]["Green LED"] = true; | |||
dev[devName]["Red LED"] = true; | |||
dev[devName]["LED Period (s)"] = 5; | |||
} | |||
if (co2_bad) { | |||
dev[devName]["Green LED"] = false; | |||
dev[devName]["Red LED"] = true; | |||
dev[devName]["LED Period (s)"] = 1; | |||
} | |||
} | |||
}); | |||
</syntaxhighlight> | |||
</div> | |||
=== Max Motion === | |||
"Max Motion" - максимальное значение датчика движения за N время. Время от 1 до 60 секунд можно выставить в 282 регистре. По умолчанию 10 секунд. При достижении Max Motion значения 50 проверяем достаточно ли освещена комната, если нет - включаем свет. Как только значение Max Motion упадет ниже 50 свет выключаем. | |||
<div class="mw-collapsible mw-collapsed"; style="width:600px; overflow: hidden;"> | |||
<syntaxhighlight lang="ecmascript"> | |||
defineRule("msw3_Motion", { | |||
whenChanged: "wb-msw-v3_97/Max Motion", | |||
then: function(newValue, devName, cellName) { | |||
if (newValue > 50) { | |||
if (dev["wb-msw-v3_97"]["Illuminance"] < 50) { | |||
dev["wb-mr3_11"]["K1"] = true; | |||
} | |||
} else { | |||
dev["wb-mr3_11"]["K1"] = false; | |||
} | |||
} | |||
}); | |||
</syntaxhighlight> | |||
</div> | |||
=== Системные правила === <!--T:70--> | === Системные правила === <!--T:70--> |