zigbee2mqtt funktioniert nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

zigbee2mqtt funktioniert nicht

Beitrag von rebell21 »

ich habe einige zigbee Devices und wollte diese in openhab einbinden. Ich habe mir einen zigbee-USB Dongle beschafft.
Sonoff Zigbee 3.0 USB Dongle Plus V2 (das ist die Version ZBDongle-E).

Diesen binde ich in openhab als Ember Coordinator über ein Zigbee Binding ein. Das funktioniert zwar, ist aber sehr instabil. Die Ember Bridge geht ganz schnell und oft in "Communication Error". Daher habe ich versucht, zigbee2mqtt zu installieren.

Das habe ich über sudo openhabian-config gemacht, denn ich setze openhab auf einem NUC mit openhabian ein.
Der mqtt Broker funktioniert und diesen konnte ich auch in openhab als Bridge erzeugen.

Den Service zigbee2mqtt kriege ich nicht zum Laufen. Die Fehlermeldung in der Log-Datei ist immer " z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)".

Code: Alles auswählen

[2024-12-05 12:25:24] error:    z2m: Error while starting zigbee-herdsman
[2024-12-05 12:25:24] error:    z2m: Failed to start zigbee
[2024-12-05 12:25:24] error:    z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-12-05 12:25:24] error:    z2m: Exiting...
[2024-12-05 12:25:24] error:    z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:113:27)
    at Controller.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/controller.ts:137:29)
    at Zigbee.start (/opt/zigbee2mqtt/lib/zigbee.ts:69:27)
    at Controller.start (/opt/zigbee2mqtt/lib/controller.ts:161:27)
    at start (/opt/zigbee2mqtt/index.js:154:5)


meine Configuration.yaml

Code: Alles auswählen

peter@openhabian:~/zigbee2mqtt/zigbee2mqtt-data$ more configuration.yaml
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://mqtt
serial:
  port: /dev/serial/by-id/usb-Itead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_V2_1cc3e44770d9ee11be41b44c37b89984-if00-port0 
  adapter: ember
  rtscts: false
frontend: true
  port: 8081
advanced:
  network_key:
    - 214
    - 27
    - 107
    - 221
    - 154
    - 94
    - 15
    - 245
    - 20
    - 233
    - 207
    - 165
    - 152
    - 176
    - 3
    - 153




Ich habe schon die diversen Hinweise in

https://www.zigbee2mqtt.io/guide/inst ... r-6000ms

abgearbeitet. Allerdings habe ich den USB Dongle noch nicht neu geflasht. Traue ich mich nicht und ich habe den Dongle erst vor zwei Wochen gekauft, denke also dass er die letzte Firmware hat.

Hat irgendwer hier noch eine Idee.

Benutzeravatar
udo1toni
Beiträge: 15242
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: zigbee2mqtt funktioniert nicht

Beitrag von udo1toni »

Ich fürchte, by-id wird da Probleme bereiten.
Ein erster Test wäre, mal das "normale" Device zu verwenden (by-id müsste ein symbolischer Link sein)
Wenn es weiter Fehler gibt, wäre auch interessant, unter welchem User und mit welchen Rechten das Device angelegt ist (dev/ttyUSB...)
Funktioniert es hingegen, kannst Du eine udev Rule anlegen, welche beim Einstecken des Sticks automatisch ein ganz bestimmtes Device erzeugt (z.B. /dev/ttyZigbee), einem bestimmten User zuweist, bestimmte Rechte setzt usw. Diese udev Rule wird dann immer automatisch ausgeführt, sie erkennt den Stick wahlweise an verschiedenen Merkmalen, z.B. Hersteller, Modell, Seriennummer (hilfreich, wenn man mehrere "identische" Sticks einsetzt), so dass es anschließend egal ist, an welchem Port der Stick angeschlossen wird.

Mein zigbee2mqtt läuft über einen per Ethernet angebundenen Coordinator, das startet auch nur, wenn der Coordinator "da ist"
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: zigbee2mqtt funktioniert nicht

Beitrag von rebell21 »

ist jetzt fest /dev/ttyUSB1

Hier kann ich auch als User zugreifen. Habe es getestet mit test -w /dev/ttyUSB1 && echo success || echo failure

Unter dem User, der auch den zigbee2mqtt Service startet

Code: Alles auswählen

peter@openhabian:~/zigbee2mqtt/zigbee2mqtt-data$ test -w /dev/ttyUSB1 && echo success || echo failure
success
peter@openhabian:~/zigbee2mqtt/zigbee2mqtt-data$ 

Hat aber nichts gebracht. Immer noch

Code: Alles auswählen

[2024-12-05 15:14:23] error:    z2m: Error while starting zigbee-herdsman
[2024-12-05 15:14:24] error:    z2m: Failed to start zigbee
[2024-12-05 15:14:24] error:    z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-12-05 15:14:24] error:    z2m: Exiting...
[2024-12-05 15:14:24] error:    z2m: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/zStackAdapter.ts:113:27)
    at Controller.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/controller.ts:137:29)
    at Zigbee.start (/opt/zigbee2mqtt/lib/zigbee.ts:69:27)
    at Controller.start (/opt/zigbee2mqtt/lib/controller.ts:161:27)
    at start (/opt/zigbee2mqtt/index.js:154:5)


Ich habe auch den instabilen Embercoordinator aus Openhab entfernt

Benutzeravatar
udo1toni
Beiträge: 15242
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: zigbee2mqtt funktioniert nicht

Beitrag von udo1toni »

Wie sieht denn Deine Konfiguration für zigbee2mqtt aus?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: zigbee2mqtt funktioniert nicht

Beitrag von rebell21 »

more configuration.yaml

Code: Alles auswählen


permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://mqtt
serial:
  port: /dev/ttyUSB1
  adapter: ember
  rtscts: false
frontend: true
  port: 8081
advanced:
  network_key:
    - 214
    - 27
    - 107
    - 221
    - 154
    - 94
    - 15
    - 245
    - 20
    - 233
    - 207
    - 165
    - 152
    - 176
    - 3
    - 153




rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: zigbee2mqtt funktioniert nicht

Beitrag von rebell21 »

jetzt habe ich zumindest eine andere Fehlermeldung. Habe meine configuration.yaml geändert und neu gebootet.

zh:ember:uart:ash: Failed to init port with error Error: Error Resource temporarily unavailable Cannot lock port


laufen tut es trotzdem nicht

Code: Alles auswählen


starting Zigbee2MQTT without watchdog.
[2024-12-05 17:15:19] error:    zh:ember:uart:ash: Failed to init port with error Error: Error Resource temporarily unavailable Cannot lock port
[2024-12-05 17:15:19] error:    z2m: Error while starting zigbee-herdsman
[2024-12-05 17:15:19] error:    z2m: Failed to start zigbee
[2024-12-05 17:15:19] error:    z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-12-05 17:15:19] error:    z2m: Exiting...
[2024-12-05 17:15:19] error:    z2m: Error: Failed to start EZSP layer with status=HOST_FATAL_ERROR.
    at EmberAdapter.initEzsp (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:684:19)
    at EmberAdapter.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/ember/adapter/emberAdapter.ts:1598:24)
    at Controller.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/controller.ts:137:29)
    at Zigbee.start (/opt/zigbee2mqtt/lib/zigbee.ts:69:27)
    at Controller.start (/opt/zigbee2mqtt/lib/controller.ts:161:27)
    at start (/opt/zigbee2mqtt/index.js:154:5)
openhabian@openhabian:/opt/zigbee2mqtt$ 

meine configuration.yaml

Code: Alles auswählen

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
  user: peter
  password: *******
serial:
  adapter: ember
  port: /dev/ttyUSB0
  rtscts: false
frontend:
  port: 8081
