Движок правил wb-rules: различия между версиями
(Отметить эту версию для перевода) |
Ian (обсуждение | вклад) |
||
Строка 829: | Строка 829: | ||
=== Импульсные счетчики === | |||
Импульсный счетчик подключен к WB-MCM8. Выдает 1 импульс на 10 литров воды. При подключении на счетчике были показания 123.120 m3, что равно 123120 литрам воды. У WB-MCM8 при подключении было насчитано 0 импульсов. | |||
<syntaxhighlight lang="ecmascript"> | |||
var meterCorrection = 123120 // Корректировочное значение в литрах | |||
var inpulseValue = 10 // Количество литров на один импульс | |||
defineVirtualDevice("water_meters", { // Создаем виртуальный девайс для отображения в веб интерфейсе. | |||
title: "Счетчики воды", | |||
cells: { | |||
water_meter_1: { | |||
type: "value", | |||
value: 0 | |||
}, | |||
} | |||
}); | |||
defineRule("water_meter_1", { | |||
whenChanged: "wb-mcm8_29/Input 1 counter", | |||
then: function(newValue, devName, cellName) { | |||
if(newValue){ | |||
dev["water_meters"]["water_meter_1"] = (parseInt(newValue) * inpulseValue) + meterCorrection; // Умножаем значение счетчика на количество литров/импульс и прибавляем корректировочное значение. | |||
} | |||
} | |||
}); | |||
</syntaxhighlight> | |||
=== Сложные правила с расписаниями === <!--T:138--> | === Сложные правила с расписаниями === <!--T:138--> |