Интеграция контроллера Wiren Board с сервисом Ватериус

Общая информация
Доступно в релизе testing
Ватериус (waterius.ru) — сервис передачи показаний счетчиков.
Счетчики опрашиваются контроллером Wiren Board, а пакет wb-mqtt-waterius отправляет показания в личный кабинет Ватериус. В выбранные дни и время сервис читает значения каналов контроллера и передаёт их в облако через HTTP API.
Из личного кабинета показания уходят в различные сервисы, часть отправлений бесплатна, часть входит в платную подписку, актуальный список и условия смотрите в документации waterius.
Одно устройство в настройках — это один ключ, один лицевой счет в кабинете Ватериус с поддержкой до четырёх счетчиков. Воду и электричество обычно отправляют двумя устройствами, потому что показания по ним уходят в разные управляющие компании.
Для работы нужны учётная запись на account.waterius.ru и доступ контроллера в интернет. Сервер Ватериус хранит одно показание в сутки.
Что понадобится
Сервис получает готовые значения из каналов контроллера. Поэтому до настройки интеграции счетчики уже должны быть подключены и видны в веб-интерфейсе:
- вода и газ — счетчики с импульсным выходом на универсальные входы контроллера или на модули WB-MCM8 и WB-MWAC v.2, см. Подключение устройств с импульсными выходами к контроллеру;
- электроэнергия — счетчики WB-MAP3E и WB-MAP12E, в их каналах есть накопленная активная энергия;
- остальные счетчики с интерфейсом RS-485 — по шаблону драйвера wb-mqtt-serial.
Показание уходит в Ватериус в том виде, в каком оно опубликовано в MQTT, поэтому вес импульса и единицы измерения задаются там, где заведён счетчик. В канале-источнике должно быть показание нарастающим итогом.
Установка
Внимание! Если на вашем контроллере размер корневого раздела rootfs 1 Гб, расширьте его до 2 Гбайт или больше по инструкции.
Подключитесь к консоли контроллера по SSH и выполните команду:
apt update && apt install wb-mqtt-waterius
После установки сервис wb-mqtt-waterius запускается автоматически.
Настройка
Шаг 1. Получить ключ в кабинете Ватериус

Войдите на account.waterius.ru и нажмите «Добавить устройство» в верхнем меню. В разделе «Умный дом» выберите WirenBoard и нажмите «Подключить».
Откроется страница устройства с ключом. Скопируйте ключ — он понадобится в конфигураторе.
Шаг 2. Настроить сервис в веб-интерфейсе


Откройте Настройки → Конфигурационные файлы → «Подача показаний счетчиков в Ватериус», заполните форму и нажмите «Записать».
| Параметр | Описание |
|---|---|
| Время отправки | Время автоматической отправки в выбранные дни, по умолчанию 03:00 |
| Дни отправки | Дни недели, по которым отправляются показания |
| Ключ | Ключ устройства, скопированный из кабинета Ватериус |
| Название устройства | Название устройства в кабинете Ватериус, не длиннее 30 символов. Обновляется в кабинете при каждой отправке показаний. Если поле пустое, название, заданное в кабинете, не меняется |
| Счетчики → Канал MQTT | Канал, из которого берётся показание, в виде устройство/канал. Поле подсказывает каналы, которые есть на контроллере
|
| Счетчики → Тип счетчика | Холодная вода, Горячая вода, Питьевая вода, Газ, Отопление, Электричество, а также Электричество по зонам суток — День, Ночь, Пик, Полупик |
| Счетчики → Серийный номер | Необязательный серийный номер счетчика, не длиннее 15 символов. Перезаписывает номер, заданный в личном кабинете Ватериус, при каждой отправке |
Время отправки — местное время контроллера. Часовой пояс сервис берёт из системных настроек, посмотреть его вместе с текущим временем можно командой timedatectl, а само время видно в канале Текущее время на устройстве интеграции. Новый контроллер приезжает с часовым поясом UTC, сменить его можно по инструкции Настройка даты и времени в контроллере Wiren Board.
Шаг 3. Проверить результат

После записи настроек в разделе Устройства появится устройство «Интеграция с Ватериус» и по одному устройству на каждый ключ. Дождитесь отправки по расписанию или отправьте показания вручную (см. Управление из командной строки), а затем проверьте показания в кабинете Ватериус.
Счетчики в кабинете создаются сами при первой отправке, вручную добавлять их не нужно. Если показания на месте — интеграция работает.
Представление в веб-интерфейсе
Устройство интеграции

