Загрузка данных
- alias: "Ворота: Отслеживание конечного автомата"
id: garage_door_state_tracker
mode: restart
trigger:
- platform: state
entity_id: switch.maingaragedoor_state
id: relay_changed
- platform: state
entity_id: binary_sensor.maingaragedoor_garage_door_contact
to: "on"
id: reed_closed
- platform: state
entity_id: binary_sensor.maingaragedoor_garage_door_contact
to: "off"
id: reed_opened
action:
- choose:
# 1. Геркон замкнулся
- conditions:
- condition: trigger
id: reed_closed
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "closed"
# 2. Геркон разомкнулся (физический пульт)
- conditions:
- condition: trigger
id: reed_opened
- condition: state
entity_id: input_select.garage_door_state
state: "closed"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "opening"
- delay: "00:00:15" # Время полного открытия
- condition: state
entity_id: input_select.garage_door_state
state: "opening"
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "open"
# 3. Нажали кнопку в интерфейсе HA
- conditions:
- condition: trigger
id: relay_changed
sequence:
- choose:
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "closed"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "opening"
- delay: "00:00:15"
- condition: state
entity_id: input_select.garage_door_state
state: "opening"
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "open"
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "opening"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "stopped_opening"
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "open"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "closing"
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "closing"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "stopped_closing"
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "stopped_opening"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "closing"
- conditions:
- condition: state
entity_id: input_select.garage_door_state
state: "stopped_closing"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "opening"
- delay: "00:00:15"
- condition: state
entity_id: input_select.garage_door_state
state: "opening"
- service: input_select.select_option
target:
entity_id: input_select.garage_door_state
data:
option: "open"