Last active
August 17, 2025 08:18
-
-
Save saippuakauppias/cd5b49b9a3410039b3727e925ed55fa6 to your computer and use it in GitHub Desktop.
[HA] Мониторинг давления воды
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| alias: Мониторинг давления воды (ввод) | |
| description: Отправляет уведомления при падении и восстановлении давления воды | |
| triggers: | |
| - trigger: template | |
| id: pressure_drop | |
| value_template: | | |
| {% set current = states('sensor.davlenie_vody_vvod_bar') | float(0) %} | |
| {% set average = states('sensor.srednee_davlenie_vody_vvod') | float(0) %} | |
| {% set threshold = average * 0.6 %} | |
| {{ current < threshold and current > 0 and average > 0 }} | |
| for: | |
| minutes: 2 | |
| - trigger: template | |
| id: pressure_restored | |
| value_template: | | |
| {% set current = states('sensor.davlenie_vody_vvod_bar') | float(0) %} | |
| {% set average = states('sensor.srednee_davlenie_vody_vvod') | float(0) %} | |
| {{ current >= 3.5 and current > average * 1.2 and average > 0 }} | |
| for: | |
| minutes: 3 | |
| - trigger: state | |
| id: long_boolean_state | |
| entity_id: | |
| - input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| for: | |
| hours: 25 | |
| minutes: 0 | |
| seconds: 0 | |
| to: "on" | |
| conditions: [] | |
| actions: | |
| - alias: Отключение | |
| if: | |
| - condition: trigger | |
| id: pressure_drop | |
| - condition: numeric_state | |
| entity_id: sensor.davlenie_vody_vvod_bar | |
| below: 3.5 | |
| - condition: state | |
| entity_id: input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| state: "off" | |
| then: | |
| - action: notify.warning | |
| data: | |
| title: ⚠️ Падение давления воды | |
| message: > | |
| – Текущее давление: {{ states('sensor.davlenie_vody_vvod_bar') }} | |
| Bar | |
| – Среднее за 15 мин: {{ states('sensor.srednee_davlenie_vody_vvod') | |
| | round(2) }} Bar | |
| – Падение: {{ ((1 - (states('sensor.davlenie_vody_vvod_bar') | float | |
| / states('sensor.srednee_davlenie_vody_vvod') | float)) * 100) | | |
| round(1) }}% | |
| - action: input_boolean.turn_on | |
| target: | |
| entity_id: input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| data: {} | |
| - alias: Восстановление | |
| if: | |
| - condition: trigger | |
| id: pressure_restored | |
| - condition: numeric_state | |
| entity_id: sensor.davlenie_vody_vvod_bar | |
| above: 3.5 | |
| - condition: state | |
| entity_id: input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| state: "on" | |
| enabled: true | |
| then: | |
| - action: notify.warning | |
| data: | |
| title: ✅ Давление воды восстановлено | |
| message: >- | |
| – Текущее давление: {{ states('sensor.davlenie_vody_vvod_bar') }} | |
| Bar | |
| – Среднее за 15 мин: {{ states('sensor.srednee_davlenie_vody_vvod') | |
| | round(2) }} Bar | |
| {# – Восстановление: {{ (((states('sensor.davlenie_vody_vvod_bar') | | |
| float / states('sensor.srednee_davlenie_vody_vvod') | float) - 1) * | |
| 100) | round(1) }}% #} | |
| Отключение длилось: {{ | |
| relative_time(states.input_boolean.avariinoe_sostoianie_davleniia_vody_vvod.last_changed) | |
| }} | |
| - action: input_boolean.turn_off | |
| target: | |
| entity_id: input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| data: {} | |
| - alias: Сброс состояния аварии | |
| if: | |
| - condition: trigger | |
| id: | |
| - long_boolean_state | |
| then: | |
| - action: input_boolean.turn_off | |
| target: | |
| entity_id: input_boolean.avariinoe_sostoianie_davleniia_vody_vvod | |
| data: {} | |
| mode: single |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment