Zigbee2mqtt cc2531 - przestało działać

Mam dongla cc2531 jak by coś za przysłowiowe piwko + wysylka

1 polubienie

ponowny flash dongle’a pomoże

To i ja mam tak samo a w logach

Zigbee2MQTT:error

Wracam do wątku bo jak pisałem tutaj: Zigbee2mqtt cc2531 - przestało działać - #27 przez Belamy
ZigBee przestało mi działać.
Zabrałem się do analizy i przygotowałem sobie:

  • ZigBee dongle od AI-Speakera link
  • ZigBee dongle z antenką (na tym samym chipie co a AI-Speakera link
  • Nową instalację Home Assistanta (bazuje na tym bramka z AI-Speakera) na Raspberry Pi.

Okazało się, że jednak w dziwny sposób USB ZigBee z Ai-Speakera jednak nie działa i nie chodzi tu o wersję/aktualizację zigbee2mqtt czy HA.
Po prostu przestało działać bez powodu.
\Nie robiłem żadnego flashowania, po prostu był podłączony do bramki przez kilka miesięcy. Jedyne co robiłem systematyczne to aktualizacje oprogramowania bramki.

Jak podłączę USB ZigBee z AI-Speakera to w logach mam tak:

> zigbee2mqtt@1.17.0 start /zigbee2mqtt-1.17.0
> node index.js
Zigbee2MQTT:info  2021-01-11 01:05:43: Logging to console and directory: '/share/zigbee2mqtt/log/2021-01-11.01-05-40' filename: log.txt
Zigbee2MQTT:info  2021-01-11 01:05:43: Starting Zigbee2MQTT version 1.17.0 (commit #1.17.0)
Zigbee2MQTT:info  2021-01-11 01:05:43: Starting zigbee-herdsman (0.13.46)
Zigbee2MQTT:error 2021-01-11 01:06:23: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-01-11 01:06:23: Failed to start zigbee
Zigbee2MQTT:error 2021-01-11 01:06:23: Exiting...
Zigbee2MQTT:error 2021-01-11 01:06:23: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.<anonymous> (/zigbee2mqtt-1.17.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:94:31)
    at Generator.throw (<anonymous>)
    at rejected (/zigbee2mqtt-1.17.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:25:65)

Kiedy podłączęUSB ZigBee z antenką kupione na allegro to w logach mam tak:

> zigbee2mqtt@1.17.0 start /zigbee2mqtt-1.17.0
> node index.js
Zigbee2MQTT:info  2021-01-11 01:07:39: Logging to console and directory: '/share/zigbee2mqtt/log/2021-01-11.01-07-36' filename: log.txt
Zigbee2MQTT:info  2021-01-11 01:07:39: Starting Zigbee2MQTT version 1.17.0 (commit #1.17.0)
Zigbee2MQTT:info  2021-01-11 01:07:39: Starting zigbee-herdsman (0.13.46)
Zigbee2MQTT:info  2021-01-11 01:07:43: zigbee-herdsman started
Zigbee2MQTT:info  2021-01-11 01:07:43: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20190608,"transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info  2021-01-11 01:07:43: Currently 0 devices are joined:
Zigbee2MQTT:warn  2021-01-11 01:07:43: `permit_join` set to  `true` in configuration.yaml.
Zigbee2MQTT:warn  2021-01-11 01:07:43: Allowing new devices to join.
Zigbee2MQTT:warn  2021-01-11 01:07:43: Set `permit_join` to `false` once you joined all devices.
Zigbee2MQTT:info  2021-01-11 01:07:43: Zigbee: allowing new devices to join.
Zigbee2MQTT:info  2021-01-11 01:07:43: Started frontend on port 0.0.0.0:8099
Zigbee2MQTT:info  2021-01-11 01:07:43: Connecting to MQTT server at mqtt://core-mosquitto
Zigbee2MQTT:info  2021-01-11 01:07:44: Connected to MQTT server
Zigbee2MQTT:info  2021-01-11 01:07:44: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2021-01-11 01:07:44: MQTT publish: topic 'zigbee2mqtt/bridge/info', payload 

Co ciekawe jak podłączam USB ZigBee z AI-Speakera do komputera PC to w Windows 10 wykrywa urządzenie jako serial port, czyli poprawnie. Wygląda na to, że konwerter USB<->Serial port działa a dopiero stało się coś z chipem albo jego firmwarem.

Odeślę do IS-Speakera, niech sprawdzą.

2 polubienia

Niestety i mnie też kiedyś dopadła “awaria” CC2531 (ale ewidentnie z mojej winy), mam RPi3, CC2531 z antenką, HA (nie AIS) , w logach pojawiał się błąd jak poniżej:

zigbee2mqtt:info  2020-11-07 09:27:08: Starting zigbee-herdsman...
zigbee2mqtt:error 2020-11-07 09:27:16: Error while starting zigbee-herdsman
zigbee2mqtt:error 2020-11-07 09:27:16: Failed to start zigbee
zigbee2mqtt:error 2020-11-07 09:27:16: Exiting...
zigbee2mqtt:error 2020-11-07 09:27:16: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.<anonymous> (/opt/zigbee2mqtt3/node_modules /zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:72:23)
    at Generator.throw (<anonymous>)
    at rejected (/opt/zigbee2mqtt3/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:6:65)

Zigbee2MQTT nie może skomunikować się z adapterem CC2531. Po włożeniu do laptopa z Windows10 wszystko wyglądało na OK, system wykrył urządzenie USB, poprawnie je zidentyfikował ale po paru minutach następowało jego programowe odłączenie, ponowne wykrycie i podłączenie i tak w kółko. To jednoznacznie potwierdziło, że coś jest “nie tak” z tym dongle. Pora więc na jego ponowne flashowanie zgodnie z instrukcją Home Assistant - Zigbee2MQTT (CC2531 za 4$) i programowanie przez nodeMCU . Całą procedurę już raz przechodziłem, wszystko miałem przygotowane więc tym razem poszło szybko i przyjemnie :slightly_smiling_face:. Oczywiście niczego nie trzeba lutować - wystarczy lekko odgiąć piny na CC2531 a do podłączenia nodeMCU V2 (CP2102) - lekko zmodyfikować standardowe przewody połączeniowe żeńsko-żeńskie.
Do dnia dzisiejszego nie pojawił się podobny problem z CC2531.

dodam że dioda na nim gaśnie po około 10 sek.

BTW: to można kontrolować poprzez parametr w pliku konfiguracyjnym Zigbee2MQTT:

serial:
  port: /dev/ttyACM0
  # Optional: disable LED of the adapter if supported (default: false)
  disable_led: false
2 polubienia

Jedynym punktem wspólnym zdaje się być firmware zigbee2mqtt i fakt, że używacie urządzeń zigbee. Z waszych wpisów wynika, że macie różne rodzaje cc2531 (z antenkami, bez antenek, od aispeakera), używaliście różnych sprzętów (bramka aispeaker, rpi) a problem i tak występuje…

Szukaliście na orginalnym forum zigbee2mqtt (po błędach które wam się powtarzają)?
Error while starting zigbee-herdsman
Failed to connect to the adapter
itd

1 polubienie

problem jest już znany w projekcie zigbee2mqtt i dotyczy różnych adapterów ( ConBee II, CC2652RB, CC2530, CC2531 …) oraz różnych bramek (PC, NUC, RPI…)

Jesteśmy umówieni z użytkownikiem którego to spotkało, że ma nam odesłać adapter do sprawdzenia.
Zobaczymy czy takie urządzenie zadziała u nas (czy to powodują urządzenia w sieci czy coś jest nie tak z oprogramowaniem w samym adapterze).
Opiszemy czy coś udało nam się ustalić i czy jest jakiś sposób na reset bez przeprogramowywania.

4 polubienia

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