Skip to content

Instantly share code, notes, and snippets.

@saippuakauppias
Last active August 17, 2025 08:18
Show Gist options
  • Select an option

  • Save saippuakauppias/cd5b49b9a3410039b3727e925ed55fa6 to your computer and use it in GitHub Desktop.

Select an option

Save saippuakauppias/cd5b49b9a3410039b3727e925ed55fa6 to your computer and use it in GitHub Desktop.
[HA] Мониторинг давления воды
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