| Канал | Назначение |
|---|---|
| Интеграция включена | Переключатель автоматической отправки. Пока он выключен, показания по расписанию не отправляются, настройки при этом сохраняются |
| Состояние | Текущее состояние сервиса |
| Версия | Версия установленного пакета |
| Текущее время | Время контроллера |
| Следующая отправка | Дата и время следующей отправки по расписанию, --:-- — если отправка не запланирована
|
Значения канала Состояние:
| Состояние | Когда появляется |
|---|---|
| Инициализация запущена | Сервис запускается |
| Настройки не корректны | В настройках нет ни одного устройства или конфигурационный файл прочитать не удалось |
| Отключен | Автоматическая отправка выключена переключателем |
| Активен | Сервис работает, ошибок нет |
| Есть ошибки | Хотя бы одно устройство не отправило показания |
Устройство ключа

На каждый ключ создаётся своё устройство. Оно называется «Ватериус - название устройства», а если название не задано — по первым пяти символам ключа со звёздочкой в конце, например «Ватериус - 01234*
| Канал | Назначение |
|---|---|
| Отправлено | Дата и время последней успешной отправки показаний этого устройства — только чтение |
| Каналы счетчиков | Показания, которые уходят в Ватериус. Название канала и единицы измерения соответствуют выбранному типу счетчика — только чтение |
| Ошибки | Текст последней ошибки отправки. Канал при этом подсвечивается красным |
Как работает отправка
Сервис сверяется с расписанием раз в минуту и в заданное время отправляет показания всех настроенных устройств по очереди, с небольшой паузой между запросами. Показания берутся в момент отправки — сервис не хранит историю значений, в кабинет попадает то, что опубликовано в MQTT на этот момент.
Если отправка не прошла из-за сети или сервер ответил временной ошибкой, запрос повторяется несколько раз подряд, а затем — раз в минуту до конца суток, пока не пройдёт. Если сервер не нашёл устройство по ключу, отправка не повторяется, сначала исправьте ключ в настройках.
Если в заданное время сервис не работал, показания уйдут при первом же запуске в те же сутки. После полуночи отправка за прошедший день не повторяется. Результат каждой отправки виден в устройстве ключа — в канале Отправлено или Ошибки.
Управление из командной строки
Отправить показания немедленно, не дожидаясь расписания:
wb-mqtt-waterius send
Проверить, что уйдёт в облако, ничего не отправляя:
wb-mqtt-waterius send --dry-run
Узнать версию установленного пакета:
wb-mqtt-waterius --version
Ограничения
- до 4 счетчиков на один ключ, для большего числа счетчиков нужны дополнительные устройства со своими ключами;
- сервер Ватериус хранит одно показание в сутки, поэтому более частая отправка новых записей в кабинете не даёт;
- показания передаются так, как опубликованы в MQTT, сервис не пересчитывает импульсы и не меняет единицы измерения;
- автоматическая отправка возможна только по расписанию контроллера, принудительная — из командной строки.
Поиск и устранение неисправностей
Журнал сервиса виден в веб-интерфейсе: Настройки → Логи, сервис wb-mqtt-waterius. Состояние сервиса на контроллере:
systemctl status wb-mqtt-waterius
Последние 100 строк журнала:
journalctl -u wb-mqtt-waterius -n 100
Настройки лежат в /etc/wb-mqtt-waterius.conf. Обычно их правят через конфигуратор, но если правите файл вручную — перезапустите сервис командой systemctl restart wb-mqtt-waterius.
| Что видно | Что делать |
|---|---|
| Состояние Настройки не корректны | В настройках нет ни одного устройства или конфигурационный файл повреждён. Откройте конфигуратор, проверьте настройки и запишите их заново |
| В канале Ошибки сообщение о том, что нет данных с каналов | Канал-источник ничего не публикует. Убедитесь, что счетчик опрашивается, а его значение видно в разделе Устройства |
| В канале Ошибки сообщение о том, что ключ не принят | Ключ не зарегистрирован в кабинете Ватериус. Сверьте ключ в настройках с ключом на странице устройства в кабинете |
| Показания не появляются в кабинете | Проверьте канал Отправлено, если отправки не было, проверьте переключатель Интеграция включена, расписание и доступ контроллера в интернет |
| Состояние Отключен | Автоматическая отправка выключена переключателем Интеграция включена |
Удаление интеграции
apt purge wb-mqtt-waterius
Виртуальные устройства сервиса удаляются из MQTT автоматически при удалении пакета, purge дополнительно убирает сохранённое состояние интеграции и настройки.
Полезные ссылки
- waterius.ru — сайт сервиса Ватериус.
- account.waterius.ru — личный кабинет Ватериус.
- Репозиторий wb-mqtt-waterius — исходный код сервиса.
- Подключение устройств с импульсными выходами к контроллеру.
- Работа контроллера с MQTT.