🔲 Prosty przycisk - przykład

Prosty przycisk - przykład

:black_square_button:

Tak jak opisaliśmy w dokumentacji wyzwalaczem automatyzacji może być zdarzenie naciśnięcia przycisku:

Kody przycisków może wysyłać dowolne urządzenie USB HID. Możemy np. podłączyć coś takiego za kilka $ do bramki AIS

i sterować otwieraniem drzwi na portierni czy włączać alarm w banku :wink:

2 przykłady automatyzacji:

Jolka czyta kod ostatni naciśniętego przycisku z kontrolera:

alias: Czytanie kodu przycisku
description: ''
trigger:
  - platform: event
    event_type: ais_key_event
    event_data: {}
condition: []
action:
  - service: ais_ai_service.say_it
    data:
      text: |
        Kod przycisku {{trigger.event.data.code}}
mode: single

Jolka uruchamia skrypt (sekwencje akcji) w zależności od kodu przycisku z kontrolera

alias: Otwarcie drzwi lub uruchomienie alarmu
trigger:
  - platform: event
    event_type: ais_key_event
    event_data:
      code: 52
  - platform: event
    event_type: ais_key_event
    event_data:
      code: 54
condition: []
action:
  - service: |
      {% if trigger.event.data.code == 54 %}
        script.otwieranie_drzwi_sejfu
      {% elif trigger.event.data.code == 52 %}
        script.uruchomienie_alarmu
      {% endif %}
mode: single

2 polubienia

@jolka fajne, nie wiem czy praktyczne na dwóch przyciskach ale pójdźmy o krok dalej i … podłączamy do bramki taką klawiaturę “Klawiatura UGO Askja K140 Przewodowa Czarna US (UKL-1527)” (z morele.net). Zakładam, że jestem wstanie odczytać każdy kod naciśniętego klawisza a jak odczytać sekwencję naciśniętych klawiszy zatwierdzonych enterem, np. 7 7 ENTER albo 2 → ENTER (otwórz bramę nr 2. :grinning:)

Może tak - 11 pomocników automatyzacji (0-9 i Enter). Odpiwiedni dla danego klawisza zmienia swój stan po naciśnięciu.

A dalej automatyzacja, która się wykona przy danej sekwencji pomocników (warunki)

Drugi sposób - zmienne i odczyt z trigger.event.data.code (if i elif) w skypcie