Witam.
Proszę o pomoc w uruchomieniu zigbee, mqtt i czujników Xiaomi.
openhabian & rasberry pi 3B +,
Kupiłem na OLX zaprogramowany pod OH, CC2531 mostek.
Mam czujniki bezprzewodowe: temperatury xiaomi WSDCGQ11LM i czujnik dzrzwi/okien też xiaomi MCCGQ11LM
Jak to teraz "pożenić" ? Od czego zacząć? czy na raspberry muszę jakoś zainstalować ten mostek? , ...i zapewne muszę zainstalować mqtt.
Proszę o pomoc bo będę to robił pierwszy raz..
@adrian, widziałem instrukcję AFE ale do MQTT Binding w wersji 1.x -czyli nie iść tą drogą ?
Zainstaluj sobie MQTT Broker -> mosquitto na RPI a później w OH MQTT Binding 2.4
co do Xiaomi to się nie znam
pzdr.a
@adrian ok, odzięki. Podrzuć jak możesz jakiś przykład co kupić ( przekaźnik etc... ) żeby sobie przećwiczyć to połączenie, to sobie zamówię.
Od razu jak możesz też jakiś przykład, items i rules. Pobawię się tym trochę żeby to lepiej zrozumieć, a potem rozkminię xiaomi
Nie wiem na jakim jesteś etapie. Na tym kanale jest fajnie pokazana instalacja brokera
https://www.youtube.com/watch?v=R-SrZvKHXdA
Jak już to opanujesz to na tym kanale są fajnie pokazane instalacje zigbee2mqtt
https://www.youtube.com/channel/UC4QoCYTgjaQouGHFA27qV8g/videos
Sam nie rozumiem niemieckiego, ale z tego kanału dużo się nauczyłem.
Co do samego sprzętu to możesz sobie kupić jednego wemosa D1 mini i już szaleć. Wgrywasz Tasmote, konfigurujesz mqtt i jakieś tam piny na button czy switch. Dwa kabelki zwierasz do pinów i już patrzysz na konsoli co się dzieje. W ten sposób szybko załapiesz o co w tym chodzi.
Później możesz już szaleć. Kupisz sobie np CC2531 do tego jakiś czujnik od Xiaomi zalania czy otwarcia drzwi i jak wpadniesz w nałóg to już bez końca.
Dużo jest też na community.openhab.org/ - jak utkniesz w miejscu i nie bedziesz wiedział co dalej pisz. Pomożemy.
@maras hehe z tym nałogiem.... to chyba już 🙂
siedzę co dzień od tygodnia od 8 rano do 2-3 w nocy, oglądam i czytam w tym temacie co się da i staram się chłonąć jak najwięcej.
Trochę mam z angielskim problem bo mój poziom, to "Kali jeść, Kali kochać", ale nie jest całkiem beznadziejnie, bo czasem muszę rozmawiać po angielsku w pracy, ale właśnie dlatego robię dużo błędów korzystając z angielskich poradników.
Jeśli chodzi o instalację, to robiąc to jak małpa, raz mi wyszło, ale chciałem to zrozumieć więc postanowiłem zrobić replay i nie mogę tego odtworzyć.
W woli wyjaśnień dla mnie, potrzebuję dla ogarnięcia tematu kilku wyjaśnień z Waszej strony:
1. Czy zasada działania urządzeń sieciowych jest taka, że mqtt broker tworzy protokół, a CC2531 go przesyła i odbiera i muszę ze sobą ściśle współpracować, stąd ważne są ich spójne ustawienia, czy może jestem w błędzie ?
2. czy hasło mgtt i zigbee muszą być takie same
3. jeżeli chodzi o adres IP ustawiany w mgtt i zigbee muszą być takie same czy różne ? np tu i tu localhost może być?
4 czy adres mgtt i zigbee ma być taki jak maliny na której wszystko instaluje?
Jeżeli moje pytania są głupie to proszę o cierpliwość i zrozumienie. Będę wdzięczny za wyjaśnienie jak to działa i odpowiedź na moje pytania jeżeli mają sens.
1. Nie broker jest ma malinie. CC2531 to sniffer który podsłuchuje komendy z czujników zigbee i przerabia to na informację mqtt
2. zostaw sobie na początek bez haseł łatwiej ci będzie
3, Tak wszędzie wstawiasz IP twojego brokera, a że broker jest na malinie to podajesz adres maliny. Port jest inny standardowo 1883
@maras mqtt zainstalowany i działa.
wemos zamówiony
robiłem błąd w tym że mosquito instalowałe w konsoli - nie wiedizłem że wystarczy w Paper UI.
czy z zigbee jest tak samo? tylko w paper UI.
próbowałem zgodnie z tym filmem https://www.youtube.com/watch?v=8u9jMRod5XI&t=182s
ale to się robi w konsoli i coś mi nie pykło....
po wykonaniu w konsoli instrukcji
cd /opt/zigbee2mqtt
npm start
dostaje takie błędy:
TypeError: Cannot read property 'port' of null
at Object.<anonymous> (/opt/zigbee2mqtt/lib/zigbee.js:27:36)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/opt/zigbee2mqtt/lib/controller.js:2:16)
at Module._compile (internal/modules/cjs/loader.js:778:30)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.12.2 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.12.2 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/openhabian/.npm/_logs/2020-04-26T20_22_41_455Z-debug.log
a tu dla OH log viewer z którego przynajmniej ja wnioskuję że CC2531 działa
2020-04-26 22:37:44.206 [hingStatusInfoChangedEvent] - 'zigbee:coordinator_cc2531:stick1' changed from UNINITIALIZED to INITIALIZING
2020-04-26 22:37:44.238 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:44.244 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:44.246 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:44.252 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:44.333 [hingStatusInfoChangedEvent] - 'zigbee:coordinator_cc2531:stick1' changed from INITIALIZING to UNKNOWN
2020-04-26 22:37:47.616 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:52.882 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:52.980 [hingStatusInfoChangedEvent] - 'zigbee:coordinator_cc2531:stick1' changed from UNKNOWN to ONLINE
2020-04-26 22:37:52.992 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated.
2020-04-26 22:37:54.656 [me.event.ThingUpdatedEvent] - Thing 'zigbee:coordinator_cc2531:stick1' has been updated
@maras czy coś Ci to mówi?
Chciałbym podsumować może dokładniej w czym tkwi problem, może to pomoże komuś, pomóc mi.
Stan na ten moment:
Wrzucam obraz openhabian na kartę, czekam aż , wszytko się ładnie zainstaluje. Jak skończy klikam w przeglądarce adres mojej maliny i mam świeżutki system. Jeszcze w SSH , openhabian-config robię update i instaluje z dodatkowych opcji log viewer. na ten moment nie zmieniam nic więcej, bo co kilka godzin, jak nie jestem pewny czy coś nie pokopałem, stawiam system od nowa. (system: openHAB 2.5.4-1) to wszystko siedzi na raspberry pi 3B+ w gnieździe USB mam CC2531 kupiłem już sfash-owany pod openhab w komplecie z Xiaomi czujnikiem temperatury, od kogoś u kogo to działało ( i zasadniczo zakładam że pewno tak było)
Następnie w konsoli Paper UI instaluje
MQTT Embedded Broker
oraz
MQTT system broker connection
konfiguracja prosta ( bez hasła) dodaję do rzeczy i sprawdzam w programie MQTTfx - i działa.
I tu motam się co dalej bo róne filmy i poradniki już widziałem i na ten moment z tego co rozumiem chyba nic więcej nie muszę robić przez SSH, tylko wszystko w Paper UI - czy tak?
Co trzeba doinstalować? ZigBee na pewno, potem domyślam się już że
CC2531EMK Coordinator
Czy coś jeszcze jak to skonfigurować, żeby wykryło mi rzeczy, które już mam, czyli Czujni temperatury i czujnik drzwi/okna.
@adrian , może Ty dasz rade podpowiedzieć co zrobić żeby zigbee zaczęło szukać ...
@lukaszbeben odpowiedz proszę na kilka pytań , które może też na coś Cię naprowadzą
1 Skąd wiesz że podłączony sniffer jest widziany przez system ?
2 jaką masz wersje node i npm ?
3 Jak upewniłeś się że broker mqtt działa poprawnie ?
To są podstawowe rzeczy , bez których zigbee2mqtt nie ruszy
Pierwsze sprawdzasz
ls -l /dev/serial/by-id
Drugie
node --version
npm --version
Trzecie test mqtt np na dwóch oknach w terminalu
Jak sprawdzisz to dalej spróbuj przejść przez ten tutek zachaczając też o komentarze na końcu
https://community.openhab.org/t/openhab-and-zigbee2mqtt-tutorial-for-beginners/83446
@isom dzięki za odpowiedź. włąśnie tak namieszałem, że znowu przeinstalowywuje system.
jak ruszę znowu podam więcej szczegułów.
1 Skąd wiesz że podłączony sniffer jest widziany przez system ?
W panelu openhab jak i logach mam status zigbee online, dodatkowo w konsoli raspberry przez ssh ( nie pamiętam jakim polecenie tak z głowy) ale jest wyryte urzączenie /dev/tty... teraz nie podam bo trwa reinstalacja
2 jaką masz wersje node i npm
sprawdzę po instalacji ale widzę że instalują się same jak z OH dodaje moduły do komunikacji MQTT i ZigBee
3 Jak upewniłeś się że broker mqtt działa poprawnie
w programie MQTTfx nadaję wiadomość i odbieram
@isom, proszę wyprostuj mnie jeśli moje odpowiedzi powyżej są przeze mnie źle interpretowane.
po ponownej instalacji i przerobieniu podesłanego przez Ciebie tutka, oraz uwzględnieniem ewentualnych uwag do moich odpowiedzi powyżej dam znać na czym stoję.
@lukaszbeben nawet dobrze się składa z tą świeżą instalacją . Zobacz sam początek tutka dotyczący problemów z mqtt
Jak broker już zainstalowany to zostaw w spokoju, Tu masz przykład https://www.youtube.com/watch?v=R-SrZvKHXdA
Tam jest pokazany taki program Mqtt.fx jak w nim sobie ustawisz IP maliny i port brokera dasz connect i się połaczy to wszystko jest OK. Jak bedziesz miał wemosa wgrasz tasmote i będziesz sobie podgladać w mqtt.fx co wysyła wemos do brokera.
Teraz zigbee. Tu lepiej wg. tego filmu niemieckiego przez konsolę. U mnie wszystko poszło gładko bez errorów. Tak na szybko z google do twojego błędu.
https://github.com/Koenkk/zigbee2mqtt/issues/695
Chociaż w konsoli jak wpiszesz nano /opt/zigbee2mqtt/data/configuration.yaml
i będziesz miał w pliku coś np. tak:
-----
homeassistant: false
permit_join: true
mqtt:
base_topic: zigbee2mqtt
server: 'mqtt://192.168.0.42:1883' // tu oczywiście wstaw IP swojej maliny
serial:
disable_led: true
port: /dev/ttyACM0
devices:
experimental:
output: attribute
-----
To powinno ruszyć bez problemu. Ja przeklepałem linijkę w linijkę dokładnie z tego pliku: https://drive.google.com/file/d/1RNI5_CsLC__PWVMoRlgTn0wXwNKM8K6s/view
@maras, @isom, Witam ponownie. Wczoraj operacja zakończona prawie sukcesem. Dziękuję za wasze wsparcie. Jednak walczę dalej, i chciałem jeszcze dopytać czym się flash-uje tego CC2531 - tzn chodzi mi o sprzęt. Kupiłem już sflashowany, ale na wszelki wypadek chciałem sobie to kupić. Dotarłem już do etapu że w konsoli odpalił się zigbeemqtt bez błędów i zacząłem skanowanie ( z poziomu konsoli ) ale jakby żaden sprzęt nie nadawał.(chociąż wymuszałem na nich nadawanie) Zacząłem się więc zastanawiać czy na pewno mam dobrze sflash-owany sniffer. Jak braknie mi pomysłów to sflashuje go sam, a jak się nie uda to poproszę wtedy o pomoc kogoś innego. Dodatkowo jak inaczej ( tzn w 2 konsolach) sprawdza się mqtt ? jak odpalę MQTTfx to wygląda na to że wszystko gada prawidłowo, publikuję i odbieram wiadomości a nawet widzę tam że nadaje zigbeemqtt ale chciałem spróbować jeszczę metodę z 2 konsolami.
Na ten moment znowu namieszałem i znowu reinstalacja 🙂
PS. Dziękuję za wasze zaangażowanie w pomoc. Chyba jeszcze trochę Was pomęczę.
@lukaszbeben jak udało się zainstalować bez błędów zigbee2mqtt to sniffer jest raczej ok i nie ma sensu ponowy flash ale tak informacyjnie to masz poradnik na tym forum jak wgrać do tego soft za pomocą twojego raspberry , wstawiałem nawet link w wątku o czujnikach b..ch.
Jak już masz działające zigbee to sprawdz sobie co masz w bazie zigbee czyli
cd /opt/zigbee2mqtt/data sudo nano database.db
i powinieneś mieć na początek podobny wpis z koordynatorem - snifferem
@isom taka zawartość jak poniżej
{"id":1,"type":"Coordinator","ieeeAddr":"0x00124b0014b93896","nwkAddr":0,"manufId":0,"epList":[1,2,3,4,5,6,8,11,12,13,47,110],"endpoints":{"1":{"profId":260,"epId":1,"$ ............I COŚ TAM DALEJ, ZARAZ JAK ZROBIĘ BACKUP MOGĘ DOŁŁĄCZYĆ CAŁĄ ZAWARTOŚĆ TYLKO SOBIE JESZCZE VXCODE URUCHOMIĘ ZARAZ PO BACKUPIE TEGO CO MAM
@lukaszbeben taka zawartość bazy jest ok . Teraz musisz tylko parować urządzenia , najlepiej czujnik blisko sniffera i dopiero
@lukaszbeben z konsoli to już za wiele nie nawojujesz , musisz parować z poziomu OH a jak parować to już poradniki albo ktoś kto ogarnia OH musi napisać ja wiem jak to zrobić z poziomu domoticz
Każde sparowane urządzenie powinno pojawić się w pliku configuration.yaml
który możesz podejrzeć i edytować przyjazne nazwy
cd /opt/zigbee2mqtt/data
sudo nano configuration.yaml