Добрый день, есть MAP12 вывели по нему значения, подскажите пожалуйста как сделать суммарные значения. То что хотим сделать отобразил на рисунке:)
Добрый день.
Создайте виртуальное устройство с контролом, в котором будет храниться сумма и правило, в котором при изменении wb-map12e_191/Ch 1 Irms L1
или wb-map12e_191/Ch 2 Irms L1
будет высчитываться их сумма и записываться в этот контрол.
После этого в редакторе связей svg можно будет выбрать необходимый канал.
Доброе утро, к сожалению, с программированием работал только в школе, сейчас сложно сразу с ориентироваться. Итак, что сделал: создал новое правило, скопировал туда скрипт виртуального устройства. Данные устройства появились в каналах, но дальше как темный лес, можно пожалуйста подсказать поподробнее как сделать устройство с контролом?
Сейчас код выглядит так:
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 для получения данных за определенный период.