WB-MCM8 и расходомер


#1

Добрый день!
Имеется модуль WB-MCM8, к которому подключена кучка расходомеров с весом импульса 10л/имп. Как получить в mqtt текущее значение расхода, например в л/мин? Пробовал что-то в таком духе в конфигурации Serial Device:
{
“name”: “Flow1”,
“type”: “water_flow”,
“reg_type”: “holding”,
“address”: “34”,
“format”: “s16”,
“scale”: 100,
“offset”: 0
}
Тип регистра перебирал, но получаю всегда “Error: r”.
чяднт и как сделать правильно?


#2

Добрый день!

Думаю, будет лучше оставить опрос WB-MCM8 со стандартным шаблоном, а для реальных показаний счётчиков создать через движок правил виртуальные устройства, привязанные к данным с WB-MCM8 через whenChanged().


#3

Спасибо!
А пример не подскажите? Сходу в wiki не нашел похожего.


#4

Добрый день. Вот тут добавил Пример работы с импульсными счетчиками. Точное значение расхода л\мин на mcm8 сложно реализовать. Так как устройство опрашивается по модбасу - нельзя измерить точное время между импульсами.
Можно попробовать считать примерное время между импульсами:

var date = Date.now();

defineRule("water_flow", {
    whenChanged: "wb-mcm8_29/Input 1 counter",
    then: function(newValue, devName, cellName) {
       var flowLm = ((60000/(Date.now() - date))* 10).toFixed(2);
       date = Date.now(); 
       log(flowLm);
    }
});

Но это будет не очень точно.


#5

Огромное спасибо за помощь!