Сбор и контроль за расходом энергоресурсов - это одна из основных задач умного дома. С электроэнергией вроде всё понятно, но как быть со счётчиками воды и газа? С таким вопросом я обратился к всемирной сити, и обнаружил в продаже счётчики с электронной начинкой, которые периодически передают показания посредством Bluetooth с низким энергопотреблением (BLE).
Были закуплены два счётчика СВД-15 фирмы "Элехант", для горячей и холодной воды, и дистанционный считыватель показаний. Счётчики установил на трубопроводы
Для газов используем счётчики СГБД
BLE довольно легко принять с помощью того же смартфона или специализированного считывателя, но требуется не просто посмотреть показания, а передать их в систему умного дома, для последующей обработки, отображения и передачи показаний в соответствующие службы. Требуется мост между счётчиками и умным домом.
На просторах github.com я нашёл разработку Владимира Ермакова, которая принимает показания со счётчиков и передаёт на указанный сервер данные по MQTT.
Устройство собрано на ESP32
и блока питания на 5В HI-Link HLK-5M05.
Прошивку можно взять на github.com либо скачать в конце статьи.
Для загрузки прошивки в есп, запускаем программу Flash Download Tools, указываем пути до бинарных файлов, выставляем настройки, указываем порт, к которому подцеплена ESP32
Жмём кнопку "START" и дожидаемся окончания загрузки прошивки.
После перезапуска, есп поднимает точку доступа, к которой необходимо подключиться и загрузить файл config.json.
Перед загрузкой в файл вбиваем настройки домашней WiFi сети и сервера MQTT. Файл так же вложен в архив с прошивкой.
config.json Открыть
config.json Закрыть
{ "type": "ESP-PREFERENCES-V1.0", "prefs": { "wifi-ssid.0": "SSID", "wifi-passwd.0": "PASS", "wifi-ssid.1": "ap2", "wifi-passwd.1": "pw2", "mqtt-client-id": "elehant", "mqtt-broker": "IP_adres" } }
Мощность BLE сигнала довольно маленькая, поэтому есп должна располагаться в 2-3 метрах от счётчика. Уровень сигнала датчиков можно посмотреть на сервере умного дома.
Для интеграции счётчиков в Majordomo, заходим в Панель управления/Объекты и создаём новые объекты в категории SDevices/SCounters.
Заходим в раздел Устройства/MQTT (естественно модуль должен быть установлен и настроен).
Если Majordomo подписан на все топики, то увидим приходящую от счётчиков информацию. Для удобства восприятия жмём на кнопку "В виде дерева".
Список резко сократиться.
Жмём на надпись "tele/elehant". Список раскроется. Далее жмём "SNS/номер счётчика", там на "counter". Откроется список с данными счётчика.
Нас интересует данные в м3. Жмём на "m3", откроется окно для привязки значения к объекту. Тут всё просто, выбираем ранее созданный объект "cold_water" и свойство "value", сохраняем.
Теперь на против значения кубов в скобках появился привязанный объект.
Аналогично привязываются остальные счётчики "Элехант".
Далее эти данные можно вывести в виде таблицы, графиков.