Считаем воду и не только
Лень двигатель прогресса... В очередной раз забыв передать показания счетчика в управляющую компанию, я решил, что с этим надо что-то делать. На тот момент у меня не было никакой домашней автоматизации, о всяких ардуино я слышал только краем уха, не говоря уже о ЛУТ и прочем. Сейчас оглядываясь назад я могу с уверенностью сказать: лентяй, который двигает прогресс- тот еще трудоголик.
Но, как говорится, от слов к делу.
За все время использования у меня было 3 версии счетчика воды :
v1. Умеет считывать и хранить расход воды и отправлять через WiFi письма в УК, имеет web интерфейс
v2. Все то же самое, только еще считывает статус с устройства защиты от протечек Нептун, а так же может им управлять через web интерфейс, строит графики потребления воды.
v3. Не умеет отправлять почту, нет web интерфейса. Ну чем не прогресс? Зато вся логика вынесена в Home Assistant, устройство умеет общаться по mqtt с сервером. Такая архитектура дала возможность установить на стояк батарей (он у меня один) электро краны и сделать простейшее устройство управляемое по mqtt, а не покупать отдельный блок нептуна для них.
Схема устройства
https://easyeda.com/cpsskipper/water_counter
Плата изготовлена по технологии ЛУТ
Esp8266 (в реализации Wemos) - микропроцессор и связь по WiFi
ADS1115 АЦП, т.к в EPS8266 только один АЦП. Использование АЦП связано с типом счетчиков воды. В моем случае параллельно геркону в счетчике стоит сопротивление, поэтому цепь не размыкается никогда.
Реле на 5V - замыкание сухих контактов в Нептуне для управления кранами
Прошивка написана в Arduino IDE. не забудьте скачать библиотеку для ESP8266.
Принцип написания - побольше говнокода и костылей, так что не пинайте. написано давно, вычищать лень.
В коде подставляем свои логин и пароль от WiFi и mqtt
Настройка Home Assistant
Скачиваем и сохраняем water.yaml в директорию /config/packages/
https://yadi.sk/d/PeAGvBkg7-M1Bw
Письма отправляются через Gmail. Прописываем вашу учетку в Email Notify, отредактируйте текст письма, чтобы было понятно от какой квартиры пришли показания.
В файле configuration.yaml указываем
homeassistant:
packages: !include_dir_named packages
На Lovelace вытаскиваем созданные объекты. В итоге получится следующая карточка
По итогу
1. Счетчик воды. При отключении электричества показания не сбрасываются.
2. Передача показаний счетчиков в УК по Email в заданный день месяца
3. Можно легко прикрутить графики потребления воды с помощью плагина Grafana
4. Информирование по Email о перекрытии кранов в доме
5. Позволяет удаленно перекрывать воду в доме
P.S Если у вас что-то не получается - пишите. Постараюсь помочь.
Ну похвалюсь и я: у меня уже года 4 все показания (2ГВС, 2 ХВС и электричество) сохраняются на локальный сервак и по нажатию кнопки в веб-интерфейсе отправляются в УК. Ну и интерфейс с графиками потребления с разбивкой по каждому стояку в наличии.
У меня похожая система работает на wemos esp8266. Писал под себя. Две платы для двух стояков. Через геркон снимаются показания воды и передаются на домашний сервак, на котором работает python web приложение и сохраняет данные в базу. Раз в месяц cron задача запускает python скрипт для автоматической передачи показаний воды на портал Москвы. Ну и как плюшка всякий красивые графики. Ну и в качестве обратной связи ещё после передачи на моспортал сообщение в телеграмм о расходе воды и прочая статистика. Думал буду меньше тратить воды - не фига:) да, ещё есть опция оповещения в телеграмм, если зафиксирован расход воды, когда дома никого нет. На сервер использую помимо всего domoticz с интеграцией apple home kit для удобной интеграции с Apple устройствами...но это уже другая история