Bekomme Zigbee2MQTT nicht zum Laufen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

timo
Beiträge: 29
Registriert: 24. Okt 2019 09:01
Answers: 0

Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von timo »

Hi,

ich habe mir einen CC2652P USB Stick gekauft, bekomme ihn aber nicht zum Laufen.

Putty gibt diese Meldungen aus:

Code: Alles auswählen

openhabian@openhabian:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.22.2 start /opt/zigbee2mqtt
> node index.js

Zigbee2MQTT:info  2022-01-14 19:36:01: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-01-14.19-36-00' filename: log.txt
Zigbee2MQTT:info  2022-01-14 19:36:01: Starting Zigbee2MQTT version 1.22.2 (commit #301ba14b)
Zigbee2MQTT:info  2022-01-14 19:36:01: Starting zigbee-herdsman (0.13.188)
Zigbee2MQTT:error 2022-01-14 19:36:02: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2022-01-14 19:36:02: Failed to start zigbee
Zigbee2MQTT:error 2022-01-14 19:36:02: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2022-01-14 19:36:02: Exiting...
Zigbee2MQTT:error 2022-01-14 19:36:02: Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'
    at SerialPort.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
    at SerialPort._error (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.22.2 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.22.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/2022-01-14T18_36_02_869Z-debug.log

Ich habe diesen Stick gekauft:
https://www.ebay.de/itm/224675867544

Muss ich da noch was flashen oder müsste der so wie er kommt. funktionieren?

In der Beschreibung steht:

"Selbstprogrammierung über den cc2538-bsl ( https://github.com/JelmerT/cc2538-bsl ).

python3 cc2538-bsl.py -p /dev/ttyUSB0 --bootloader-invert-lines -e -w -v FIRMWARE


Oder mit SmartRF Flash Programmer2 ( https://www.a6z.de/?p=5 )
Kein externer Programmierer erforderlich!
"

Im Link (https://www.a6z.de/?p=5) gibt es zwei Firmwares zur Wahl:

Koenkk 3.x.0
Egony 3.x.0

Wenn ich flashen muss: welche soll ich nehmen?


Oder liegt es an einer ganz anderen Sache?

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von HiG »

timo hat geschrieben: 14. Jan 2022 20:07 unavailable Cannot lock port'
Ich würde schätzen, das irgenwas anderes auf den Port zugreift.

Ich hatte bei mir die Deconz-Software für den DeConz-Stick installiert. Nachdem diese gestartet war, konnte ich den Stick auch nicht mehr in zigbee2mqtt nutzen. Wurde dann auch mit dieser Fehlermeldung empfangen

timo
Beiträge: 29
Registriert: 24. Okt 2019 09:01
Answers: 0

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von timo »

Ich habe bisher nichts auf dem Stick installiert.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von sihui »

timo hat geschrieben: 14. Jan 2022 20:07 bekomme ihn aber nicht zum Laufen.
Du musst die korrekten Rechte für das /opt/zigbee2mqtt Verzeichnis setzen, also mit dem User der auch zigbee2mqtt startet.

Im zigbee2mqtt Forum sind allerdings deine Fragen deutlich besser aufgehoben, dein Problem hat ja mit openHAB nichts zu tun.
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

timo
Beiträge: 29
Registriert: 24. Okt 2019 09:01
Answers: 0

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von timo »

sihui hat geschrieben: 15. Jan 2022 07:44 Du musst die korrekten Rechte für das /opt/zigbee2mqtt Verzeichnis setzen, also mit dem User der auch zigbee2mqtt startet.
Kannst du das bitte genauer erklären?
sihui hat geschrieben: 15. Jan 2022 07:44Im zigbee2mqtt Forum sind allerdings deine Fragen deutlich besser aufgehoben, dein Problem hat ja mit openHAB nichts zu tun.
Welches Forum meinst du genau?

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von sihui »

timo hat geschrieben: 15. Jan 2022 11:08 Kannst du das bitte genauer erklären?

Code: Alles auswählen

sudo chown -R deinUser:deinUser /opt/zigbee2mqtt
timo hat geschrieben: 15. Jan 2022 11:08 Welches Forum meinst du genau?
https://github.com/Koenkk/zigbee2mqtt/discussions
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

timo
Beiträge: 29
Registriert: 24. Okt 2019 09:01
Answers: 0

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von timo »

sudo chown -R openhabian:openhabian /opt/zigbee2mqtt

Danach wurde ich noch nach dem Passwort gefragt und dann kam nichts mehr.


Ich habe insgesamt folgendes gemacht:

1. Mosquitto installiert. Ich bin ziemlich sicher, dass es läuft. Die Abfrage habe ich nach einem Revboot gemacht, es ist also im Autostart

Code: Alles auswählen

openhabian@openhabian:~ $ sudo service mosquitto status
● mosquitto.service - Mosquitto MQTT Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-01-15 11:36:40 CET; 4min 10s ago
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
    Process: 634 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 636 ExecStartPre=/bin/chown mosquitto /var/log/mosquitto (code=exited, status=0/SUCCESS)
    Process: 637 ExecStartPre=/bin/mkdir -m 740 -p /run/mosquitto (code=exited, status=0/SUCCESS)
    Process: 638 ExecStartPre=/bin/chown mosquitto /run/mosquitto (code=exited, status=0/SUCCESS)
   Main PID: 639 (mosquitto)
      Tasks: 1 (limit: 4915)
        CPU: 169ms
     CGroup: /system.slice/mosquitto.service
             └─639 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Dann habe ich geprüft, ob/wo der Stick ist:

Code: Alles auswählen

openhabian@openhabian:~ $ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jan 15 11:37 /dev/ttyUSB0
Er ist also in /dev/ttyUSB0 und nicht irgendwo anders (z. B. /dev/ttyACM0).

Dann habe ich nodejs installiert:

Code: Alles auswählen

sudo apt-get install -y nodejs npm git make g++ gcc

Code: Alles auswählen

openhabian@openhabian:~ $ node --version
v14.18.3
openhabian@openhabian:~ $ npm --version
6.14.15
Dann habe ich zigbee2MQTT installiert:

Code: Alles auswählen

git clone https://github.com/Koenkk/zigbee2mqtt.git

Code: Alles auswählen

sudo mv zigbee2mqtt /opt/zigbee2mqtt

Code: Alles auswählen

cd /opt/zigbee2mqtt

Code: Alles auswählen

npm ci
Danach habe ich die Konfigurationsdatei (configuration.yaml) geöffnet:

Code: Alles auswählen

nano /opt/zigbee2mqtt/data/configuration.yaml
Darin steht:

Code: Alles auswählen

mqtt:
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://mqtt
  user: openhabian
  password: MEINPASSWORT <- hier habe ich natürlich mein echtes Passwort von Mosquitto eingegeben
serial:
  port: /dev/ttyUSB0
frontend:
  port: 8080
advanced:
  network_key: GENERATE
Mit STRG+O und enter habe ich die Abfrage (File Name to Write: /opt(zigbee2mqtt/data/configuration.yaml) bestätigt und mit STRG+X die GNU nano 5.4 Oberfläche verlassen und bin ins Terminal zurück

Weiter habe ich den Pfad gewechselt:

Code: Alles auswählen

cd /opt/zigbee2mqtt
und zigbeeMQTT gestartet:

Code: Alles auswählen

npm start

Dabei bekomme ich dann diese Fehlermeldung:

Code: Alles auswählen

openhabian@openhabian:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.22.2 start /opt/zigbee2mqtt
> node index.js

Zigbee2MQTT:info  2022-01-15 11:59:50: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-01-15.11-59-48' filename: log.txt
Zigbee2MQTT:info  2022-01-15 11:59:50: Starting Zigbee2MQTT version 1.22.2 (commit #301ba14b)
Zigbee2MQTT:info  2022-01-15 11:59:50: Starting zigbee-herdsman (0.13.188)
Zigbee2MQTT:error 2022-01-15 12:00:11: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2022-01-15 12:00:11: Failed to start zigbee
Zigbee2MQTT:error 2022-01-15 12:00:11: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2022-01-15 12:00:11: Exiting...
Zigbee2MQTT:error 2022-01-15 12:00:11: 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:102:27)
    at Controller.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/controller/controller.ts:123:29)
    at Zigbee.start (/opt/zigbee2mqtt/lib/zigbee.ts:58:27)
    at Controller.start (/opt/zigbee2mqtt/lib/controller.ts:100:27)
    at start (/opt/zigbee2mqtt/index.js:97:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.22.2 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.22.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/2022-01-15T11_00_11_504Z-debug.log
In der Konsole steht, dass man hier nach einer Lösung schauen soll:

https://www.zigbee2mqtt.io/guide/instal ... start.html


Ich habe nochmal überprüft, ob der Port korrekt ist. Ich meine, dass ttyUSB0 korrekt ist:

Code: Alles auswählen

openhabian@openhabian:/opt/zigbee2mqtt $ ls -l /dev/serial/by-id
total 0
lrwxrwxrwx 1 root root 13 Jan 15 11:56 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0
openhabian@openhabian:/opt/zigbee2mqtt $
Dem Fehler kann ich nur entnehmen, dass es einen Fehler beim Starten von Zigbee gibt.
Was genau der Fehler ist bzw. wie ich ihn beheben kann, weiß ich nicht.

Ich habe jetzt alle4 USB Slots getestet und den Stick auch nochmal geflasht. Der Fehler ändert sich nicht.

Du hast vermutet, dass die korrekten Rechte fehlen.
Also habe ich:

Code: Alles auswählen

sudo chown -R openhabian:openhabian /opt/zigbee2mqtt
Der Fehler ist aber leider immer noch identisch:

Code: Alles auswählen

npm start

Code: Alles auswählen

openhabian@openhabian:/opt/zigbee2mqtt $ npm start

> zigbee2mqtt@1.22.2 start /opt/zigbee2mqtt
> node index.js

Zigbee2MQTT:info  2022-01-15 12:06:17: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-01-15.12-06-16' filename: log.txt
Zigbee2MQTT:info  2022-01-15 12:06:17: Starting Zigbee2MQTT version 1.22.2 (commit #301ba14b)
Zigbee2MQTT:info  2022-01-15 12:06:17: Starting zigbee-herdsman (0.13.188)
Zigbee2MQTT:error 2022-01-15 12:06:18: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2022-01-15 12:06:18: Failed to start zigbee
Zigbee2MQTT:error 2022-01-15 12:06:18: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2022-01-15 12:06:18: Exiting...
Zigbee2MQTT:error 2022-01-15 12:06:18: Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port'
    at SerialPort.<anonymous> (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/znp/znp.ts:146:28)
    at SerialPort._error (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /opt/zigbee2mqtt/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! zigbee2mqtt@1.22.2 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the zigbee2mqtt@1.22.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/2022-01-15T11_06_18_733Z-debug.log


Ich kann mir 4 Fehler vorstellen.

1. Ich habe irgendwas vergessen zu installieren
2. die configuration.yaml ist fehlerhaft. Bitte schau mal, ob speziell die Angabe beim Server (server: mqtt://mqtt) hier korrekt ist:

Code: Alles auswählen

mqtt:
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://mqtt
  user: openhabian
  password: MEINPASSWORT <- hier habe ich natürlich mein echtes Passwort von Mosquitto eingegeben
serial:
  port: /dev/ttyUSB0
frontend:
  port: 8080
advanced:
  network_key: GENERATE
3. Recht(e) fehlen

4. Stick kaputt

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

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von udo1toni »

Ich schätze mal, dass der Server mqtt://localhost heißen muss, alternativ die ip des Raspberry, auf dem mosquitto läuft.

Achtung! Nur weil mosquitto als Dienst läuft, ist nicht sichergestellt, dass mosquitto auch über Netzwerk erreichbar ist. Am besten prüfst Du das mit einem Tool, welches nicht auf dem Raspberry läuft. Für PC nutze ich persönlich den mqtt spy (benötigt Java), alternativen wäre z.B. mqtt.fx. Es gbit solche mqtt Sniffer auch (kostenlos) als App für Android und iOS. (wie Sand am Meer... ich hab die Übersicht längst verloren)

Allen Sniffern gemein ist, dass Du die Verbindungsdaten zum Broker eintragen musst, also die IP des Raspberry, sowie User und Passwort, sofern gesetzt. Der Port 1883 ist Standard und sollte aus jeder mqtt App direkt genutzt werden (keine secure communication aktivieren).

Wenn Du Dich so erfolgreich in mqtt einloggen kannst, ist sichergestellt, dass mosquitto auch korrekt funktioniert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von sihui »

timo hat geschrieben: 15. Jan 2022 12:10 Bitte schau mal, ob speziell die Angabe beim Server (server: mqtt://mqtt) hier korrekt ist:
Das ist meine funktionierende Konfig in Bezug auf MQTT:

Code: Alles auswählen

 mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://localhost
Dein doppeltes mqtt: ist also schon mal falsch, der Rest stimmt nur wenn du Username Passwort nutzt, das würde ich erst einmal weglassen.
Noch einmal: du bist im falschen Forum für dein Problem!
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

timo
Beiträge: 29
Registriert: 24. Okt 2019 09:01
Answers: 0

Re: Bekomme Zigbee2MQTT nicht zum Laufen

Beitrag von timo »

udo1toni hat geschrieben: 15. Jan 2022 13:17 Ich schätze mal, dass der Server mqtt://localhost heißen muss, alternativ die ip des Raspberry, auf dem mosquitto läuft.
Danke, habe ich geändert. Nützt aber auch nichts.
udo1toni hat geschrieben: 15. Jan 2022 13:17 Achtung! Nur weil mosquitto als Dienst läuft, ist nicht sichergestellt, dass mosquitto auch über Netzwerk erreichbar ist. Am besten prüfst Du das mit einem Tool, welches nicht auf dem Raspberry läuft. Für PC nutze ich persönlich den mqtt spy (benötigt Java), alternativen wäre z.B. mqtt.fx. Es gbit solche mqtt Sniffer auch (kostenlos) als App für Android und iOS. (wie Sand am Meer... ich hab die Übersicht längst verloren)

Allen Sniffern gemein ist, dass Du die Verbindungsdaten zum Broker eintragen musst, also die IP des Raspberry, sowie User und Passwort, sofern gesetzt. Der Port 1883 ist Standard und sollte aus jeder mqtt App direkt genutzt werden (keine secure communication aktivieren).

Ich habe mqtt spy ausprobiert. Bei einer neuen Verbinduing bekomme ich beim Speichern schon einen Fehler:
Oops... your configuration file isn't right. Please restore default configuration


Den Fehler bekomme ich direkt, wenn ich eine neue Verbindung anlege (create new mqtt connection).
Was da fehlt - keine Ahnung. Ich habe einen Connection Namen, die URL (192.168.188.3:1883) eingegeben. Sonst noch nichts.

mqtt.fx funktioniert mangelds Lizenz nicht.

Ich denke, dass dein Vorgehen (sicherstellen, dass mosquito echt läuft) gut ist. Bei mir steigt nur langsam das Frustpotential. Ich eier seit über einer Woche damit rum und je mehr ich in den Pi vergebens eingebe/installiere, desto mehr mache ich das System kaputt.

Antworten