Добрый день.
Подключил датчик давления ОВЕН 4-20 мА к wb-mai2-mini. Все отлично. Ток показывает.
Хочу перевести показания из mA в bar. Для этого показания в мА необходимо разделить на 4 и отнять единичку. И эти показания хочу выводить в веб.
Вот код:
//Перевод показаний датчика давления из mA в bar(Мпа).
defineVirtualDevice(“HeatPress”, { // Создаем виртуальный девайс для отображения в веб интерфейсе.
title: “Текущее давление в системе отопления”,
cells: {
HeatPressVol: {
type: “value”,
value: dev[“HeatPress/HeatPressVol”]
},
}
});
defineRule(“HeatPressVol”, {
whenChanged: “wb-mai2-mini_53/Current input 1”,
then: function(newValue, devName, cellName) {
if(newValue){
// dev[“HeatPress/HeatPressVol”] = dev [“wb-mai2-mini_53/Current input 1”]/4-1;
dev[“HeatPress/HeatPressVol”] = parseInt(newValue)/4-1;
}
}
});
Однако виртуалдевайс все время отображается как 0. Не пойму, что делаю не так.
Пробовал два варианта (один из которых сейчас закоментирован. Не отрабатывает.
Спасибо.
если дописать +5
defineVirtualDevice(“HeatPress”, {
title: “Текущее давление в системе отопления”,
cells: {
HeatPressVol: {
type: “value”,
value: dev[“HeatPress/HeatPressVol”]+5
},
}
});
то отображает 5
Добавьте отладочный вывод внутри правила HeatPressVol log("newValue: {}, devName: {}, cellName`: {}", newValue, devName, cellName); и посмотрите, вызывается ли оно вообще.
Топик (wb-mai2-mini_53/Current input 1) точно правильный?
Просто нажмите на него во вкладке Devices - название топика скопируется в нужном виде.
И, да, оно таки не wb-mai2-mini_53/Current input 1, а wb-mai2-mini_53/Current input 1 (mA).