automatyka:homeassistant
Różnice
Różnice między wybraną wersją a wersją aktualną.
| Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
| automatyka:homeassistant [2024/04/10 12:54] – [Wyświetlacz na PCF8574, 1602, 16x2] sindap | automatyka:homeassistant [2024/04/20 14:36] (aktualna) – [Konfiguracja WiFi] sindap | ||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| ====== Home Assistant ====== | ====== Home Assistant ====== | ||
| + | ===== Konfiguracja sieci ===== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ==== Konfiguracja WiFi ==== | ||
| + | |||
| + | Jeżeli utraciliśmy dostęp do HA i chcemy go podłączyć do sieci WiFi możemy użyć karty SD naszego HA. Wyciągamy ją z naszego RPi i wkładamy do komputera/ | ||
| + | |||
| + | <code bash> | ||
| + | Dysk /dev/sdb: 7,42 GiB, bajtów: 7969177600, sektorów: 15564800 | ||
| + | Model dysku: Storage Device | ||
| + | Jednostki: sektorów, czyli 1 * 512 = 512 bajtów | ||
| + | Rozmiar sektora (logiczny/ | ||
| + | Rozmiar we/wy (minimalny/ | ||
| + | Typ etykiety dysku: gpt | ||
| + | Identyfikator dysku: 96A160B5-D519-482C-8AD5-11DD21BDD2DB | ||
| + | |||
| + | Urządzenie Początek | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Interesuje nas partycja ''/ | ||
| + | |||
| + | <code bash> | ||
| + | mount /dev/sdb1 /mnt/ | ||
| + | </ | ||
| + | |||
| + | Na partycji widzimy: | ||
| + | |||
| + | <code bash> | ||
| + | ls /mnt/ | ||
| + | |||
| + | bcm2710-rpi-3-b.dtb | ||
| + | bcm2710-rpi-zero-2.dtb | ||
| + | bootcode.bin | ||
| + | cmdline.txt | ||
| + | fixup_cd.dat | ||
| + | fixup_x.dat | ||
| + | start_cd.elf | ||
| + | start_x.elf | ||
| + | bcm2710-rpi-3-b-plus.dtb | ||
| + | bcm2837-rpi-3-b.dtb | ||
| + | boot.scr | ||
| + | config.txt | ||
| + | fixup.dat | ||
| + | overlays | ||
| + | start.elf | ||
| + | u-boot.bin | ||
| + | </ | ||
| + | |||
| + | W katalogu ''/ | ||
| + | |||
| + | <code bash> | ||
| + | mkdir /mnt/config | ||
| + | </ | ||
| + | |||
| + | W nim katalog '' | ||
| + | |||
| + | <code bash> | ||
| + | mkdir / | ||
| + | </ | ||
| + | |||
| + | W katalogu '' | ||
| + | |||
| + | <code bash> | ||
| + | [connection] | ||
| + | id=my-network | ||
| + | # uuid po wygenerowaniu | ||
| + | uuid=1cf0cfd8-65e7-42a4-8844-c6844ff6891a | ||
| + | type=802-11-wireless | ||
| + | |||
| + | [802-11-wireless] | ||
| + | mode=infrastructure | ||
| + | ssid=NazwaSieci | ||
| + | # Uncomment below if your SSID is not broadcasted | ||
| + | # | ||
| + | |||
| + | [802-11-wireless-security] | ||
| + | auth-alg=open | ||
| + | key-mgmt=wpa-psk | ||
| + | psk=tajnehaslo | ||
| + | |||
| + | [ipv4] | ||
| + | method=auto | ||
| + | |||
| + | [ipv6] | ||
| + | addr-gen-mode=stable-privacy | ||
| + | method=auto | ||
| + | </ | ||
| + | |||
| + | Klucz uuid powinnismy wygenerować nowy. Przykładowo na stronie [[https:// | ||
| + | |||
| + | Po zapisaniu kartę umieszczamy w RPi i uruchamiamy. Poleceniem '' | ||
| + | |||
| + | <code bash> | ||
| + | arp-scan -l --interface=wlp3s0 | ||
| + | |||
| + | Interface: wlp3s0, type: EN10MB, MAC: 60: | ||
| + | Starting arp-scan 1.10.0 with 256 hosts (https:// | ||
| + | 192.168.84.185 fe: | ||
| + | 192.168.84.147 b8: | ||
| + | 192.168.84.186 10: | ||
| + | </ | ||
| + | |||
| + | Łączymy się [[http:// | ||
| + | |||
| + | Po połączeniu się z HA należy zapisać połączenie WiFi bo plik my-network i jego katalogi są już usunięte. Po restarcie byśmy się nie połączyli. | ||
| ===== Aplikacja Home Assistant na Android ===== | ===== Aplikacja Home Assistant na Android ===== | ||
| Linia 643: | Linia 757: | ||
| </ | </ | ||
| - | ===== ESP32-S2 mini ===== | + | ===== ESP32-S2 mini ===== |
| ==== Podstawowa konfiguracja ==== | ==== Podstawowa konfiguracja ==== | ||
| <code yaml> | <code yaml> | ||
| Linia 817: | Linia 931: | ||
| switch.toggle: | switch.toggle: | ||
| device_class: | device_class: | ||
| + | </ | ||
| + | |||
| + | ===== ESP-WROOM-32 | ||
| + | |||
| + | ^ | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | | | ||
| + | |||
| + | ==== Przykład konfiguracji ESP-WROOM-32 ==== | ||
| + | |||
| + | <code yaml> | ||
| + | esphome: | ||
| + | name: esp-wroom-32 | ||
| + | friendly_name: | ||
| + | |||
| + | esp32: | ||
| + | board: esp32dev | ||
| + | framework: | ||
| + | type: esp-idf | ||
| + | version: recommended | ||
| + | |||
| + | # Enable logging | ||
| + | logger: | ||
| + | |||
| + | # Enable Home Assistant API | ||
| + | api: | ||
| + | |||
| + | ota: | ||
| + | |||
| + | wifi: | ||
| + | ssid: !secret wifi_ssid | ||
| + | password: !secret wifi_password | ||
| + | # use_address: | ||
| + | fast_connect: | ||
| + | domain: ' | ||
| + | |||
| + | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
| + | ap: | ||
| + | ssid: " | ||
| + | password: " | ||
| + | | ||
| + | manual_ip: | ||
| + | static_ip: 192.168.3.173 | ||
| + | gateway: 192.168.3.1 | ||
| + | subnet: 255.255.255.0 | ||
| + | dns1: 192.168.3.1 | ||
| + | dns2: 8.8.8.8 | ||
| + | |||
| + | captive_portal: | ||
| + | |||
| + | i2c: | ||
| + | - id: m_bus_a | ||
| + | sda: 21 # SDA | ||
| + | scl: 22 # SCL | ||
| + | scan: False | ||
| + | # frequency: 100kHz | ||
| + | - id: m_bus_b | ||
| + | sda: 17 # SDA | ||
| + | scl: 18 # SCL | ||
| + | scan: False | ||
| + | # frequency: 100kHz | ||
| + | |||
| + | # Załadowanie obsługi ekspandera mcp23017 | ||
| + | mcp23017: | ||
| + | - id: ' | ||
| + | address: 0x20 | ||
| + | i2c_id: m_bus_a | ||
| + | - id: ' | ||
| + | address: 0x20 | ||
| + | i2c_id: m_bus_b | ||
| + | |||
| + | # Wyjścia do sterowania | ||
| + | switch: | ||
| + | - platform: gpio | ||
| + | name: " | ||
| + | id: przekaznik_u1 | ||
| + | # icon: mdi: | ||
| + | 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: " | ||
| + | id: przekaznik_u2 | ||
| + | # icon: mdi: | ||
| + | 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 | ||
| + | |||
| + | # Wejścia przycisków | ||
| + | binary_sensor: | ||
| + | - platform: gpio | ||
| + | name: " | ||
| + | # Gdy naciśniesz to załącz " | ||
| + | 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, | ||
| + | switch.toggle: | ||
| + | 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: " | ||
| + | # Gdy naciśniesz to załącz " | ||
| + | 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, | ||
| + | switch.toggle: | ||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | ==== Obsługa rolety z poziomu aplikacji HA i przcisków ==== | ||
| + | |||
| + | <code yaml> | ||
| + | esphome: | ||
| + | name: esp-wroom-32 | ||
| + | friendly_name: | ||
| + | |||
| + | esp32: | ||
| + | board: esp32dev | ||
| + | framework: | ||
| + | type: esp-idf | ||
| + | version: recommended | ||
| + | |||
| + | # Enable logging | ||
| + | logger: | ||
| + | |||
| + | # Enable Home Assistant API | ||
| + | api: | ||
| + | |||
| + | ota: | ||
| + | |||
| + | wifi: | ||
| + | ssid: !secret wifi_ssid | ||
| + | password: !secret wifi_password | ||
| + | use_address: | ||
| + | fast_connect: | ||
| + | domain: ' | ||
| + | |||
| + | # Enable fallback hotspot (captive portal) in case wifi connection fails | ||
| + | ap: | ||
| + | ssid: " | ||
| + | password: " | ||
| + | | ||
| + | manual_ip: | ||
| + | static_ip: 192.168.3.175 | ||
| + | gateway: 192.168.3.1 | ||
| + | subnet: 255.255.255.0 | ||
| + | dns1: 192.168.3.1 | ||
| + | dns2: 8.8.8.8 | ||
| + | |||
| + | captive_portal: | ||
| + | |||
| + | i2c: | ||
| + | - id: m_bus_a | ||
| + | sda: 21 # SDA | ||
| + | scl: 22 # SCL | ||
| + | scan: False | ||
| + | # frequency: 100kHz | ||
| + | - id: m_bus_b | ||
| + | sda: 17 # SDA | ||
| + | scl: 18 # SCL | ||
| + | scan: False | ||
| + | # frequency: 100kHz | ||
| + | |||
| + | # Załadowanie obsługi ekspandera mcp23017 | ||
| + | mcp23017: | ||
| + | - id: ' | ||
| + | address: 0x20 | ||
| + | i2c_id: m_bus_a | ||
| + | - id: ' | ||
| + | address: 0x20 | ||
| + | i2c_id: m_bus_b | ||
| + | |||
| + | # Wyjścia do sterowania | ||
| + | switch: | ||
| + | - platform: gpio | ||
| + | name: " | ||
| + | id: roleta_d | ||
| + | # Automatyka z poziomu aplikacji HA dla rolety D | ||
| + | on_turn_on: | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | - logger.log: " | ||
| + | - delay: 10ms | ||
| + | - switch.turn_off: | ||
| + | else: | ||
| + | # - switch.turn_on: | ||
| + | - delay: 20s | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | | ||
| + | # icon: mdi: | ||
| + | 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: " | ||
| + | id: roleta_g | ||
| + | # Automatyka z poziomu aplikacji HA dla rolety G | ||
| + | on_turn_on: | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | - logger.log: " | ||
| + | - delay: 10ms | ||
| + | - switch.turn_off: | ||
| + | else: | ||
| + | # - switch.turn_on: | ||
| + | - delay: 20s | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | | ||
| + | |||
| + | # icon: mdi: | ||
| + | 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 | ||
| + | |||
| + | # Wejścia przycisków | ||
| + | binary_sensor: | ||
| + | - platform: gpio | ||
| + | name: " | ||
| + | # Gdy naciśniesz to załącz " | ||
| + | # Automatyka z poziomu przycisków HA dla rolety D | ||
| + | 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, | ||
| + | # switch.toggle: | ||
| + | then: | ||
| + | - if: | ||
| + | condition: | ||
| + | or: | ||
| + | - switch.is_on: | ||
| + | - switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | - switch.turn_off: | ||
| + | else: | ||
| + | - switch.turn_on: | ||
| + | - delay: 20s | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | |||
| + | 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: " | ||
| + | # Gdy naciśniesz to załącz " | ||
| + | # Automatyka z poziomu przycisków HA dla rolety G | ||
| + | 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, | ||
| + | # switch.toggle: | ||
| + | then: | ||
| + | - if: | ||
| + | condition: | ||
| + | or: | ||
| + | - switch.is_on: | ||
| + | - switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | - switch.turn_off: | ||
| + | else: | ||
| + | - switch.turn_on: | ||
| + | - delay: 20s | ||
| + | - if: | ||
| + | condition: | ||
| + | switch.is_on: | ||
| + | then: | ||
| + | - switch.turn_off: | ||
| + | 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 | ||
| </ | </ | ||
automatyka/homeassistant.1712746456.txt.gz · ostatnio zmienione: przez sindap