advanced:
  network_key:
    - 129
    - 15
    - 55
    - 134
    - 187
    - 165
    - 217
    - 95
    - 214
    - 109
    - 121
    - 64
    - 7
    - 96
    - 193
    - 95
  pan_id: 20053
  log_level: warn
  channel: 11
  output: attribute_and_json
  log_directory: /var/log/zigbee2mqtt/%TIMESTAMP%al
  homeassistant_legacy_entity_attributes: false
  legacy_api: false
  

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: zigbee2mqtt funktioniert nicht

Beitrag von peter-pan »

Also als erstes würde ich mal die Dongle-Coordinator-Firmware verdächtigen.
Ich vermute dass diese in der Regel in der Version 6.41.0 vorgeflasht ist, soweit ich das noch weiss.

Wenn das bei dir so ist, dann ist "ember" wahrscheinlich die falsche Adaptereinstellung in der Configuration.yaml. Diese sollte lauten "ezsp".

Das Flashen ist auch relativ gefahrlos. Ich habe meinen Dongle sozusagen "online" geflasht. Inzwischen wird auch die aktuelle Coordinator-Software bereit gestellt und du musst die dir nicht herunterladen. Für das Flashen als Router geht das allerdings nur von Platte, aber auch mit dem Online-Flasher.
Unter dieser Adresse findest du einen Online-Flasher. Allerdings, geht der nicht unter Firefox. Dazu brauchst du Edge oder Chrome. Dort findest du auch eine Beschreibung. Es kann evtl. sein, dass du zum Flashen einen älteren Windows-Treiber installieren musst. Steht aber alles auf der Seite. Einen Dongle kriegt man schon für 20-21 €.

Ich habe inzwischen insgesamt 5 solche Teile geflasht. Zwei als Coordinatoren und drei als Router.

Ich benutze Z2M auch noch nicht lange, aber habe schon 50+ Geräte am Laufen. Alles stabil. Sogar in der Gartenhütte hängt ein Thermometer ;) . Die Devices sind halt im Verhältnis preisgünstig.

Wie gesagt, als erstes würde ich mal die Einstellung "ezsp" ausprobieren.
Hier noch ein Auszug aus meiner "configuration.yaml":

Code: Alles auswählen

frontend:
  port: 8081
homeassistant: false
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
  user: hab4
  password: ''
serial:
  adapter: ember
  port: >-
    /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20231220110104-if00
advanced:
  network_key:
    - 36
    - 41
Auszug aus dem Z2M-Dienst:

Code: Alles auswählen

hab4@raspi58:/opt/zigbee2mqtt/data $ systemctl status zigbee2mqtt
● zigbee2mqtt.service - Zigbee2MQTT
     Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-12-05 19:29:40 CET; 2min 28s ago
   Main PID: 102919 (npm start)
      Tasks: 23 (limit: 9259)
        CPU: 6.883s
     CGroup: /system.slice/zigbee2mqtt.service
             ├─102919 "npm start"
             ├─102930 sh -c "node index.js"
             └─102931 node index.js

Dez 05 19:29:40 raspi58 systemd[1]: Started zigbee2mqtt.service - Zigbee2MQTT.
Dez 05 19:29:41 raspi58 npm[102919]: > zigbee2mqtt@1.42.0 start
Dez 05 19:29:41 raspi58 npm[102919]: > node index.js
Dez 05 19:29:41 raspi58 npm[102931]: Starting Zigbee2MQTT without watchdog.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

rebell21
Beiträge: 125
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: zigbee2mqtt funktioniert nicht

Beitrag von rebell21 »

ich habe jetzt mal die Firmwareversion ncp-uart-sw_EZNet7.4.3_V1.0.0.gbl geflasht. Mit dem Programm von silabs (universal-silabs-flash).
Das scheint funktioniert zu haben. Es gab keine Fehlermeldung bei Starten der Services.

Code: Alles auswählen


peter@openhabian:~$ sudo systemctl status mosquitto
[sudo] password for peter: 
● mosquitto.service - Mosquitto MQTT Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-12-05 17:04:32 CET; 4h 20min ago
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
    Process: 567 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 577 ExecStartPre=/bin/chown mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 579 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
    Process: 585 ExecStartPre=/bin/chown mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
   Main PID: 586 (mosquitto)
      Tasks: 1 (limit: 9453)
     Memory: 3.0M
        CPU: 15.304s
     CGroup: /system.slice/mosquitto.service
             └─586 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Dec 05 17:04:32 openhabian systemd[1]: Starting mosquitto.service - Mosquitto MQTT Broker...
