Считаем воду и не только
Лень двигатель прогресса... В очередной раз забыв передать показания счетчика в управляющую компанию, я решил, что с этим надо что-то делать. На тот момент у меня не было никакой домашней автоматизации, о всяких ардуино я слышал только краем уха, не говоря уже о ЛУТ и прочем. Сейчас оглядываясь назад я могу с уверенностью сказать: лентяй, который двигает прогресс- тот еще трудоголик.
Но, как говорится, от слов к делу.
За все время использования у меня было 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 Если у вас что-то не получается - пишите. Постараюсь помочь.