Skip to main content

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.

AIS button

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.

AIS button

Oczywiście dla wygody można dodać tę encję jako kartę w aplikacji:

AIS button

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.

AIS button

Gdy już wiemy, jaki kod ma przycisk, którym chcemy wyzwalać automatyzacje, to przechodzimy do jej definiowania.

Dodnie automatyzacji

  1. Nazwa automatyzacji, np. włączenie radia po naciśnięciu przycisku na kontrolerze

AIS button

  1. Wyzwalacz automatyzacji - ais_key_event

AIS button

  1. Akcja do wykonania

AIS button

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

AIS button

Schemat automatyzacji

Automatyzację wyzwalaną przez zdarzenie naciśnięcia przycisku możemy w łatwy sposób utworzyć na podstawie gotowego schematu automatyzacji.

Wystarczy, że:

  1. Wybierzemy predefiniowany schemat Wykonanie komendy po naciśnięciu przycisku Dodanie nowej automatyzacji

  2. Uzupełnimy i zapiszemy zdefiniowany szablon: Dodanie nowej automatyzacji