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

Нет описания правки
(Отметить эту версию для перевода)
Строка 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-->
547

правок