O NasBlogKontakt
ProduktyESP 8x10A gen2Konfiguracja Oprogramowania

Automatyzacje Wewnętrzne

Przygotuj swoje pierwsze automatyzacje wewnętrzne!

Czym są Automatyzacje Wewnętrzne?

Automatyzacje wewnętrzne to potężny sposób na tworzenie prostych, kluczowych automatyzacji, które działają bezpośrednio na Twoim sterowniku boneIO ESP. Oznacza to, że będą działać nawet wtedy, gdy Twoja główna centrala inteligentnego domu (jak Home Assistant) będzie offline. Są idealne do obsługi krytycznych funkcji, takich jak włączanie światła za pomocą przełącznika naściennego.

Podstawowa automatyzacja: Przełączanie światła

Zacznijmy od domyślnej konfiguracji, która łączy naciśnięcie przycisku ze światłem.

binary_sensor:
  - platform: gpio
    name: 'IN_01_Przycisk_Sypialnia1'
    id: in_01
    pin:
      pcf8574: pcf_inputs_1to14
      number: 0
      mode:
        input: true
      inverted: true
    on_press: # To jest nasz wyzwalacz automatyzacji
      then:
        - light.toggle: light_01 # To jest akcja do wykonania

light:
  - platform: binary
    name: 'Światło 01'
    output: out_01
    id: light_01

W sekcji on_press: definiujemy, co dzieje się po naciśnięciu przycisku.
Akcja - light.toggle: light_01 przełączy stan światła o identyfikatorze light_01.

Ta sama logika dotyczy przełączników (switch). Jedyną różnicą jest to, że akcja brzmiałaby - switch.toggle: switch_01. Proste!

Zaawansowana automatyzacja: Multi-Click (Wielokrotne Kliknięcie)

ESPHome pozwala zdefiniować wiele akcji dla jednego przycisku w zależności od sposobu jego naciśnięcia (pojedyncze, podwójne lub długie naciśnięcie). Służy do tego komponent on_multi_click.

Skonfigurujmy jeden przycisk (in_01) do sterowania trzema różnymi światłami.

1. Cel

  • Pojedyncze kliknięcie: Przełącz light_01.
  • Podwójne kliknięcie: Przełącz light_02.
  • Długie naciśnięcie: Przełącz light_03.

2. Konfiguracja

Najpierw upewnij się, że masz zdefiniowane swoje światła. Następnie w konfiguracji binary_sensor zamień on_press na on_multi_click.

# Upewnij się, że te światła są zdefiniowane w innej części Twojej konfiguracji
light:
  - platform: binary
    name: 'Światło 01'
    output: out_01
    id: light_01
  - platform: binary
    name: 'Światło 02'
    output: out_02
    id: light_02
  - platform: binary
    name: 'Światło 03'
    output: out_03
    id: light_03

# Teraz skonfiguruj automatyzację multi-click
binary_sensor:
  - platform: gpio
    name: 'IN_01_Przycisk_MultiClick'
    id: in_01
    pin:
      pcf8574: pcf_inputs_1to14
      number: 0
      mode:
        input: true
      inverted: true
    on_multi_click:
      # Uwaga: Kolejność ma znaczenie! ESPHome sprawdza od góry do dołu.
      # Najlepiej jest definiować najbardziej złożone wzorce (najdłuższe kliknięcia) jako pierwsze.

      # 1. Akcja dla długiego naciśnięcia
      - timing:
          - ON for at least 1.4s
        then:
          - logger.log: 'Wykryto długie naciśnięcie, przełączam Światło 3'
          - light.toggle: light_03

      # 2. Akcja dla podwójnego kliknięcia
      - timing:
          - ON for at most 1s
          - OFF for at most 0.5s
          - ON for at most 1s
          - OFF for at least 0.2s
        then:
          - logger.log: 'Wykryto podwójne kliknięcie, przełączam Światło 2'
          - light.toggle: light_02

      # 3. Akcja dla pojedynczego kliknięcia
      - timing:
          - ON for at most 1s
          - OFF for at least 0.5s
        then:
          - logger.log: 'Wykryto pojedyncze kliknięcie, przełączam Światło 1'
          - light.toggle: light_01

3. Jak to działa?

Automatyzacja on_multi_click sprawdza sekwencję bloków timing od góry do dołu. Wykonywany jest pierwszy, który pasuje do wzorca naciśnięcia przycisku przez użytkownika.

  • timing: Definiuje wzorzec stanów ON (wciśnięty) i OFF (puszczony). Możesz dostosować wartości czasu (np. at most 1s, at least 0.5s), aby precyzyjnie dostroić responsywność, ale domyślne ustawienia są zazwyczaj dobrym punktem wyjścia.

  • then: Ten blok zawiera akcje do wykonania, gdy wzorzec timing zostanie dopasowany. Dodaliśmy akcję logger.log, która jest bardzo pomocna przy debugowaniu automatyzacji w logach urządzenia.

Układając kliknięcia od najbardziej złożonego (długie naciśnięcie) do najprostszego (pojedyncze kliknięcie), zapewniasz, że długie naciśnięcie nie wywoła również akcji pojedynczego kliknięcia.