Zigbee2mqtt cc2531 - przestało działać

Tak jak się umówiliśmy, wczoraj nasz użytkownik odesłał nam adapter cc2531 do diagnozy.
Oraz listę urządzeń z którymi adapter działał:

Chociaż jest to promil w naszej sprzedaży, to taki niewyjaśniony problem jest niepokojący i chcieliśmy to zrozumieć… dlatego zacząłem to już wcześniej wyjaśniać:

Wg autora projektu zigbee2mqtt problem nie jest w zigbee2mqtt, ale w oprogramowaniu Z-Stack Texas Instruments którego źródła są tu:
https://www.ti.com/tool/Z-STACK-ARCHIVE

Zacząłem drążyć temat bardziej.

Dzisiaj dostałem to urządzenie które nie chciało się komunikować i wykonałem na nim kilka testów.
Moim celem było sprawdzenie, czy uszkodzony jest sprzęt i jak nie to przywrócenie go do komunikacji bez ponownego przeprogramowywania.

Wynik testu:
:white_check_mark: sprzęt jest OK
:white_check_mark: już się komunikuje z zigbee2mqtt bez przeprogramowaywania
Wystarczyło zmienić kanał ZigBee channel z 11 na 25.

Tu opisałem szczegółowo, co zaszło:

Czy to koniec tej historii? Nie, oczywiście będziemy próbowali do końca zrozumieć co może powodować blokowanie komunikacji zigbee2mqtt z adapterem.

:information_source: Dla tych, co doświadczą problemów z komunikacją, proponujemy, żeby zmienili kanał na 25.

Rozważamy też możliwość zmiany domyślnego kanału na 25 w naszej fabrycznej konfiguracji. Oraz zaproponujemy wybór oprogramowania Z-Stack Texas Instruments: default lub source_routing w sprzedawanych przez nas urządzeniach.

Oprogramowanie w wersji source_routing pozwala wprawdzie na jednoczesne podłączenie do koordynatora bezpośrednio tylko 5 urządzeń (obecnie w default można podłączyć bezpośrednio 20) ale ma możliwość komunikacji po “trasach źródłowych” (source routing) co w konsekwencji pozwala na wykonanie większych i stabilniejszych sieci.

http://cms.digi.com/resources/documentation/digidocs/90001537/references/r_large_zigbee_networks-source_routing.htm?TocPath=Working%20with%20Zigbee|_____14

Zgłaszam temat do @Celina, żeby na aukcji dała Klientom do wyboru 3. opcję z oprogramowaniem, które ma być wgrane na adapter:

  1. Bez oprogramowania
  2. Z-Stack_Home_1.2 (default)
  3. Z-Stack_Home_1.2 (source_routing)

Dla tych, co chcieliby zmienić oprogramowanie, ale nie mają do tego narzędzi, prawdopodobnie zaoferujemy usługę programowania/przeprogramowania urządzeń. Temat przemyślimy i damy znać.

3 polubienia

Prosze mieć na uwadze, że wtedy wymage jest powtórzenie parowania wszystkich urządzeń Zigbee - Frequently asked questions | zigbee2mqtt.io testowałem to u siebie i potwierdzam.
Zmiana kanału Zigbee może również wpłynąć na sieć Wi-Fi bo może dojść do nakładania się pasma.

tak, zgadza się :+1:

Ja po tym, jak urządzenie ruszyło na kanale 25, wróciłem na kanał 11 i działa OK bez przeparowywania. Ten adapter jest teraz automatycznie sparowany z urządzeniami, które w biurze działają też na kanale 11… protestujemy go jeszcze kilka dni na kanale 11.

No właśnie. Zastanawiamy się czemu to kanał 11 jest domyślny w z2m, na kanale od 1 do 13 (czyli też na 11) działa WiFi na tej samej częstotliwości. 25 wydaje się lepszym wyborem na domyślny.

:thinking: dobrze rozumiem, że wystarczyło dla niedziałającego CC2531 w Zigbee2MQTT (Z2M) zmienić kanał na 25, zrobić restart Z2M wtedy CC2531 zaczął ponownie działać? A potem ponowna zmiana na kanał 11, kolejny restart Z2M i mamy stan początkowy Z2M z działającym CC2531?

Odnośnie planowania Wi-Fi i ZigBee polecam artykuł ZigBee and WiFi Coexistence.

Nawet są urządzenia Zigbee, które działąją tylko na tym kanale 25, nie mają możliwości działania na innym kanale.

2 polubienia

Potwierdzam są takie urządzenia, mam sensor Konke który wymaga kanału 15, 20 lub 25.

1 polubienie

Z dokumentacji wynika że te kanały 15, 20, 25 to nie jest przypadkowy wybór. Na nich zakłócenia od wifi powinny być najmniejsze. Ale wybór 25 kanału dla zigbee i tak nie rozwiąże całkowicie problemu. W domu jednorodzinnym można wyłączyć z użytku wysokie kanały wifi ale w bloku zakłócenia od sąsiednich sieci mogę być nie do ogarnięcia.

1 polubienie

:100:
dokładnie tak

Opisałem ten temat na forum zigbee2mqtt, autor tego projektu chce logi debug, ja już mu nie wyśle bo adapter działa - nie mogę tego odtworzyć.

Gdyby ktoś miał jeszcze taki przypadek

brak komunikacji adaptera z zigbee2mqtt
adapter jest w usb, nie pojawia się aplikacja zigbee2mqtt, widzimy w logach

pm2 logs

Error: SRSP - SYS - ping after 6000ms

to trzeba zrobić tak:

1. dostarczyć herdsman debug logs dla projektu zigbee2mqtt

a) zostawiamy adapter w porcie USB - nie ruszamy go
b) w konsoli zatrzymujemy process zigbee (żeby nie restartował się), to robimy komendą

pm2 stop zigbee

c) uruchamiamy zigbee2mqtt ręcznie z parametrem który włączy w konsoli logi herdsman (herdsman to podstawa zigbee2mqtt - program który pośredniczy w komunikacji pomiędzy adapterem a zigbee2mqtt)

cd ~/zigbee2mqtt
DEBUG=zigbee-herdsman* npm start

logi herdsman będą tylko w konsoli

to co się pojawi w konsoli kopiujemy i wysyłamy do zigbee2mqtt - tu jest otwarte zgłoszenie

2. jak już dostarczyliśmy zgłoszenie to możemy odblokować urządzenie przez zmianę portu zigbee (nie trzeba nic ponownie programować)

zmieniamy w ustawieniach zigbee2mqtt port na 25 i restartujemy serwis zigbee

pm2 restart zigbee

jak serwis i aplikacja wstanie to możemy zmienić port ponownie na 11 i znowu wykonać restart usługi zigbee albo pozostać na porcie 25 i przeparować urządzenia

4 polubienia

Tez mi się przytrafił taki problem, jak zmienić kanał zigbee na inny ?
PR

Trzeba zrobić wpis w configuration.yaml a następnie restart. Instrukcję masz powyżej. Jak już ci padło to zrób może te logi o które prosił araczkwoski.

w ustawieniach zigbee2mqtt

w konsoli:

cd ~/zigbee2mqtt/data/
nano configuration.yaml 

i dopisujesz na końcu to (po 2 spacjach bo to yaml i białe znaki są istotne):

channel: 25

czyli cały configuration.yaml wygląda tak:

homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost'
serial:
  port: /dev/ttyACM0
frontend:
  port: 8099
advanced:
  log_level: info
  log_output:
    - console
  channel: 25

jak zapiszesz zmiany to restartujesz serwis zigbee i patrzysz w logi

pm2 restart zigbee && pm2 logs

PS
na kanale beta dodaliśmy edycję konfiguracji i możliwość restartu serwisu z poziomu aplikacji, za kilka dni będzie to wydane. Opiszemy to w dokumentacji.

2 polubienia

no i wyslalem debug log na github i zmienilem na channel: 25 i w logu to samo

PM2        | [2021-02-03 07:41:40] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:40] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:40] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:40] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:40] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: pid=3194 msg=failed to kill - retrying in 100ms
PM2        | [2021-02-03 07:41:41] PM2 log: Process with pid 3194 could not be killed
PM2        | [2021-02-03 07:41:41] PM2 error: app=zigbee id=15 pid=3194 could not be stopped
PM2        | [2021-02-03 07:41:44] PM2 log: App [zigbee] with id [15] and pid [3194], exited with code [0] via signal [SIGKILL]
PM2        | [2021-02-03 07:48:36] PM2 log: Starting execution sequence in -fork mode- for app name:zigbee id:15
PM2        | [2021-02-03 07:48:36] PM2 log: App name:zigbee id:15 online

/data/data/pl.sviete.dom/files/home/NULL last 15 lines:
/data/data/pl.sviete.dom/files/home/.pm2/logs/NULL last 15 lines:
2|ais      | 2021-02-03 07:48:49 ERROR (SyncWorker_6) [miio.miioprotocol] Got error when receiving: timed out
15|zigbee  | Zigbee2MQTT:info  2021-02-03 07:48:51: Logging to console only'
15|zigbee  | Zigbee2MQTT:info  2021-02-03 07:48:51: Starting Zigbee2MQTT version 1.17.0 (commit #07cdc9d)
15|zigbee  | Zigbee2MQTT:info  2021-02-03 07:48:51: Starting zigbee-herdsman (0.13.46)
2|ais      | 2021-02-03 07:49:04 WARNING (MainThread) [homeassistant.components.vacuum] Updating xiaomi_miio vacuum took longer than the scheduled update interval 0:00:20
2|ais      | 2021-02-03 07:49:10 ERROR (SyncWorker_6) [miio.miioprotocol] Got error when receiving: timed out
15|zigbee  | Zigbee2MQTT:error 2021-02-03 07:49:31: Error while starting zigbee-herdsman
15|zigbee  | Zigbee2MQTT:error 2021-02-03 07:49:31: Failed to start zigbee
15|zigbee  | Zigbee2MQTT:error 2021-02-03 07:49:31: Exiting...
15|zigbee  | Zigbee2MQTT:error 2021-02-03 07:49:31: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
15|zigbee  |     at ZStackAdapter.<anonymous> (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:94:31)

fajnie - dzięki :+1:

widać w logach

zigbee-herdsman...

chyba o to chodzi autorowi zigbee2mqtt
(wcześniej wydawało mi się, że to zwykłe logi a nie debug z herdsman - soorki)

PS
2 dni temu wyszła aktualizacja zigbee2mqtt, dzisiaj ją puścimy chyba na beta.
Jest też aktualizacja oprogramowania do adaptera CC.

Aktualizację adaptera nie da zrobić zdalnie niestety.

Myślimy jak pomóc tym co nie są w stanie sami zaprogramować adaptera. Jeżeli ktoś będzie miał problem z urządzeniem to ze spokojem jakoś to ogarniemy.
Może @Celina zgodzi się np. wystawiać na Allegro programowanie urządzeń za jakąś symboliczną kwotę, która pokryje pakowanie i wysyłkę.
My pomożemy i przeprogramujemy gratis bo to jest minuta.

@paciuk próbuj jeszcze inne kanały, masz to teraz dostępne z aplikacji i z aplikacji możesz restartować usługę zigbee.

Poczekajmy też kilka dni na to co programiści zigbee2mqtt zrobią / opowiedzą na Twojego loga.
Jeżeli dalej będziesz miał z tym problem to daj znać - coś wymyślimy :+1:

1 polubienie

Nie ma problemu. Przygotuję do tej akcji “logistykę” i wrzucimy na forum info :slight_smile:

2 polubienia

To widzę że to nie tylko mój problem tylko concentrator coś nawala. Ale u Was też objawia się to tak że usb nie świeci nawet nie trzeba restartowac AIS tylko wyciągnąc i wsadzić dongle.

@jolka co z tą aukcją. Mnie dalej się wiesza… Zigbee Wam też? Co powiecie CC2530 + CC2591 router ZigBee USB w obudowie 9385244943 - Allegro.pl czy iść z conbee2?

Ty chcesz to jako router czy jako koordynator użyć?
Jako koordynator raczej nie zadziała automatycznie z AIS. Stojąc w podobnym miejscu chyba bym poszedł w stronę Conbee2.

Jeśli się wiesza spróbuj zmienić kanał wi fi oraz zigbee użyj w telefonie wi fi analizer i zrób tak żeby sygnał się nie nakładał

Nie jest jakiś problem z zigbee to nie problem wieszania tylko problemu z układem.

@Celina co z tym wystawieniem na allegro tego programowania cc2531

@olek123456 po weekendzie uruchomimy już tą opcję :slight_smile: napiszemy o tym w osobnym poście na forum z ‘instrukcją’ co i jak :slight_smile: