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_01W 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_013. 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 wzorzectimingzostanie 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.