Skip to main content

Zigbee2MQTT

Wprowadzenie#

Integracja Zigbee w Asystencie domowym daje mo┼╝liwo┼Ť─ç ┼éatwego korzystania z urz─ůdze┼ä Zigbee bez potrzeby stosowania bramek producent├│w. Rozwi─ůzanie oparte jest na projekcie Zigbee2MQTT. I jest ca┼ékowicie zintegrowane z naszym oprogramowaniem, dzi─Öki czemu mo┼╝esz ┼éatwo doda─ç swoje urz─ůdzenia Zigbee do ca┼éej infrastruktury inteligentnego domu dzia┼éaj─ůcej na systemie Asystent domowy.

CC2531

Integracja#

Integracja sprowadza si─Ö do w┼éo┼╝enia do portu USB odpowiednio zaprogramowanego adaptera. Asystent domowy sam rozpozna to urz─ůdzenie USB, poinformuje g┼éosowo, ┼╝e uruchamia serwis Zigbee i automatycznie w konfiguracji pojawi si─Ö mo┼╝liwo┼Ť─ç dodawania urz─ůdze┼ä zigbee.

Obs┼éugiwane urz─ůdzenia#

Obs┼éugujemy to, co obs┼éuguje Zigbee2MQTT, wg informacji na stronie projektu Zigbee2MQTT -> obecnie 06/2021 obs┼éugiwanych jest ponad 1490 urz─ůdze┼ä od 220 r├│┼╝nych dostawc├│w. Projekt rozwija si─Ö bardzo intensywnie i nowe urz─ůdzenia s─ů stale dodawane.

Dodanie nowego urz─ůdzenia Zigbee#

Zezwalanie urz─ůdzeniom na do┼é─ůczenie do sieci#

Aby zapewni─ç bezpiecze┼ästwo sieci Zigbee i unikn─ů─ç przypadkowego do┼é─ůczenia innych urz─ůdze┼ä Zigbee, domy┼Ťlnie w konfiugracji mamy ustawiony parametr enable_join: false.

Przed rozpocz─Öciem parowania nowego urz─ůdzenia nale┼╝y w┼é─ůczy─ç w aplikacji mo┼╝liwo┼Ť─ç czasowego parowania z bramk─ů. W przeciwnym razie nowe urz─ůdzenia nie b─Öd─ů mog┼éy do┼é─ůczy─ç do sieci! Mo┼╝liwo┼Ť─ç┬áczasowego parowania z bramk─ů w┼é─ůczamy po przej┼Ťciu do konfiguracji zigbee2mqtt, w menu wybieramy Konfiguracja -> Konfiguracja urz─ůdze┼ä zigbee

Zigbee integracja

nast─Öpnie naciskamy przycisk permit join - zezwolenie na do┼é─ůczenie nowych urz─ůdze┼ä

Zigbee integracja

Parowanie#

Najpierw sprawd┼║ na stronie Zigbee2MQTT w obs┼éugiwanych urz─ůdzeniach instrukcj─Ö dotycz─ůc─ů parowania urz─ůdzenia po wybraniu modelu urz─ůdzenia.

Zigbee integracja

Zigbee integracja

Je┼Ťli nie s─ů dost─Öpne ┼╝adne instrukcje, urz─ůdzenie mo┼╝na prawdopodobnie sparowa─ç przywracaj─ůc ustawienia fabryczne

Mapa sieci#

Po sparowaniu urz─ůdzenia mo┼╝emy od┼Ťwie┼╝y─ç kart─Ö z map─ů sieci Zigbee, by zobaczy─ç nasze nowe urz─ůdzenie pod┼é─ůczone do bramki

Zigbee integracja

Zmiana nazwy urz─ůdzenia#

Zigbee integracja

Sterowanie#

Nasze nowe urz─ůdzenie autmatycznie dost─Öpne jest w urz─ůdzeniach

Zigbee integracja

Po wybraniu urz─ůdzenia mo┼╝emy zobaczy─ç jego szczeg├│┼éy i przej┼Ť─ç do dodania automatyzacji

Zigbee integracja

Oczywi┼Ťcie nowe encje mo┼╝emy umieszcza─ç na karcie i wykorzystywa─ç w automatyzacjach, przyk┼éady gotowych rozwi─ůza┼ä zostan─ů dodane na forum.


Informacje techniczne#

Proces zigbee#

Procesami na bramce steruje Mened┼╝er proces├│w PM2. PM2 odpowiedzialny jest te┼╝ za uruchomienie procesu zigbee po wykryciu urz─ůdzenia CC2531, a nast─Öpnie czuwa nad jego ci─ůg┼éym dzia┼éaniem.

┼╗eby zobaczy─ç status procesu zigbee w konsoli wpisujemy:

pm2 show zigbee

zigbee

Aplikacja i binarka#

Proces zigbee oparty jest na aplikacji zigbee2mqtt która działa na binarce nodejs-lts

Nasz─ů kompilacj─Ö nodejs udost─Öpniamy w naszym repozytorium pakiet├│w binarnych bintray

zigbee

Dost─Öp lokalny#

Aplikacja 8099 dzia┼éa na porcie 8099 w lokalnej sieciu mo┼╝na po┼é─ůczy─ç si─Ö z j─ů bezpo┼Ťrednio, wpisuj─ůc w przegl─ůdarce http://<ip-bramki>:8099

zigbee

