Automatyzacja wyzwalana przyciskiem
Wprowadzenie
Bramka obsługuje urządzenia USB klasy HID (Human Interface Device), które służą głównie do interakcji z użytkownikiem. Naciśnięcie przycisku na klawiaturze czy innym kontrolerze USB HID podłączonym do bramki, przesyłane jest do Asystenta domowego jako zdarzenie. Takie zdarzenia mogą wyzwalać automatyzacje. Opiszemy to na przykładzie poniżej.
Rozpoznawanie zdarzeń typu 'naciśnięcie przycisku'
Po podłączeniu do USB kontrolera i jego poprawnym rozpoznaniu przez system, asystent powie "Dodano urządzenie ....".
W trybie sterowania bez monitora, kody przycisków z kontrolerów wysyłane są tylko do Asystenta domowego jako zdarzenia typu ais_key_event i nie są obsługiwane przez system. W trybie sterowania na monitorze, kody przycisków z kontrolerów wysyłane są do Asystenta domowego jako zdarzenia typu ais_key_event oraz są obsługiwane przez system.
Żeby dowiedzieć się, jaki kod ma przycisk, który naciskamy, wystarczy sprawdzić stan encji: binary_sensor.ais_remote_button - to jest kod ostatnio naciśniętego przycisku.
Oczywiście dla wygody można dodać tę encję jako kartę w aplikacji:
Kod tej karty:
type: button
tap_action:
action: none
entity: binary_sensor.ais_remote_button
show_state: true
hold_action:
action: none
show_name: true
icon: 'hass:keyboard-settings'
name: Kod przycisku kontrolera HID
Dzięki tej karcie możemy zobaczyć w aplikacji, jakie kody kryją się pod przyciskami w naszych kontrolerach HID.
Gdy już wiemy, jaki kod ma przycisk, którym chcemy wyzwalać automatyzacje, to przechodzimy do jej definiowania.
Dodnie automatyzacji
- Nazwa automatyzacji, np. włączenie radia po naciśnięciu przycisku na kontrolerze
- Wyzwalacz automatyzacji - ais_key_event
- Akcja do wykonania
Kod automatyzacji
Kod automatyzacji w formacie YAML:
alias: Włączenie radia Zet po naciśnięciu przycisku z kodem 15 na kontrolerze
description: ''
trigger:
- platform: event
event_type: ais_key_event
event_data:
code: '15'
condition: []
action:
- service: ais_ai_service.process
data:
text: Włącz radio ZET
- device_id: ''
domain: ''
entity_id: ''
mode: single
Możemy w automatyzacji zmienić tryb edycji na YAML i łatwo przekleić kod do swojej automatyzacji
Schemat automatyzacji
Automatyzację wyzwalaną przez zdarzenie naciśnięcia przycisku możemy w łatwy sposób utworzyć na podstawie gotowego schematu automatyzacji.
Wystarczy, że:
- Wybierzemy predefiniowany schemat Wykonanie komendy po naciśnięciu przycisku
- Uzupełnimy i zapiszemy zdefiniowany szablon: