wb_editors
902
правки
Matveevrj (обсуждение | вклад) (Отметить эту версию для перевода) |
Brainroot (обсуждение | вклад) (Добавил пример с функкцией) |
||
Строка 511: | Строка 511: | ||
}); | }); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Но когда устройств/правил много их целесообразно создавать одной функцией, передавая в нее разные параметры: | |||
<syntaxhighlight lang="ecmascript"> | |||
function ruleCO2 (devCO2, minCO2, maxCO2){ | |||
//log.info("rule create", devCO2) | |||
defineRule ("ruleCO2"+devCO2, { | |||
whenChanged: devCO2+"/CO2", | |||
then: function(newValue, devName, cellName) { | |||
//log.info("rule enter") | |||
if (newValue < minCO2) { | |||
dev[devCO2+"/LED Glow Duration (ms)"] = 50; | |||
dev[devCO2+"/Green LED"] = true; | |||
dev[devCO2+"/Red LED"] = false; | |||
dev[devCO2+"/LED Period (s)"] = 3; | |||
} | |||
if ((newValue > minCO2) && (newValue < maxCO2)) { | |||
dev[devCO2+"/LED Glow Duration (ms)"] = 50; | |||
dev[devCO2+"/Green LED"] = true; | |||
dev[devCO2+"/Red LED"] = true; | |||
dev[devCO2+"/LED Period (s)"] = 2; | |||
} | |||
if (newValue > maxCO2) { | |||
dev[devCO2+"/LED Glow Duration (ms)"] = 50; | |||
dev[devCO2+"/Green LED"] = false; | |||
dev[devCO2+"/Red LED"] = true; | |||
dev[devCO2+"/LED Period (s)"] = 1; | |||
} | |||
} | |||
}); | |||
} | |||
ruleCO2("wb-msw-v3_97", 650, 1000); | |||
ruleCO2("wb-msw-v3_98", 650, 1000); | |||
ruleCO2("wb-msw-v3_11", 500, 700); | |||
</syntaxhighlight> | |||
</div> | </div> | ||
=== Max Motion === <!--T:220--> | === Max Motion === <!--T:220--> | ||
"Max Motion" - максимальное значение датчика движения за N время. Время от 1 до 60 секунд можно выставить в 282 регистре. По умолчанию 10 секунд. При достижении Max Motion значения 50 проверяем достаточно ли освещена комната, если нет - включаем свет. Как только значение Max Motion упадет ниже 50 свет выключаем. | "Max Motion" - максимальное значение датчика движения за N время. Время от 1 до 60 секунд можно выставить в 282 регистре. По умолчанию 10 секунд. При достижении Max Motion значения 50 проверяем достаточно ли освещена комната, если нет - включаем свет. Как только значение Max Motion упадет ниже 50 свет выключаем. |