Add files from /homeassistant/includes/packages/

This commit is contained in:
Hermes Agent
2026-07-13 10:06:40 +07:00
parent 8d4100bccc
commit 076aff1ce9
17 changed files with 7410 additions and 0 deletions
+202
View File
@@ -0,0 +1,202 @@
fun:
####################Таймеры###############################
timer:
vent_work:
name: Вытяжка в ванной – время работы
duration: "00:20:00"
vent_cooldown:
name: Вытяжка в ванной – время отдыха
duration: "01:00:00"
####################Автоматизации###############################
automation:
- alias: Вытяжка в ванной – умное включение
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
above: 50
- platform: state
entity_id: binary_sensor.datchik_prisutstviia_vannaia_presence
to: "on"
for: "00:10:00"
condition:
- condition: state
entity_id: timer.vent_cooldown
state: "idle"
- condition: or
conditions:
# Лето и влажность > 50
- condition: and
conditions:
- condition: template
value_template: "{{ now().month in [6,7,8] }}"
- condition: numeric_state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
above: 50
# Не лето и влажность > 60
- condition: and
conditions:
- condition: template
value_template: "{{ now().month not in [6,7,8] }}"
- condition: numeric_state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
above: 60
# Или присутствие
- condition: state
entity_id: binary_sensor.datchik_prisutstviia_vannaia_presence
state: "on"
action:
- service: switch.turn_on
target:
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
- alias: Вытяжка в ванной – старт таймера при включении
mode: restart
trigger:
- platform: state
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
to: "on"
action:
- service: timer.start
target:
entity_id: timer.vent_work
- alias: Вытяжка в ванной – выключение и cooldown
mode: restart
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.vent_work
action:
- service: switch.turn_off
target:
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
- service: timer.start
target:
entity_id: timer.vent_cooldown
- alias: Вытяжка в ванной – периодическая проверка влажности
mode: single
trigger:
# После перезапуска Home Assistant
- platform: homeassistant
event: start
# Периодическая проверка каждые 5 минут
- platform: time_pattern
minutes: "/5"
condition:
# Вентиляция сейчас выключена
- condition: state
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
state: "off"
# Таймер отдыха закончился
- condition: state
entity_id: timer.vent_cooldown
state: "idle"
# Влажность выше порога по сезонам
- condition: or
conditions:
# Лето → >50%
- condition: and
conditions:
- condition: template
value_template: "{{ now().month in [6,7,8] }}"
- condition: numeric_state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
above: 50
# Не лето → >60%
- condition: and
conditions:
- condition: template
value_template: "{{ now().month not in [6,7,8] }}"
- condition: numeric_state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
above: 60
action:
- service: switch.turn_on
target:
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
- alias: Вытяжка в ванной – резкий рост влажности
mode: restart
trigger:
- platform: state
entity_id: sensor.datchik_temperatury_i_vlazhnosti_vanna_humidity
condition:
- condition: template
value_template: >
{% if trigger.from_state is none or trigger.to_state is none %}
false
{% else %}
{% set from_s = trigger.from_state.state %}
{% set to_s = trigger.to_state.state %}
{% if from_s in ['unknown','unavailable','none','']
or to_s in ['unknown','unavailable','none',''] %}
false
{% else %}
{{ (to_s | float - from_s | float) >= 15 }}
{% endif %}
{% endif %}
action:
- choose:
# Вытяжка уже работает → +10 минут
- conditions:
- condition: state
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
state: "on"
sequence:
- variables:
remaining: "{{ state_attr('timer.vent_work','remaining') }}"
- service: timer.start
target:
entity_id: timer.vent_work
data:
duration: >
{% if remaining is none %}
00:10:00
{% else %}
{{ (as_timedelta(remaining) + timedelta(minutes=10)) }}
{% endif %}
# Вытяжка выключена → включить на 20 минут (игнор cooldown)
default:
- service: switch.turn_on
target:
entity_id: switch.rele_zerkalo_i_ventiliatsiia_l2
- service: timer.start
target:
entity_id: timer.vent_work
data:
duration: "00:20:00"