Эта статья — для владельцев устройства Ватериус, которые хотят видеть его показания в контроллере WirenBoard.
| Схема | Когда нужна | Инструкция |
|---|---|---|
| 1. Ватериус → WirenBoard (эта статья) | У вас есть устройство Ватериус, и вы хотите видеть его показания в WirenBoard | — |
| 2. WirenBoard → облако Ватериуса | Устройства Ватериус нет, счётчики подключены прямо к WirenBoard, нужна отправка показаний в управляющую компанию | WirenBoard: отправка показаний в облако Ватериуса |
Схема работы: устройство Ватериус → [MQTT-брокер WirenBoard] → виртуальное устройство в WirenBoard
Ватериус подключается к WirenBoard по протоколу MQTT: контроллер WirenBoard выступает MQTT-брокером, а показания отображаются в виде виртуального устройства, которое создаёт наш wb-rules скрипт.
Обсуждение и готовый скрипт на официальном форуме WirenBoard: Как правильно подключить Ватериус к WirenBoard
Настройки MQTT заполняются так же, как для Home Assistant. Заполненное поле «Адрес сервера» включает отправку по протоколу MQTT.
| Поле | Описание | Пример | Обязательно |
|---|---|---|---|
| Адрес сервера | ip-адрес брокера или домен (без mqtt://, http://) | 192.168.1.10 | + |
| Порт | порт брокера | 1883 | + |
| Логин | логин для авторизованного доступа | username | − |
| Пароль | пароль для авторизованного доступа | secret | − |
| Топик | топик, по которому будут отсылаться данные | waterius/toilet | + |
Важно:
retain=true.Формат данных зависит от галки «Автодобавление в Home Assistant» (discovery):
waterius/toilet).waterius/toilet/ch0, waterius/toilet/ch1, waterius/toilet/f0 и т. д.Скрипт для WirenBoard (ниже) умеет читать оба варианта, поэтому галку можно оставить в любом положении.
Загрузите скрипт waterius_wirenboard.js в WirenBoard (движок правил wb-rules) и измените в нём переменную topic на тот топик, который вы указали в настройках Ватериуса:
var topic = "waterius/toilet";
Скрипт создаёт виртуальное устройство с полями:
| Поле в WirenBoard | Топик Ватериуса | Единицы |
|---|---|---|
| Горячая вода | ch0 | m³ |
| Холодная вода | ch1 | m³ |
| Вес горячей воды | f0 | имп/литр |
| Вес холодной воды | f1 | имп/литр |
| Период пробуждения | period_min | мин |
Название устройства («Ватериус (Туалет)») и состав полей можно менять прямо в скрипте.
Скрипт добавляет правила (defineRule), которые при изменении значения в интерфейсе WirenBoard публикуют его в топик <топик>/<параметр>/set. Ватериус применит новое значение при следующем выходе на связь.
| Параметр | Топик для записи | Тип данных | Пример | Версия прошивки |
|---|---|---|---|---|
| period_min | <топик>/period_min/set | целое число | 60 | ≥ 0.11.0 |
| f0 | <топик>/f0/set | целое число | 10 | ≥ 0.11.9 |
| f1 | <топик>/f1/set | целое число | 10 | ≥ 0.11.9 |
| ch0 | <топик>/ch0/set | дробное число | 121.4 | ≥ 0.11.9 |
| ch1 | <топик>/ch1/set | дробное число | 151.53 | ≥ 0.11.9 |
| cname0 / cname1 | <топик>/cname0/set | целое число | 0 | ≥ 1.0.2 |
| ctype0 / ctype1 | <топик>/ctype0/set | целое число | 0 | ≥ 1.0.2 |
| voltage_calibration | <топик>/voltage_calibration/set | целое число (только Ватериус 2) | 100 | ≥ 2.0.34 |
Ватериус передаёт гораздо больше данных, чем отображает скрипт по умолчанию: напряжение батареи, уровень сигнала Wi-Fi, MAC, IP, версию прошивки, счётчики импульсов, время пробуждения и т. д. Полное описание всех полей и значений cnameX / ctypeX / data_typeX — на GitHub: Export.md.
Если что-то не получается — пишите в наш телеграм-чат @waterius_forum.