Dost─Öp zdalny#

Umo┼╝liwiamy te┼╝ na zdalny dost─Öp do aplikacji webowej zigbee2mqtt. Dost─Öp ten jest mo┼╝liwy tylko po zalogowaniu do Asystenta domowego i jest realizowany z pomoc─ů naszego dodatku ais_proxy - mechnizmu typu ingress

zigbee

Aktualizacja automatyczna#

Zigbee2Mqtt jest dostarczane jako składowa systemu Asystent domowy. Aktualizacja Zigbee2Mqtt do najnowszej stabilnej wersji jest wykonywana automatycznie z interfejsu użytkownika i polega na pobraniu i rozpakowaniu na bramkę gotowej paczki Zigbee2Mqtt z naszego serwisu OTA.

zigbee

Aktualizacja/instalacja r─Öczna#

Uwaga

Uwaga! R─Öczna aktualizacja jest skomplikowanym procesem dost─Öpnym dla programist├│w i technicznie zaawansowanych u┼╝ytkownik├│w. W przypadku wyst─ůpienia problem├│w po r─Öcznej aktualizacji zalecamy Wykonanie pe┼énego resetu aplikacji

Je┼╝eli chcemy zainstalowa─ç wersj─Ö dev Zigbee2Mqtt, ┼╝eby doda─ç obs┼éug─Ö nowego urz─ůdzenia lub przetestowa─ç nowe funkcje, to mo┼╝emy to zrobi─ç r─Öcznie z konsoli. Instalacja r─Öczna polega na pobraniu kod├│w Zigbee2Mqtt z repozytorium GIT, a nast─Öpnie uruchomieniu na bramce instalacji zale┼╝no┼Ťci (dependencies) aplikacji zigbee2mqtt. Poni┼╝ej skrypt bash (do uruchomienia w konsoli) z wyja┼Ťnieniem krok├│w instalacji r─Öcznej.

echo "Zatrzymanie serwisu zigbee..."pm2 stop zigbee
echo "kopia konfiguracji zigbee..."cp -R ~/zigbee2mqtt/data/configuration.yaml ~/configuration.yaml
echo "Usuwamy bie┼╝─ůc─ů wersj─Ö zigbee2mqtt..."rm -rf ~/zigbee2mqtt
echo "Kolonujemy kody najnowszej wersji..."git clone --depth=1 https://github.com/Koenkk/zigbee2mqtt.git
echo "Przechodzimy do folderu z kodami zigbee2mqtt..."cd ~/zigbee2mqtt
echo "Prze┼é─ůczamy si─Ö na wersj─Ö kodu zigbee2mqtt kt├│ry chcemy uruchomi─ç..."git checkout HEAD -- npm-shrinkwrap.jsongit pull
echo "Instalujemy zale┼╝no┼Ťci..."npm ci --unsafe-perm
echo "Przywracamy konfiguracj─Ö zigbee2mqtt..."cp ~/configuration.yaml ~/zigbee2mqtt/data/configuration.yamlrm ~/configuration.yaml
echo "Uruchomienie serwisu zigbee2mqtt..."pm2 start zigbee

Konfiguracja#

Konfiguracja Zigbee2Mqtt znajduje si─Ö na bramce w pliku ~/zigbee2mqtt/data/configuration.yaml

Uwaga

Uwaga! W przypadku podstawowej konfiguracji ustawienia domy┼Ťlne s─ů dobre i nie trzeba nic zmienia─ç.

Potrzeba zmiany konfiguracji mo┼╝e dotyczy─ç tylko programist├│w i technicznie zaawansowanych u┼╝ytkownik├│w kt├│rzy np. chc─ů zmieni─ç parametry po┼é─ůczenia z brkerem MQTT (doda─ç autentykacj─Ö itp.). W przypadku wyst─ůpienia problem├│w po zmianie konfiguracji Zigbee2Mqtt zalecamy Wykonanie pe┼énego resetu aplikacji

Plik z konfiguracj─ů dost─Öpny jest do edycji z aplikacji. Wystarczy przej┼Ť─ç do konfiguracji i wybra─ç konfiguracj─Ö urz─ůdze┼ä zigbee:

zigbee

Nast─Öpnie w prawym g├│rnym rogu z rozwijalnego menu wybra─ç opcj─Ö "Edit Zigbee2Mqtt configuraton.yaml" zigbee

zigbee

Standardowa konfiguracja znajduje si─Ö w pliku ~/zigbee2mqtt/data/configuration.yaml. Konfiugracja r├│┼╝ni si─Ö w zale┼╝no┼Ťci od zastosowanego adaptera i jest nast─Öpuj─ůca:

  • Adapter PRO Zigbee ConBee2
# configuration.yaml Zigbee2MQTT v 1.19.1   homeassistant: truepermit_join: falsemqtt:  base_topic: zigbee2mqtt  server: 'mqtt://localhost'serial:  adapter: deconz  port: /dev/ttyACM0frontend:  port: 8099advanced:  log_level: info  log_output:    - console  channel: 11
  • Adapter DEV Zigbee USB CC2531
# configuration.yaml Zigbee2MQTT v 1.19.1   homeassistant: truepermit_join: falsemqtt:  base_topic: zigbee2mqtt  server: 'mqtt://localhost'serial:  adapter: zstack  port: /dev/ttyACM0frontend:  port: 8099advanced:  log_level: info  log_output:    - console  channel: 11