Dec 05 17:04:32 openhabian systemd[1]: Started mosquitto.service - Mosquitto MQTT Broker.
peter@openhabian:~$ 

Code: Alles auswählen

peter@openhabian:~$ sudo systemctl status zigbee2mqtt
● zigbee2mqtt.service - Zigbee2MQTT
     Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-12-05 18:37:35 CET; 2h 48min ago
   Main PID: 14801 (npm start)
      Tasks: 23 (limit: 9453)
     Memory: 155.1M
        CPU: 31.888s
     CGroup: /system.slice/zigbee2mqtt.service
             ├─14801 "npm start"
             ├─14817 sh -c "node index.js"
             └─14818 node index.js

Dec 05 18:37:37 openhabian npm[14801]: > zigbee2mqtt@1.42.0 start
Dec 05 18:37:37 openhabian npm[14801]: > node index.js
Dec 05 18:37:38 openhabian npm[14818]: Starting Zigbee2MQTT without watchdog.
Dec 05 18:37:50 openhabian npm[14818]: [2024-12-05 18:37:50] warning:         z2m: `permit_join` set to  `true` in configuration.yaml.
Dec 05 18:37:50 openhabian npm[14818]: [2024-12-05 18:37:50] warning:         z2m: Allowing new devices to join.
Dec 05 18:37:50 openhabian npm[14818]: [2024-12-05 18:37:50] warning:         z2m: Set `permit_join` to `false` once you joined all devices.
Dec 05 18:40:11 openhabian npm[14818]: [2024-12-05 18:40:11] warning:         z2m: Device '0x00124b002fa9adc5' left the network
Dec 05 18:40:41 openhabian npm[14818]: [2024-12-05 18:40:41] error:         zh:ember: Delivery of BROADCAST failed for '65533'.
Dec 05 18:40:51 openhabian npm[14818]: [2024-12-05 18:40:51] warning:         z2m: Device '0x00124b002fa9adc5' left the network
Dec 05 18:44:01 openhabian npm[14818]: [2024-12-05 18:44:01] error:         zh:ember: Delivery of BROADCAST failed for '65532'.
peter@openhabian:~$ 

Danach noch einmal mqtt und zigbee2mqtt neu installiert auf openhabian mit sudo openhabian-config.
Jetzt konnte ich die beiden Dienste ohne Fehlermeldung starten. Die Web GUI läuft unter ip-des-servers:8081 . Ich habe zwei Geräte SNZB-03 und den OSRAM Smart Plug in zigbee2mqtt anlernen und diese Geräte funktionieren auch.
Danke für Deine Hilfe

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: zigbee2mqtt funktioniert nicht

Beitrag von peter-pan »

Unter 7.4.3 sollte "ember" auch als Adapter funktionieren. Ich lasse alle 2 Wochen mal openhabian-config/zigbee2mqtt 2install/update laufen. Damit wird dann die Z2M-Version aktualisiert.
Bei der Firmware musst du selbst Hand anlegen und diese flashen. Ich empfehle dir noch diese Seite. Hier findest du die letzten Firmware-Versionen für den Dongle-E. Ich arbeite momentan mit der Version ncp-uart-hw-v7.4.4.0-zbdonglee-115200.gbl

Z2M-Frontend-Eigenschaften:

Code: Alles auswählen

Zigbee2MQTT-Version                   1.42.0 commit: 5b907f2f
Coordinator-Typ                       EmberZNet
Coordinator-Version                   7.4.4 [GA]
Coordinator IEEE Adresse              0x90395efffe3ff12c
Frontend-Version                      0.7.6
Zigbee Herdsman Konverter Version     20.58.0
Zigbee Herdsman Version               2.1.9
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten