Narzędzia użytkownika

Narzędzia witryny


automatyka:homeassistant

To jest stara wersja strony!


Home Assistant

Aplikacja Home Assistant na Android

Czasami po instalacji aplikacji jest problem z zalogowaniem się do naszego serwera HA. Najczęściej pojawia się biały ekran i nic więcej się nie dzieje. Po pierwsze możemy sprawdzić czy wpisując ten sam adres URL do zwykłej przeglądarki Chrome naszego telefonu. Jeżeli nie działa lub nie dochodzi do autoryzacji to możemy spróbować wykonać aktualizację Chrome. Jeśli po aktualizacji możemy się połączyć to aplikacja również powinna działać prawidłowo. Najwidoczniej aplikacja HA wykorzystuje cześć zasobów Chroma.

Node-RED

Po instalacji dodatku przejść na zakładkę Konfiguracja. Zaznaczyć Pokaż nieużywane opcjonalne opcje konfiguracji. W polu credential_secret ustalić hasło. Wyłączyć opcję ssl. Zapisać. Można uruchomić dodatek. Dodatkowo uaktywnić Uruchamianie przy starcie, Obserwator oraz Pokaż na pasku bocznym.

Kopia i przywracanie

Tworzenie kopii

dd bs=4M if=/dev/mmcblk0 of=/home/user/HomeAssistant/obraz_8GB.img status=progress

Przywracanie kopii

dd bs=4M if=/home/user/HomeAssistant/obraz_8GB.img of=/dev/mmcblk0 status=progress

Zdalny dostęp

Założenie domeny

Użyć serwisu https://www.ovhcloud.com/

  • Prosty interfejs
  • Widać koszt przedłużenia domeny w następnym roku.

W panelu OVH zmieniamy jedynie w zakładce Serwery DNS. Ich adresy odczytujemy z panelu Cloudflare. Przechodzimy do nasza_domena.ovh → DNS → Records i kopiujemy oba gabe.ns.cloudflare.com i sydney.ns.cloudflare.com do panelu OVH.

Po zmianie trzeba zaczekać na aktualizację.

Założenie chmury na Cloudflare

https://www.cloudflare.com/

  • Wybieramy wersję darmową
  • Po założeniu wybranej domeny w OVH dodajemy ją w panelu Cloudflare
  • Trzeba zaczekać na aktualizację serwerów DNS z Cloudflare wpisanych do OVH
  • Dopiero po potwierdzeniu przechodzimy do instalacji i konfiguracji dodatku Cloudflare w HomeAssistant

Instalacja dodatku Cloudflare w HomeAssistant

  • Ustawienia → Dodatki
  • Aby dodać Cloudflare należy dodać repozytorium
  • Wybieramy trzy kropki i dodajemy repozytorium https://github.com/brenner-tobias/ha-addons
  • Odświeżamy zakładkę dodatków
  • Instalujemy dodatek Cloudflare
  • W zakładce Konfiguracja dodajemy naszą domenę moja_domena.ovh
  • Kopiujemy z zakładki Dokumentacja dodatku wpis:
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
  • do pliku configuration.yaml HomeAssistant. Można to zrobić za pomocą dodatku File editor.
  • Uruchamiamy dodatek Cloudflare
  • W zakładce Logi dodatku kopiujemy adres https://dash.cloudflare.com/argotunnel?... do przeglądarki celem autoryzacji tunelu.
  • Po pozytywnych logach przeładować HomeAssistant

Logując się zdalnie do HomeAssistant wpisujemy https://moja_domena.ovh pamiętając o https.

ESPHome

Problem z kompilacją

Jeżeli jest problem z kompilacją to w konfiguracji dodatku ESPHome ustawienie compile_process_limit na wartość 1 powinno pomóc.

Jeżeli to nie pomaga a uzywamy RPi 3B+ lub niższy to prawdopodobnie mamy problem z małą ilością pamięci RAM. Możemy dodać swap.

  • Instalujemy dodatek: Advanced SSH & Web Terminal
  • W dodatku wyłączamy tryb ochrony
  • W konfiguracji ustalamy użytkownika i hasło
  • Za linią init_commands: [] dodajemy linię w formie jak niżej:
init_commands:
- if [ ! -f /backup/_swap.swap ]; then fallocate -l 2G /backup/_swap.swap && mkswap /backup/_swap.swap && chmod 0600 /backup/_swap.swap && swapon /backup/_swap.swap && echo SWAP_NEW_FILE_CREATED_USED ; elif [[ ! $(dmesg|grep _swap.swap) = *swap\ on* ]] ; then swapon /backup/_swap.swap && echo SWAP_USING_OLD_FILE ; else swapoff /backup/_swap.swap && swapon /backup/_swap.swap && echo SWAP_FINAL_ELSE_STATEMENT ; fi

Po przeładowaniu systemu możemy się zalogować przez SSH i sprawdzić poleceniem htop zasoby systemu. Plik swap powinien pracować prawidłowo a kompilacja powinna się powieźć. Ponadto możemy usunąć wcześniej ustalony limit w opcji compile_process_limit. Również ponownie możemy uruchomić tryb ochrony.

Należy zwrócić, że karta SD o pojemności 8GB to jest mało. Utworzenie pliku swap o wielkości 2GB praktycznie zajmie nam całą kartę. Do testów można utworzyć plik 1GB ale zalecane jest użycie karty SD minimum 16GB.

MCP23017

Przykład:

esphome:
  # To jest nazwa węzła. Powinien być zawsze unikalny w Twojej sieci ESPHome. 
  # Może zawierać tylko małe litery, cyfry i łączniki i może mieć domyślnie 
  # maksymalnie 24 znaki lub 31 znaków, jeśli name_add_mac_suffix 
  # ma wartość false. Nazwa ta odpowiada nazwie pliku yaml.
  name: "esp8266plytka"
  # Przyjazna nazwa. Można uzywać spacji. Jest używana przez 
  # Home Assistant jako nazwa integracji, nazwa urządzenia 
  # i w razie potrzeby jest automatycznie poprzedzany elementami.
  friendly_name: Wemos D1
  # Dodatkowe informacje tekstowe o tym węźle. 
  # Tylko do wyświetlania w interfejsie użytkownika.
  comment: Płytka testowa z Wemos D1.
  # w postaci <nazwa> -aabbcc. Domyślnie jest to fałsz. 
  # Zobacz Dodawanie adresu MAC jako przyrostka do nazwy urządzenia.
  name_add_mac_suffix: False

esp8266:
  board: esp01_1m
  framework:
    version: recommended
 
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  #manual_ip:
  #  static_ip: 192.168.3.21
  #  gateway: 192.168.3.1
  #  subnet: 255.255.255.0
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PLYTKA_TESTOWA"
    password: "skomplikowanehaslo"

captive_portal:
# Uruchomienie interfejsu i2c
i2c:
  sda: GPIO4
  scl: GPIO5
  scan: true
  # frequency: 100kHz
 
# Załadowanie obsługi ekspandera mcp23017
mcp23017:
  - id: 'mcp23017_U1'
    address: 0x20
  - id: 'mcp23017_U2'
    address: 0x21
 
# Wyjścia do sterowania
switch:
  - platform: gpio
    name: "Przekaźnik U1"
    id: przekaznik_u1
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U1
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false
  
  - platform: gpio
    name: "Przekaźnik U2"
    id: przekaznik_u2
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U2
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false

  - platform: gpio
    name: "Przekaźnik WeMos"
    id: przekaznik_wemos
    pin:
      number: GPIO12
      inverted: false
 
# Wejścia przycisków
binary_sensor:
  - platform: gpio
    name: "Przycisk pin 1 układu MCP U1"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u1
    pin:
      mcp23xxx: mcp23017_U1
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin 1 układu MCP U2"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u2
    pin:
      mcp23xxx: mcp23017_U2
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin D7 WeMos"
    pin:
      number: GPIO13
      inverted: True    
    on_press:
      switch.toggle: przekaznik_wemos
    device_class: connectivity

Adresy wyjść

Maksymalnie do jednej linii I²C możemy podłączyć do ośmiu układów co da nam do dyspozycji 128 portów.

Adres Pin Układ Nazwa Chip address A2 A1 A0 Pin Adres
8 1 0x20 mcp23017_U1 000 GND GND GND 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x21 mcp23017_U2 001 GND GND 3V3 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x22 mcp23017_U3 010 GND 3V3 GND 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x23 mcp23017_U4 011 GND 3V3 3V3 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x24 mcp23017_U5 100 3V3 GND GND 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x25 mcp23017_U6 101 3V3 GND 3V3 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x26 mcp23017_U7 110 3V3 3V3 GND 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0
8 1 0x27 mcp23017_U8 111 3V3 3V3 3V3 28 7
9 2 27 6
10 3 26 5
11 4 25 4
12 5 24 3
13 6 23 2
14 7 22 1
15 8 21 0

TCA9548A

8 połączonych dodatkowo MCP23017 daje nam 128 portów GPIO. Jeżeli będzie mało możemy zwiększyć ilość magistral I2C. Użycie układu da nam 8 kanałów I2C. Łącząc to z kolejnymi układami MCP23017 daje nam to teoretycznie 1024 porty. Ponadto możemy połączyć 8 układów TCA9548A a do nich po 64 układy MCP23017. Daje nam to 8192 porty. To jednak tylko teoria. Trzeba uwzględnić opóźnienia, zakłócenia i takie tam.

Poniżej przykład konfiguracji:

esphome:
  name: "esp8266plytka"
  friendly_name: Wemos D1
  comment: Płytka testowa z Wemos D1.
  name_add_mac_suffix: False
 
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  #manual_ip:
  #  static_ip: 192.168.3.21
  #  gateway: 192.168.3.1
  #  subnet: 255.255.255.0
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PLYTKA_TESTOWA"
    password: "skomplikowanehaslo"

captive_portal:
# Uruchomienie interfejsu i2c
i2c:
- id: bus_a
  sda: GPIO4
  scl: GPIO5
  scan: true
  # Maksymalna częstotliwość pracy TCA9548A to 400kHz
  # Domyślna 50kHz
  # frequency: 400kHz
  
tca9548a:
  # Adresowanie od 0x70, 0x71... do 0x77
  - address: 0x70
    id: multiplex0
    i2c_id: bus_a
    channels:
      - bus_id: tca_can0
        channel: 0
      - bus_id: tca_can1
        channel: 1       
 
# Załadowanie obsługi ekspandera mcp23017
mcp23017:
  - id: 'mcp23017_U1'
    address: 0x20
    i2c_id: tca_can0
  - id: 'mcp23017_U2'
    address: 0x21
    i2c_id: tca_can1
 
# Wyjścia do sterowania
switch:
  - platform: gpio
    name: "Przekaźnik U1"
    id: przekaznik_u1
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U1
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false
  
  - platform: gpio
    name: "Przekaźnik U2"
    id: przekaznik_u2
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U2
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false

  - platform: gpio
    name: "Przekaźnik WeMos"
    id: przekaznik_wemos
    pin:
      number: GPIO12
      inverted: false
 
# Wejścia przycisków
binary_sensor:
  - platform: gpio
    name: "Przycisk pin 1 układu MCP U1"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u1
    pin:
      mcp23xxx: mcp23017_U1
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin 1 układu MCP U2"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u2
    pin:
      mcp23xxx: mcp23017_U2
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin D7 WeMos"
    pin:
      number: GPIO13
      inverted: True    
    on_press:
      switch.toggle: przekaznik_wemos
    device_class: connectivity
Linki

Wyświetlacz na PCF8574, 1602, 16x2

esphome:
  name: "esp8266plytka"

esp8266:
  board: esp01_1m
 
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  #manual_ip:
  #  static_ip: 192.168.3.21
  #  gateway: 192.168.3.1
  #  subnet: 255.255.255.0
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PLYTKA_TESTOWA"
    password: "skomplikowanehaslo"

captive_portal:
# Uruchomienie interfejsu i2c
i2c:
  - id: bus_a
    sda: GPIO4
    scl: GPIO5
    scan: true
    # Maksymalna częstotliwość pracy TCA9548A to 400kHz
    # Domyślna 50kHz
    # frequency: 100kHz

tca9548a:
  # Adresowanie od 0x70, 0x71... do 0x77
  - address: 0x70
    id: multiplex0
    i2c_id: bus_a
    channels:
        - bus_id: tca_can0
          channel: 0
        - bus_id: tca_can1
          channel: 1       
 
# Załadowanie obsługi ekspandera mcp23017
mcp23017:
  - id: 'mcp23017_U1'
    address: 0x22
    i2c_id: tca_can0
  - id: 'mcp23017_U2'
    address: 0x20
    i2c_id: tca_can1

display:
  - platform: lcd_pcf8574
    dimensions: 16x2
    i2c_id: tca_can0
    address: 0x27
    id: lcd
    update_interval: 10s
    lambda: |-
          it.strftime(0, 0, "Godzina: %H:%M", id(my_time).now());
          it.strftime(0, 1, "Data: %d.%m.%Y", id(my_time).now());
 
# it.printf(0, 1, "Hello Line2!");
# it.strftime("Czas: %H:%M     Data: %d.%m.%Y", id(my_time).now());            

time:
  - platform: homeassistant
    id: my_time
 
# Wyjścia do sterowania
switch:
  - platform: gpio
    name: "Przekaźnik U1"
    id: przekaznik_u1
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U1
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false
  
  - platform: gpio
    name: "Przekaźnik U2"
    id: przekaznik_u2
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U2
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false

  - platform: gpio
    name: "Przekaźnik WeMos"
    id: przekaznik_wemos
    pin:
      number: GPIO12
      inverted: false
 
# Wejścia przycisków
binary_sensor:
  - platform: gpio
    name: "Przycisk pin 1 układu MCP U1"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u1
    pin:
      mcp23xxx: mcp23017_U1
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin 1 układu MCP U2"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u2
    pin:
      mcp23xxx: mcp23017_U2
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin D7 WeMos"
    pin:
      number: GPIO13
      inverted: True    
    on_press:
      switch.toggle: przekaznik_wemos
    device_class: connectivity

ESP32-S2 mini

Podstawowa konfiguracja

esphome:
  name: esp32-mini01
  friendly_name: esp32-mini01
  comment: Smart Dunny Lolin S2 Mini

esp32:
  board: lolin_s2_mini
  variant: ESP32S2
  framework:
    type: esp-idf
    version: recommended
    # Custom sdkconfig options
    sdkconfig_options:
      CONFIG_COMPILER_OPTIMIZATION_PERF: y

Dwa porty I2C

esphome:
  name: esp32-mini01
  friendly_name: esp32-mini01
  comment: Smart Dunny Lolin S2 Mini

esp32:
  board: lolin_s2_mini
  variant: ESP32S2
  framework:
    type: esp-idf
    version: recommended
    # Optymalizacja kompliacji pod kątem wydajności.
    sdkconfig_options:
      CONFIG_COMPILER_OPTIMIZATION_PERF: y
 
# Enable logging
logger:
#  logs:
#    component: ERROR
 
# Enable Home Assistant API
api:

ota:

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "PLYTKA_TESTOWA"
    password: "skomplikowanehaslo"

captive_portal:

# Konfiguracja portów i2c.
# Domyślnie porty pracują z taktowaniem 50kHz.
# Do prawidłowej pracy z układami MCP23017 częstotliwość
# trzeba podwyższyc do minimum 800kHz.
# Dalsze swiekszenie częstoptliwości będzie wymagać podniesienia napięcia zasilania
# układów MCP23017 z 3,3V do 5V.
i2c:
  - id: bus_a
    sda: 33 # SDA
    scl: 35 # SCL
    scan: False
    frequency: 800kHz
  - id: bus_b
    sda: 36 # SDA
    scl: 34 # SCL
    scan: False
    frequency: 800kHz 
 
# Załadowanie obsługi ekspandera mcp23017.
# Do kazdego z portów bus_a i bus_b możemy podłączyć
# po 8 układów MCP23017
mcp23017:
  - id: 'mcp23017_U1'
    address: 0x22
    i2c_id: bus_a
  - id: 'mcp23017_U2'
    address: 0x20
    i2c_id: bus_b
 
# Wyjścia do sterowania
switch:
  - platform: gpio
    name: "Przekaźnik U1"
    id: przekaznik_u1
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U1
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false
  
  - platform: gpio
    name: "Przekaźnik U2"
    id: przekaznik_u2
    # icon: mdi:globe-light-outline
    pin:
      mcp23xxx: mcp23017_U2
      # Use pin A0
      # Wyprowadzenie 21 układu.
      number: 0
      mode:
        output: true
      # Jeżeli true to po uruchomieniu stan na wyjściu wysoki
      # ale przełącznik w pozycji off.  
      inverted: false
  
  - platform: gpio
    name: "Przekaźnik WeMos S2 mini"
    id: przekaznik_wemos
    restore_mode: ALWAYS_OFF
    pin:
      number: GPIO1
      inverted: false
 
# Wejścia przycisków
binary_sensor:
  - platform: gpio
    name: "Przycisk pin 1 układu MCP U1"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u1
    pin:
      mcp23xxx: mcp23017_U1
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        # pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin 1 układu MCP U2"
    # Gdy naciśniesz to załącz "przekaznik"
    on_press:
      # toggle - każde naciśnięcie zmienia stan wyjścia
      # turn_on - naciśnięcie zmienia stan na włączony, nie wyłączymy
      # turn_off - naciśnięcie zmienia stan na wyłączony, nie włączymy
      switch.toggle: przekaznik_u2
    pin:
      mcp23xxx: mcp23017_U2
      # Wyprowadzenie 1 układu czyli 8 (A0 = 0, A1 = 1 itd.)
      number: 8
      # Ustawienie wejścia
      mode:
        input: true
        # pullup: true
      # Jeżeli sterujemy minusem możemy ustawić - true  
      inverted: true

  - platform: gpio
    name: "Przycisk pin 2 Wemos"
    pin:
      number: GPIO2
      inverted: True    
    on_press:
      switch.toggle: przekaznik_wemos
    device_class: connectivity
automatyka/homeassistant.1712746386.txt.gz · ostatnio zmienione: 2024/04/10 12:53 przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki