Счетчики воды не считают

Проблема следующая:
На два входа контроллера A1 IN, и A2 IN подключил счетчики воды по вот этой интсрукции, но топики новые _current и _total пустые

У меня два вопроса:

  • Как заставить топики эти работать?
  • Как выставить некоторое начальное значение счетчика (синхронизировать показания в топике с реальными показаниями) ?
1 лайк

Добрый день.
Посмотрите тут:

Выполнил следующие действия:

  • Остановил сервис,
  • Записал значения в _total и _current топики на всякий случай,

mosquitto_pub -r -m 0.00 -t /devices/wb-gpio/controls/A1_OUT_total
mosquitto_pub -r -m 0.00 -t /devices/wb-gpio/controls/A2_OUT_total
mosquitto_pub -r -m 0.00 -t /devices/wb-gpio/controls/A1_OUT_current
mosquitto_pub -r -m 0.00 -t /devices/wb-gpio/controls/A2_OUT_current

  • Запустил сервис

Не работает :frowning_face:

После включения воды вижу что состояния линий A1, A2 меняются т.е. сервис отрабатывает в этом плане, но топики не меняются.

Все заработало, не те пины настраивал :slight_smile: нужно было IN пины настраивать

Вопросы такие еще остались - почему при включении pulse режима для входного gpio перестают обновляться состояния топиков /devices/wb-gpio/controls/A{x}_IN ?

Как сделать так чтобы топик _current считал не в метрах кубических в час, а например литрах в минуту? Есть такие настроки у пина?

Может мне кто-нибуть дать ответ по вопросу?

Нет, единицы не сменить.
Но если нужно в литрах - создайте виртуальное устройство, в котором можно умножть на 1000 значение топика счетчика.
Значение - даже несмотря на выбор выводимого количества знаков
Screenshot from 2021-04-09 20-24-30
хранится все равно с дробной частью.

Я не понял про виртуальное устройство, можете разъяснить что это такое и с чем его едят?

Но боюсь проблема не в еденицах, а в дельте перерасчета параметра - в моем случае счетчик воды выдает один импульс на 10 литров потребления, а с учетом того что автоматизирую квартиру, то импульсы не часты (бассейны я не набираю), как я вижу проблему нужна кастомизация параметра временной дельты перерасчета параметра. Понимаю что такой возможности сейчас нету, НО можно же добавить такой параметр в gpio параметрах и добавить реакцию на них - можете подсказать как мне такой параметр добавить и где находится логика расчета _current параметров (исходники) ?

Вот так:
https://wirenboard.com/wiki/Rule_Examples#.D0.A1.D0.BB.D0.B5.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.BE.D0.BB.D0.BE.D0.BC
Только в качестве источника - счетчик.

Исходники:

Сам рассчет потока:
https://github.com/wirenboard/wb-homa-gpio/blob/master/gpio_counter.cpp