Najpierw kilka słów wyjaśnienia. Brama garażowa - jeden przycisk wyzwalający. W momencie kiedy Zamknięta - naciśnięcie otwiera ją, kiedy Otwarta - naciśnięcie zamyka. W trakcie ruchu naciśnięcie przycisku zatrzymuje ją, ponowne nacięcie po zatrzymaniu rozpoczyna bieg w przeciwną stronę do tego z przed zatrzymania. Wstawiony i podłączony LoraTap/Tuya - Garage Opener. I w zasadzie na defaulcie działa. Oczywiście zachciało mi się poprawek (np. aby nie było dwóch przycisków, i aby zachowanie wyzwolenia było zgodne z opisem wyżej).
Za słaby jestem w YAML jednak opisawszy temat AI otrzymałem pliki razem z opisami co jest czym i co robi. I tak moja brama ma przycisk ją uruchamiający (w HA jest to switch.garaz_brama_trigger) oraz czujnik kontaktowy (w HA jest to binary_sensor.garaz_brama_garage_door_contact). Brama otwiera się i zamyka ok. 15 sekund.
Stworzyło trzy pliki:
- input_select.yaml
input_select:
stan_bramy_garazowej:
name: Stan bramy garażowej
options:
- "zamknięta"
- "otwarta"
- "otwiera się"
- "zamyka się"
- "zatrzymana"
initial: "zamknięta"
icon: "mdi:garage"
- cover.yaml
- platform: template
covers:
drzwi_garazowe:
friendly_name: "Drzwi garażowe"
value_template: "{{ is_state('input_select.stan_bramy_garazowej', 'zamknięta') == false }}"
open_cover:
service: script.otworz_lub_zatrzymaj_brame
close_cover:
service: script.otworz_lub_zatrzymaj_brame
stop_cover:
service: script.otworz_lub_zatrzymaj_brame
icon_template: >-
{% if is_state('input_select.stan_bramy_garazowej', 'otwarta') %}
mdi:garage-open
{% elif is_state('input_select.stan_bramy_garazowej', 'zamknięta') %}
mdi:garage
{% elif is_state('input_select.stan_bramy_garazowej', 'otwiera się') %}
mdi:garage-alert
{% elif is_state('input_select.stan_bramy_garazowej', 'zamyka się') %}
mdi:garage-alert
{% else %}
mdi:garage-stop
{% endif %}
- script.yaml
otworz_lub_zatrzymaj_brame:
alias: "Otwórz lub zatrzymaj bramę"
sequence:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.czujnik_bramy_garazowej
state: "off" # Brama zamknięta
sequence:
- service: switch.turn_on
entity_id: switch.przycisk_bramy_garazowej
- service: input_select.select_option
data:
entity_id: input_select.stan_bramy_garazowej
option: "otwiera się"
- delay: "00:00:10" # Czas otwierania
- service: input_select.select_option
data:
entity_id: input_select.stan_bramy_garazowej
option: "otwarta"
- conditions:
- condition: state
entity_id: binary_sensor.czujnik_bramy_garazowej
state: "on" # Brama otwarta
sequence:
- service: switch.turn_on
entity_id: switch.przycisk_bramy_garazowej
- service: input_select.select_option
data:
entity_id: input_select.stan_bramy_garazowej
option: "zamyka się"
- delay: "00:00:10" # Czas zamykania
- service: input_select.select_option
data:
entity_id: input_select.stan_bramy_garazowej
option: "zamknięta"
mode: single
I jest tak, że prawie (!) to działa… bo po jakimś czasie przestaje… ale w sumie prośba o pomoc jest tak, że nie wiem dlaczego (AI po meczeniu mówi, że błąd musi być w innej części konfiguracji… co jest dziwne bo nie ma innej części) w kilku miejscach pojawia się komentarz HA
String does not mach the patter of "LEGACY_SYNTAX"
(np. w cover.yaml przy
open_cover:
service: script.otworz_lub_zatrzymaj_brame
czy script.yaml
przy
sequence:
- service: switch.turn_on
i
- service: input_select.select_option
A to już przerasta mnie (co zrozumiałe) i AI… może ktoś z Was coś doradzi.