Данную схему я уже собрал и смигрировал ее работу в HA где-то полгода назад и она находилась в тестовом режиме эксплуатации. Постоянно приходилось ее совершенствовать и дорабатывать. Теперь можно и делиться наработками. Начну пожалуй с конца 😉 Из каких элементов все это собрано вы можете ознакомиться из видео, которое я оставлю в конце поста. На самом деле там все просто. Сразу перейду к автоматизации. Схема состоит из : Xiaomi Mi Smart Wifi socket (не Zigbee) – 2шт, датчика протечки Aqara Smart Home Water Sensor, любой управляемый шарнирный кран воды (напряжение 220В или другое, на выбор), можно камеру добавить (?) и немного прямых рук. Датчик протечки располагается по местом вероятного попадания воды, две розетки подключаются через Mihome, шарнирный кран устаналивается на ввод воды дома. Выглядит это примерно так. Кстати если все таки интересно будет как все это собрать и внедрить технически и наберутся хотя бы человек 10 желаиющих – распишем детально с картинками 🙂
Далее в дело вступает тяжелая артиллерия – Home Assistant. Но, каков сценарий всей этой релизации.
- при наличии воды в месте датчика протечки воды – он меняет свое состояние с off на on. Мне высылается первичное оповещение о наличии воды (аварии). Далее для управления открытием и закрытием краном вступает в бой наши две розетки wifi, одна их которых открывает (подает питание на 1 канал) шаровой кран, вторая розетка делает наоборот – закрывает (также подает питание на 2 канал) шаровой кран. У крана 3 контакта – 2 управляющих и 1 общий. У меня 220В значить это будет общий N (ноль) и управляющий L (фаза) (или наоборот, точно не помню). Если на один контакт подать управляющее напряжение (на втором отключить) – то он будет либо в открытом либо в закрытом состоянии. Одновременно если подать на все три контакта – то он будет попеременно открывать и закрывать кран. Это надо учесть. Розетки WIFI как раз и будут этим заниматься – одна розетка отключает, другая выключает кран. В моем случае : нет автоматической подачи воды – мне приходят оповещения об аварии с детализацией и уже далее подключаюсь я к камере и смотрю на истинное происхождение дел. Включение воды я решил сделать мануально. Можно автоматизировать на автоподачу – но тут дело вкуса.
Скрипты автоматизации для датчика протечки (automation.yaml)
# ДАТЧИК ПРОТЕЧКИ под котлом Buderus - alias: water leak bedroom-1 buderus trigger: - platform: state entity_id: binary_sensor.water_leak_sensor_158d0001d589cc to: 'on' - platform: state entity_id: binary_sensor.water_leak_sensor_158d0001d589cc to: 'off' action: - service: notify.telegram data: message: > {% if is_state("binary_sensor.water_leak_sensor_158d0001d589cc", "on") %} Обнаружена протечка под котлом! {% elif is_state("binary_sensor.water_leak_sensor_158d0001d589cc", "off") %} Протечка под котлом устранена! {% else %} {% endif %} - service: switch.turn_off entity_id: switch.plug_room1_1 - service: switch.turn_on entity_id: switch.plug_room1_2
Скрипты автоматизации для переключения розеток (automation.yaml)
switch.plug_room1_1 – wifi розетка на открывание воды
switch.plug_room1_2 – wifi розетка на закрытие воды
- alias: Tap Alert in Bathroom-1 P1-1 trigger: - platform: state entity_id: switch.plug_room1_1 to: 'off' condition: - condition: state entity_id: switch.plug_room1_2 state: 'on' action: - service: notify.telegram data: message: "Подача воды в дом заблокирована. Требуется вмешательство. Время срабывания: {{ states('sensor.time_date')}}" - alias: Tap Alert in Bathroom-1 P1-2 trigger: - platform: state entity_id: switch.plug_room1_2 to: 'on' condition: - condition: state entity_id: switch.plug_room1_1 state: 'off' action: - service: notify.telegram data: message: "Подача воды в дом заблокирована. Требуется вмешательство. Время срабывания: {{ states('sensor.time_date')}}" - alias: Tap Alert in Bathroom-1 P1-3 trigger: - platform: state entity_id: switch.plug_room1_1 to: 'on' condition: - condition: state entity_id: switch.plug_room1_2 state: 'off' action: - service: notify.telegram data: message: "Подача воды в дом восстановлена. Не требуется вмешательство. Время срабывания: {{ states('sensor.time_date') }}" - alias: Tap Alert in Bathroom-1 P2 trigger: - platform: state entity_id: switch.plug_room1_1 to: 'on' condition: - condition: state entity_id: switch.plug_room1_2 state: 'on' action: - service: notify.telegram data: message: "Сбой системы. Обнаружено открытие и закрытие одновременно крана воды в доме. Требуется вмешательство." - alias: Tap Alert in Bathroom-1 P3 trigger: - platform: state entity_id: switch.plug_room1_1 to: 'off' condition: - condition: state entity_id: switch.plug_room1_2 state: 'off' action: - service: notify.telegram data: message: "Сбой системы в водоснабжении. Требуется вмешательство. Время срабывания: {{ states('sensor.time_date') }}" - alias: Tap Alert in Bathroom-1 P4 trigger: - platform: state entity_id: switch.plug_room1_2 to: 'off' condition: - condition: state entity_id: switch.plug_room1_1 state: 'off' # - delay: 00:00:10 action: - service: notify.telegram data: message: "Сбой системы в водоснабжении. Требуется вмешательство. Время срабывания: {{ states('sensor.time_date') }}"
Видео инструкция как все это собрать
зачем все так сложно с контактами?