Суммирование данных в svg панели


Добрый день, есть MAP12 вывели по нему значения, подскажите пожалуйста как сделать суммарные значения. То что хотим сделать отобразил на рисунке:)

Добрый день.

Создайте виртуальное устройство с контролом, в котором будет храниться сумма и правило, в котором при изменении wb-map12e_191/Ch 1 Irms L1 или wb-map12e_191/Ch 2 Irms L1 будет высчитываться их сумма и записываться в этот контрол.
После этого в редакторе связей svg можно будет выбрать необходимый канал.

:frowning: Доброе утро, к сожалению, с программированием работал только в школе, сейчас сложно сразу с ориентироваться. Итак, что сделал: создал новое правило, скопировал туда скрипт виртуального устройства. Данные устройства появились в каналах, но дальше как темный лес, можно пожалуйста подсказать поподробнее как сделать устройство с контролом?:frowning:
Сейчас код выглядит так:
defineVirtualDevice(‘my-virtual-device’, {
title: ‘MyVirtualDeviceTitle’ ,
cells: {
ControlName1: {
title: “Toк Розетки”,
type: “switch”,
value: false
},
ControlName2: {
title: “Ток освещение”,
type: “range”,
value: 25,
max: 100,
min: 1
},
}
});

как именно создать устройство wb-map12e_191/Ch 1 Irms L1 или wb-map12e_191/Ch 2 Irms L1с контролом
Спасибо

Добрый день.

defineVirtualDevice('dev', {
    cells: {
      sum: {
        type: "value",
        value: 0
      }
    }
});

defineRule({ 
  whenChanged: ["wb-map12e_191/Ch 1 Irms L1", "wb-map12e_191/Ch 2 Irms L1"],
  then: function () {
    dev["dev/sum"] = dev["wb-map12e_191/Ch 1 Irms L1"] + dev["wb-map12e_191/Ch 2 Irms L1"];
  }
});

В редакторе связей svg нужно будет выбрать dev/sum

Большое спасибо, обновили скрипт , добавил видимость данного канала (см. приложение).
Ток 0, значение не меняется

Значение будет меняться только при изменении значений контролов wb-map12e_191/Ch 1 Irms L1 или wb-map12e_191/Ch 2 Irms L1. Если они не меняются, то и сумма не изменится.

Разобрались спасибо, был нюанс:
Для тока type: “current”
Для мощности type: “power”
Для показаний type: “power_consumption”
Подскажите пожалуйста, теперь переходим к следующему этапу, как можно сделать простейшие отчеты, а именно вывод показаний (wb-map12e_191/Ch 1 Total AP energy) на начало конец выбранного периода? Например с 17.03.2024 00:00 по 18.03.2024 00:00

Если имеется ввиду вывод показаний на svg, то так же нужно будет написать скрипт, который будет считать разницу и записывать в контрол виртуального устройства. Можно воспользоваться wb-mqtt-db-cli и runShellCommand для получения данных за определенный период.