Sonoff ZBDongle-P Adapter Zigbee 3.0 domoticz Zigbee2MQTT

Kupując urządzenia ZigBee, traktowałem urządzenia jako nowość na rynku, mimo że mają już kilka lat. Urządzenia ZigBee mega przypadły mi do gustu, ale rzadko były kompatybilne z Domoticzem. Kupiłem również Sonoff, którego widzicie na zdjęciu powyżej jako kolejny przedmiot, który przedstawie, ale okazało się, że to małe urządzenie pozwoli mi na kompatybilność razem z Domoticzem i tym się zajmiemy w tym artykule.

Szukając sposobu na  połączenie tego urządzenia z Domoticzem widziałem informacje często błędne np takie, że działa to tylko na firefox, albo takie, że muszę zmienić oprogramowanie na Dongle od sonoff. Oczywiście nie byłby to większy problem, ale byłem ciekaw, czy zadzaiała to z oryginalnym softem i działa faktycznie. Kwestia firefoxa to też jakiś dziwny mit, bo działa normalnie na różnych przeglądarkach i nie ma większego znaczenia, z jakiej korzystacie.

Zmiana softu – Soft można zmienić i zaktualizować, ale ja tego nie robiłem i nie mam zamiaru, bo stosuje zasadę, że jeżeli coś działa prawidłowo, to nie ma sensu tego aktualizować.

Nagram również film o tym module (film jest na końcu tego artykułu), więc przetestuje wszystkie sonoffy zigbee, które posiadam oraz Moduły ZigBee od Tuya.

W tym artykule skorzystamy z oficjalnych w języku angielski instrukcji:
Zigbee2MQTT
Support zigbee device
domoticz-zigbee2mqtt-plugin

 

Instrukcje wyjaśniają, jak uruchomić Zigbee2MQTT w systemie Linux.

Dla uproszczenia ten przewodnik zakłada działanie na Raspberry Pi  z Raspbian Stretch Lite, ale powinien działać na dowolnym komputerze z systemem Linux.

Przed rozpoczęciem upewnij się, że masz zainstalowanego brokera MQTT w swoim systemie. Dostępnych jest wiele samouczków, jak to zrobić, przykład Mosquitto jest zalecanym brokerem MQTT, ale inne również powinni działać dobrze.

Najpierw musimy określić lokalizację adaptera. W tym celu podłącz adapter do Raspberry Pi. W większości przypadków lokalizacja, to /dev/ttyACM0 można to zweryfikować poprzez komendę:

Po screenie powyżej widać, że Sonoff ZigBee Dongle jest prawidłowo wykryty przez raspberry i najważniejsze na żółto jest zaznaczone, że jest on na parci ttyUSB0, ale to będziemy potrzebować później.

 

Instalowanie node.js:

Jeżeli powyższa komenda nie zadziała przeładuj malinę i sprawdź:

Po zainstalowaniu możemy sprawdzić wersje:

Wersja powinna być:

Wersja powinna być:

Pobierz repozytorium ZigBee2MQTT:

Rozpakuj do folderu:

 

Otwórz folder /opt/zigbee2mqtt:

Jeśli wszystko poszło poprawnie, wynik npm cijest podobny do mojego wyniku (liczba pakietów i sekund może być inna):

Zanim będziemy mogli uruchomić Zigbee2MQTT, to musimy dokonać zmiany w configuration.yaml. Ten plik zawiera konfigurację, która będzie używana przez Zigbee2MQTT.

Otwórz plik konfiguracyjny:

w tym pliku wklejamy poniższe ustawienia, lub wprowadzamy je ręcznie

Pamiętajcie o ustawieniu user, oraz password i prawidłowego portu USB. Dodatkowo musimy wygenerować kod hasła do sieci ZigBee. Klucz nie jest wykorzystywany przez nas, więc nie musimy go znać, ale jeżeli chcecie własny, to można użyć generatora:

Po kolejnym restarcie wygeneruje wasz własny klucz.

Zapisujemy plik CTR+ X >> Y >> Enter

Teraz gdy wszystko skonfigurowaliśmy poprawnie, możemy uruchomić Zigbee2MQTT.

Do zatrzymania konsoli używamyCTRL + C.

Utworzenie pliku startowego

Następnie aktywujemy usługę zigbee2mqtt w trybie serwisu:

Przykładowe komendy:

Start

Status

Restart

Przechodzimy do instalowania pluginu w Domoticz:

Otwieramy folder z pluginami

Instalujemy plugin

Wykonujemy teraz restart naszej maliny. W tym celu w domoticzu wchodzę w Konfiguracja >> Więcej opcji >> Uruchom ponownie system

Po restarcie wchodzimy w Konfiguracja >> Sprzęt

Nazwa – własna
Typ – Zigbee2MQTT
MQTT Username – nazwa użytkownika np  z mosquito
MQTT Password – hasło użytkownika np z mosquito

Na końcu po prawidłowej konfiguracji używamy opcji Dodaj

Wykonujemy teraz restart naszej maliny. W tym celu w domoticzu wchodzę w Konfiguracja >> Więcej opcji >> Uruchom ponownie system

Pojawił się nowy przycisk Własne, ale jeżeli u was się nie pojawił to wejdźcie w Konfiguracja>> Ustawienia>> Aktywne zakładki i zobaczcie czy macie zaznaczone, że może się pojawić własne:

Wykonujemy teraz restart naszej maliny. W tym celu w domoticzu wchodzę w Konfiguracja >> Więcej opcji >> Uruchom ponownie system

Jeżeli nadal nie działa, to pozostaje nam ostatnia opcja, czyli zmiana oprogramowania naszego Domoticza, z wersji stabilnej na wersje beta. W tym celu wchodzimy w Konfiguracja>> Ustawienia:

Wykonujemy teraz restart naszej maliny. W tym celu w domoticzu wchodzę w Konfiguracja >> Więcej opcji >> Uruchom ponownie system

Po restarcie powinien się pojawić komunikat, że jest dostępna nowa wersja i aktualizujemy (pamiętajcie, że wersje beta często są niestabilne i posiadają błędy).

Jeżeli znikną wam wszystkie przełączniki, to należy wyczyścić pliki cookies. W przypadku chroma można nacisnąć CTR +F5 i przeładuje się strona z wyczyszczonymi plikami, jeżeli nie wróci to jeszcze raz restart maliny i znów CTR+F5.

Po tej całej procedurze Przycisk własne powinien się pojawić. Dodatkowo jak wejdziemy w Konfiguracja>> Urządzenia i posegregujemy według najnowszego idx to znajdziemy:

Naciskamy zieloną strzałkę i dodajemy api-transport

Wchodzimy teraz Własne>> Zigbe2MQTT:

Pair Device działa inaczej niż w przypadku zwykłej bramki ZigBee, bo po naciśnięciu zawsze urządzenie może zostać dodane. Oznacza to, że możemy raz nacisnąć i potem naciskając na dowolnym urządzeniu opcje parowania od razu go dodamy do domoticza. Wszystkie urządzenia, które sparujemy będą nam się wyświetlać standardowo w Konfiguracja>> Urządzenia:

Dodawanie urządzeń polega na naciśnięciu zielonej strzałki po prawej stronie.

Powyższy screen pokazuje urządzenia z moją własną nazwą. Urządzenie możemy też zobaczyć na screenie z wszystkimi urządzeniami Zigbee.

Chcecie wiedzieć, jak to działa ??
– Działa idealnie szybkie parowanie łatwe dodawanie. Jedyna uwaga, to w domoticzu pojawia się parę urządzeń jednego typu np temperatura, temperatura i wilgotność, wilgotność, status baterii itd wybieramy urządzenie, które nas interesują i je dodajemy. Przykładowo do czujnika otwarcia również mamy status baterii, ale go nie potrzebuje.

Jeżeli mamy sparowane wszystkie urządzenia, to warto wyłączyć opcje parowania.

Zmieniamy opcje z true na false i zapisujemy.

 

Opcja usunięcia czujnika:

Jeżeli z jakichś przyczyn mamy urządzenie nierozpoznane prawidłowo, lub nie działa prawidłowo, to chcielibyśmy się go pozbyć i to niestety nie jest zbyt proste, ale mam metodę, która zawsze działa.
Włączmy putty zalogujmy się do raspberry i otwórzmy plik:

Plik bardzo dobrze wam znany, bo już wprowadzaliśmy do niego ustawienia, ale wprowadźmy nowe:

Host to adres waszej maliny, ale port musi się różnić od portu maliny. Malina ma port 8080, a tutaj wpisałem 8081.

 

Pamiętajcie o zapisaniu CTR+ X potem Y i zatwierdzamy enterem. Następnie:

Wykonaliśmy restart maliny i teraz możemy sprawdzić naszą tajemniczą stronę:

Na stronie mamy opcje usuwania urządzeń czerwony przycisk, ale możemy również ponownie przeładować przycisk żółty przycisk. Strona umożliwia nam również parowanie urządzeń i wszystko automatycznie przenosi się do domoticza.

 

Zachęcam również do zobaczenia materiału wideo: