WB-MSW v.3 Modbus Sensor: различия между версиями

Строка 373: Строка 373:
'''Autocad PDF:''' [[File:WB-MSW-v.3.pdf]]
'''Autocad PDF:''' [[File:WB-MSW-v.3.pdf]]


== Примеры правил wb-rules ==
При подключении датчика 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>
</translate>
</translate>