Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

altbau
Beiträge: 9
Registriert: 17. Mär 2019 09:04

Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von altbau »

Mahlzeit!

Ich bin froh, dass ich dieses Forum gefunden habe, da ich mir sonst mit meinem gefährliche Halbwissen meine Openhab Installation zerschießen kann..

Hier mal mein Problem.
Ich habe mehrere Xiaomi Sensoren und diverses anderes Zeug von denen gekauft und möchte diese per zigbee2mqtt in Openhab einbinden.
Openhab 2.4 ist auf dem neuesten Stand und läuft auch schon mit einigen Sonoff-Tasmota über Mosquitto.

Ich habe einen CC2531 USB Stick und wie unter https://www.zigbee2mqtt.io/ geflasht - kein Problem :D

Beim nächsten Punkt, Running Zigbee2mqtt (https://www.zigbee2mqtt.io/getting_star ... 2mqtt.html), lief auch alles ganz gut, bis ich an den Punkt: sudo chown -R pi:pi /opt/zigbee2mqtt - gekommen bin.
Hier konnte ich nicht pi:pi verwenden, und habe das mit: sudo chown -R openhab:openhabian /opt/zigbee2mqtt - gemacht.
Dann lief die Installation auch durch. Ich glaube aber, dass hier meine Probleme liegen. Leider bin ich kein Linux-Experte und bzgl. der ganzen Rechte habe ich ein Verständnisprobleme ...
Dann lief alles wie in der Anleitung beschrieben durch und ich hatte, bis auf einige npm Fehlermeldungen, keine Probleme mehr!
Nach einem Neustart, sudo reboot, startet der zigbee2mqtt nicht mehr ordentlich und auch mein CC2531 USB Stick wird nicht mehr erkannt. :shock:

Hier mal meine USB Sticks und deren Zuordnung:
openhabian@openHABianPi:~$ ls -l /dev/ttyUSB*
lrwxrwxrwx 1 root root 7 Mär 17 08:28 /dev/ttyUSB-Zigbee -> ttyACM1
lrwxrwxrwx 1 root root 7 Mär 17 08:28 /dev/ttyUSB-ZWave -> ttyACM0
openhabian@openHABianPi:~$ ls -l /dev/serial/by-id
insgesamt 0
lrwxrwxrwx 1 root root 13 Mär 17 08:28 usb-0658_0200-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Mär 17 08:28 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0014D9DBBF-if00 -> ../../ttyACM1
Hier mal mein zigbee2mqtt log
openhabian@openHABianPi:~$ sudo journalctl -u zigbee2mqtt.service -f
-- Logs begin at Sun 2019-03-17 08:28:07 CET. --
Mär 17 09:36:41 openHABianPi npm[6079]: > zigbee2mqtt@1.2.1 start /opt/zigbee2mqtt
Mär 17 09:36:41 openHABianPi npm[6079]: > node index.js
Mär 17 09:36:42 openHABianPi npm[6079]: zigbee2mqtt:info 2019-3-17 09:36:42 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-17.09-36-42'
Mär 17 09:36:42 openHABianPi npm[6079]: zigbee2mqtt:debug 2019-3-17 09:36:42 Removing old log directory '/opt/zigbee2mqtt/data/log/2019-03-17.09-26-04'
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:debug 2019-3-17 09:36:43 Using zigbee-shepherd with settings: '{"net":{"panId":6754,"extPanId":[221,221,221,221,221,221,221,221],"channelList":[11],"precfgkey":"HIDDEN"},"dbPath":"/opt/zigbee2mqtt/data/database.db","sp":{"baudRate":115200,"rtscts":true}}'
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:debug 2019-3-17 09:36:43 Loaded state from file /opt/zigbee2mqtt/data/state.json
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:debug 2019-3-17 09:36:43 Saving state to file /opt/zigbee2mqtt/data/state.json
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:info 2019-3-17 09:36:43 Starting zigbee2mqtt version 1.2.1 (commit #e5ca977)
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:info 2019-3-17 09:36:43 Starting zigbee-shepherd
Mär 17 09:36:43 openHABianPi npm[6079]: zigbee2mqtt:info 2019-3-17 09:36:43 Error while starting zigbee-shepherd, attempting to fix... (takes 60 seconds)
Mär 17 09:37:43 openHABianPi npm[6079]: zigbee2mqtt:info 2019-3-17 09:37:43 Starting zigbee-shepherd
Mär 17 09:37:43 openHABianPi npm[6079]: zigbee2mqtt:error 2019-3-17 09:37:43 Error while starting zigbee-shepherd!
Mär 17 09:37:43 openHABianPi npm[6079]: zigbee2mqtt:error 2019-3-17 09:37:43 Press the reset button on the stick (the one closest to the USB) and start again
Mär 17 09:37:43 openHABianPi npm[6079]: zigbee2mqtt:error 2019-3-17 09:37:43 Failed to start
Mär 17 09:37:43 openHABianPi npm[6079]: {"message":"Error: Permission denied, cannot open /dev/ttyACM1","stack":"Error: Error: Permission denied, cannot open /dev/ttyACM1"}
Mär 17 09:37:43 openHABianPi npm[6079]: zigbee2mqtt:error 2019-3-17 09:37:43 Exiting...
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! code ELIFECYCLE
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! errno 1
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! zigbee2mqtt@1.2.1 start: `node index.js`
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! Exit status 1
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR!
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! Failed at the zigbee2mqtt@1.2.1 start script.
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! A complete log of this run can be found in:
Mär 17 09:37:43 openHABianPi npm[6079]: npm ERR! /var/lib/openhab2/.npm/_logs/2019-03-17T08_37_43_608Z-debug.log
Mär 17 09:37:43 openHABianPi systemd[1]: zigbee2mqtt.service: Main process exited, code=exited, status=1/FAILURE
Mär 17 09:37:43 openHABianPi systemd[1]: zigbee2mqtt.service: Unit entered failed state.
Mär 17 09:37:43 openHABianPi systemd[1]: zigbee2mqtt.service: Failed with result 'exit-code'.
Mär 17 09:37:43 openHABianPi systemd[1]: zigbee2mqtt.service: Service hold-off time over, scheduling restart.
Mär 17 09:37:43 openHABianPi systemd[1]: Stopped zigbee2mqtt.
Welche Informationen benötigt ihr, um mir hier helfen zu können?

Gruß
Altbau

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

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von udo1toni »

Leider hast Du ls -l /dev/ttyACM* unterschlagen. die Einträge unter /dev/ttyUSB* sind ja symbolische Links auf die echte Hardware.

Die Fehlermeldung

Code: Alles auswählen

Mär 17 09:37:43 openHABianPi npm[6079]: {"message":"Error: Permission denied, cannot open /dev/ttyACM1","stack":"Error: Error: Permission denied, cannot open /dev/ttyACM1"}
weist ja schon darauf hin, dass es hier ein Rechteproblem gibt. Normalerweise sollte die Hardware zumindest die Gruppe betreffend dialout gehören, allerdings wird das auch je nach Treiber anders gelöst. Du kannst temporär (also nur zum Ausprobieren)
mit sudo chmod 777 /dev/ttyACM* die Rechte so ausdehnen, dass jeder Zugriff auf die Hardware hat, allerdings ist das keine sinnvolle Lösung, Ein Reboot des Systems wird die Rechte mit hoher Wahrscheinlichkeit auch wieder zurücksetzen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

altbau
Beiträge: 9
Registriert: 17. Mär 2019 09:04

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von altbau »

Hi udo1toni,

besten Danke!

Hier mal ls -l /dev/ttyACM* vor dem chmod
openhabian@openHABianPi:~$ ls -l /dev/ttyACM*
crw-rw-rw- 1 root dialout 166, 0 Mär 17 20:43 /dev/ttyACM0
crw--w---- 1 root tty 166, 1 Mär 17 08:29 /dev/ttyACM1
Nach dem vor dem chmod
[21:27:16] openhabian@openHABianPi:~$ ls -l /dev/ttyACM*
crwxrwxrwx 1 root dialout 166, 0 Mär 17 20:43 /dev/ttyACM0
crwxrwxrwx 1 root tty 166, 1 Mär 17 21:26 /dev/ttyACM1
Wie bekomme ich das denn dauerhaft hin??
Wie schon geschrieben.. Linux ist nicht ganz mein Ding.. :-)

Thanks in advance!
Altbau

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

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von udo1toni »

Die Frage ist erst mal, geht es nach dem Anpassen der Rechte?
Der saubere Weg wäre vermutlich, eine udev Rule zu erstellen. udev ist der Mechanismus, der dafür sorgt, dass z.B. derselbe Stick immer unter demselben Namen im System angemeldet wird. Hier kann man auch Regeln hinterlegen, welche Rechte gesetzt werden sollen, wer Besitzer ist, usw.

Eine solche Rule müsste schon im System existieren, denn der Link /dev/ttyUSBx wird mit hoher Wahrscheinlichkeit über diesen Mechanismus angelegt. Entweder sie befindet sich im Ordner /etc/udev/rules.d oder unter /usr/lib/udev/rules.d. Vermutlich wird diese Rule aber allgemein formuliert sein, und diese Rules sind auch nicht immer ganz trivial zu verstehen.

Die Rechte müssten am besten auf 760 lauten, der Besitz müsste dann root:dialout oder root:tty lauten. Der User openhab muss dann Mitglied der Gruppe dialout und/oder tty sein, das sollte in der openHABian Umgebung schon gegeben sein.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

altbau
Beiträge: 9
Registriert: 17. Mär 2019 09:04

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von altbau »

Guten Morgen,

ich habe schon eine solche Rule unter unter /etc/udev/rules.d - mit dem Namen: 99-usb-serial.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZWave", GROUP="dialout", MODE="0666"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="ttyUSB-Zigbee", GROUP="dialout", MODE="0666"
Ich habe jetzt dort die Rechte mal auf 0760 gesetzt und einen reboot gemacht.
SUBSYSTEM=="tty", ATTRS{idVendor}=="0658", ATTRS{idProduct}=="0200", SYMLINK+="ttyUSB-ZWave", GROUP="dialout", MODE="0760"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="16a8", SYMLINK+="ttyUSB-Zigbee", GROUP="dialout", MODE="0760"
In PaperUI werden die USB Devices jetzt angezeigt:
1. /dev/ttyACM1 (dev/ttyACM1)
2. /dev/ttyACM0 (dev/ttyACM0)
3. /dev/ttyS0 (dev/ttyS0)
4. /dev/ttyAMA0 (dev/ttyAMA0)

Leider aber gerade keine Zeit die genauer Ergebnisse zu kontrollieren.

Die generelle Frage, die mich beschäftigt ist:
- Was habe ich falsch gemacht bei der Installation, dass ein solches Verhalten auftritt?
- Wie kann ich das, ggf. auch durch eine Neuinstallation, beheben?

Ich habe wirklich Google auf links gedreht und versucht hier eine Lösung zu finden. Das Ergebnis ist mein Hilferuf hier im Forum. Wie gesagt, gefährliches Halbwissen bei Linux... :cry:

Gruß
Altbau

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

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von udo1toni »

altbau hat geschrieben: 18. Mär 2019 06:41 Die generelle Frage, die mich beschäftigt ist:
- Was habe ich falsch gemacht bei der Installation, dass ein solches Verhalten auftritt?
- Wie kann ich das, ggf. auch durch eine Neuinstallation, beheben?
Vermutlich hast Du nichts falsch gemacht, allerdings, wenn die Rule schon existiert, sollte sie auch die Rechte entsprechend setzen. Was sein kann, ist, dass udev aus irgendeinem Grund abgestürzt ist, oder z.B. eine udev Rule im System existiert, die udev in den Abgrund reißt. Manchmal sind Installationspakete auch fehlerhaft, Computer sind schließlich auch nur Menschen...
Was man auch noch versuchen kann ist, den Stick erst an den Rechner anzuschließen, wenn der Rechner bereits gebootet hat. Man kann dann mit dmesg prüfen, wie der Stick im System eingebunden wird. Das funktioniert natürlich nur mit echter USB Hardware, und bei einem Neustart muss die udev Rule ebenso funktionieren, man will ja nicht jedesmal den Stick abziehen, wenn man den Rechner neu startet.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

altbau
Beiträge: 9
Registriert: 17. Mär 2019 09:04

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von altbau »

Moin,

Danke für deine Rückmeldung. Mein Openhab ist ein Wochenendprojekt, deshalb kann ich erst jetzt reagieren!

Ich habe mal ein Update gemacht und dann dmesg gemacht.
[ 2.601534] usb 1-1.3: new full-speed USB device number 6 using dwc_otg
[ 2.750630] usb 1-1.3: New USB device found, idVendor=0451, idProduct=16a8
[ 2.750646] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.750655] usb 1-1.3: Product: TI CC2531 USB CDC
[ 2.750664] usb 1-1.3: Manufacturer: Texas Instruments
[ 2.750672] usb 1-1.3: SerialNumber: __0X00124B0014D9DBBF
ls -l /dev/ttyUSB*
lrwxrwxrwx 1 root root 7 Mär 23 07:05 /dev/ttyUSB-Zigbee -> ttyACM1
lrwxrwxrwx 1 root root 7 Mär 23 07:05 /dev/ttyUSB-ZWave -> ttyACM0

Der Stick wird also erkannt aber bei sudo journalctl -u zigbee2mqtt.service -f kommt:
Mär 23 07:34:28 openHABianPi npm[3970]: > zigbee2mqtt@1.2.1 start /opt/zigbee2mqtt
Mär 23 07:34:28 openHABianPi npm[3970]: > node index.js
Mär 23 07:34:29 openHABianPi npm[3970]: zigbee2mqtt:info 2019-3-23 07:34:29 Logging to directory: '/opt/zigbee2mqtt/data/log/2019-03-23.07-34-29'
Mär 23 07:34:29 openHABianPi npm[3970]: zigbee2mqtt:debug 2019-3-23 07:34:29 Removing old log directory '/opt/zigbee2mqtt/data/log/2019-03-23.07-24-41'
Mär 23 07:34:29 openHABianPi npm[3970]: zigbee2mqtt:debug 2019-3-23 07:34:29 Using zigbee-shepherd with settings: '{"net":{"panId":6754,"extPanId":[221,221,221,221,221,221,221,221],"channelList":[11],"precfgkey":"HIDDEN"},"dbPath":"/opt/zigbee2mqtt/data/database.db","sp":{"baudRate":115200,"rtscts":true}}'
Mär 23 07:34:30 openHABianPi npm[3970]: zigbee2mqtt:debug 2019-3-23 07:34:30 Loaded state from file /opt/zigbee2mqtt/data/state.json
Mär 23 07:34:30 openHABianPi npm[3970]: zigbee2mqtt:debug 2019-3-23 07:34:30 Saving state to file /opt/zigbee2mqtt/data/state.json
Mär 23 07:34:30 openHABianPi npm[3970]: zigbee2mqtt:info 2019-3-23 07:34:30 Starting zigbee2mqtt version 1.2.1 (commit #e5ca977)
Mär 23 07:34:30 openHABianPi npm[3970]: zigbee2mqtt:info 2019-3-23 07:34:30 Starting zigbee-shepherd
Mär 23 07:34:30 openHABianPi npm[3970]: zigbee2mqtt:info 2019-3-23 07:34:30 Error while starting zigbee-shepherd, attempting to fix... (takes 60 seconds)
Wie ich schon gemerkt habe, gibt es anscheint keine einfache und klare Fehlerbehebung und ich komme hier nicht weiter.. Sehr unbefriedigend!!! Und das am Wochenende... :cry:

Gruß
Altbau

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

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von udo1toni »

Und was sagt ls -l /dev/ttyACM* ? Die Ausgabe für ttyUSB* ist nur mäßig interessant, da es sich um symbolische Links auf die echten Geräte handelt.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

altbau
Beiträge: 9
Registriert: 17. Mär 2019 09:04

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von altbau »

Guten Morgen!

ls -l /dev/ttyACM*
crwxrw---- 1 root dialout 166, 0 Mär 24 06:19 /dev/ttyACM0
crw--w---- 1 root tty 166, 1 Mär 23 07:06 /dev/ttyACM1
Gruß
Altbau

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

Re: Anfänger verzweifelt bei: zigbee2mqtt / npm und irgendwelchen Rechteprobleme

Beitrag von udo1toni »

Du kannst sehen, dass zwar die Gruppe passt (der user openhab, unter dem openHAB läuft gehört sowohl zur Gruppe dialout als auch zur Gruppe tty), aber die Rechte für /dev/ttyACM1 für tty nur w lauten, das heißt, openHAB darf zwar schreiben, aber nicht lesen.
Wahrscheinlich wurde die udev Rule durch das Update wieder umgeschrieben.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten