NEWS
[gelöst]ioBroker und Zigbee2Mqtt auf einem Raspberry Pi ?
-
@zickyzacky Schau Dir mal die Berechtigungen im /opt/zigbee2mqtt an - bei mir hat da pi überall Rechte.
Meines Erachtens hast Du schon verkehrt angefangen, in dem Du die Befehle unter /opt ausgeführt hast. Das wird alles im Homeverzeichnis des pi durch geführt und dann ja verschoben.
Also das sudo apt-get, git-clone usw. hast Du nicht im Homeverzeichnis des pi gemacht. Stand doch nirgends dass Du irgendwas im opt am Anfang machen solltest.
Erst wenn Du mit cd aufgefordert wirst, wird das Verzeichnis gewechselt.
Würde sowohl im Home-PI Verzeichnis als auch im /opt das zigbee Verzeichnis wieder löschen.
Wenn es fertig ist - hast Du folgende Berechtigungsstruktur unter /opt/zigbee2mqtt.
/opt/zigbee2mqtt $ ls -la insgesamt 832 drwxr-xr-x 12 pi pi 4096 18. Jun 05:02 . drwxr-xr-x 6 root root 4096 21. Feb 08:33 .. -rw-r--r-- 1 pi pi 328 21. Feb 08:33 babel.config.js -rwxr-xr-x 1 pi pi 179 21. Feb 08:33 cli.js -rw-r--r-- 1 pi pi 5449 21. Feb 08:33 CODE_OF_CONDUCT.md -rw-r--r-- 1 pi pi 1351 21. Feb 08:33 CONTRIBUTING.md drwxr-xr-x 4 pi pi 4096 27. Jun 17:53 data drwxr-xr-x 6 pi pi 4096 18. Jun 05:02 dist drwxr-xr-x 2 pi pi 4096 18. Jun 04:58 docker -rw-r--r-- 1 pi pi 166 21. Feb 08:33 .dockerignore -rw-r--r-- 1 pi pi 20 21. Feb 08:33 .eslintignore -rw-r--r-- 1 root root 1608 18. Jun 04:58 .eslintrc.js drwxr-xr-x 8 pi pi 4096 18. Jun 04:58 .git drwxr-xr-x 4 pi pi 4096 18. Jun 04:58 .github -rw-r--r-- 1 pi pi 1177 21. Feb 08:33 .gitignore drwxr-xr-x 2 pi pi 4096 21. Feb 08:33 images -rw-r--r-- 1 root root 3896 18. Jun 04:58 index.js drwxr-xr-x 6 pi pi 4096 18. Jun 04:58 lib -rw-r--r-- 1 pi pi 35141 21. Feb 08:33 LICENSE drwxr-xr-x 422 pi pi 20480 18. Jun 05:02 node_modules -rw-r--r-- 1 pi pi 234 21. Feb 08:33 .npmignore -rw-r--r-- 1 pi pi 23 21. Feb 08:33 .npmrc -rw-r--r-- 1 root root 675330 18. Jun 04:58 npm-shrinkwrap.json -rw-r--r-- 1 root root 2807 18. Jun 04:58 package.json -rw-r--r-- 1 pi pi 6212 21. Feb 08:33 README.md drwxr-xr-x 2 pi pi 4096 16. Mär 19:10 scripts drwxr-xr-x 6 pi pi 4096 18. Jun 04:58 test -rw-r--r-- 1 pi pi 605 21. Feb 08:33 tsconfig.json -rwxr-xr-x 1 pi pi 978 21. Feb 08:33 update.sh
eventuell kannst Du die Berechtungungen mit
chown -R pi:pi /opt/zigbee2mqtt
gerade ziehen. Weiss aber nicht was sonst schief gelaufen ist.
Schau auch mal, dass Dein opt Verzeichnis sauber ist. Das sollten nur die root Verzeichnisse deiner Produkte drin sein. Jedenfalls alles löschen - ausser iobroker (falls Du den schon installiert hast). Kein node_modules Verzeichnis und nichts.
Nur im Homeverzeichnis hat der pi user die Rechte und vergibt quasi bei Ausführen des git-clones die korrekten Berechtigungen.
Vor der Installation - würde ich aber gleich auf Nodejs 16 gehen, sonst darfst gleich nochmal installieren.
Nimm am Besten die Anleitung von @Thomas-Braun und ändere die Datei nodesource.list in /etc/apt/sources.list.d mit
sudo nano nodesource.list
ändere die 14 in 16.
pi@MWHome:/etc/apt/sources.list.d $ cat nodesource.list deb https://deb.nodesource.com/node_16.x bullseye main deb-src https://deb.nodesource.com/node_16.x bullseye main pi@MWHome:/etc/apt/sources.list.d $
dann führst Du als erstes ein
sudo apt update sudo apt upgrade
durch und Du bist auf aktuellen Versionen. Am Besten die Maschine nach dem Update neu starten. Wie gesagt, ich musste zigbee2mqtt updaten - nachdem ich nodejs hochgezogen hatte, deshalb solltest Du das zuerst machen.
-
@mickym sagte in ioBroker und Zigbee2Mqtt auf einem Raspberry Pi ?:
Meines Erachtens hast Du schon verkehrt angefangen, in dem Du die Befehle unter /opt ausgeführt hast. Das wird alles im Homeverzeichnis des pi durch geführt und dann ja verschoben.
Das Problem ist das git clone mit sudo... Dann gehört natürlich alles root:
@zickyzacky sagte in ioBroker und Zigbee2Mqtt auf einem Raspberry Pi ?:
pi@raspberrypi-iobroker:/ $ sudo git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git
Warum nicht einfach an die Anleitung gehalten?! Dort wird es doch Schritt für Schritt erklärt.
-
@haus-automatisierung sagte in ioBroker und Zigbee2Mqtt auf einem Raspberry Pi ?:
Das Problem ist das git clone mit sudo... Dann gehört natürlich alles root:
Nun wahrscheinlich hat er sudo genommen, da pi keine Rechte im /opt, geschweige denn im / Verzeichnis hat.
- Insofern gibt sich eins das andere.
Wahrscheinlich ist nun im / auch irgendein Mist.
-
habe noch das Node Update auf 16 durchgeführt die Installation nochmal durchgeführt
pi@raspberrypi-iobroker:/opt/zigbee2mqtt $ npm start > zigbee2mqtt@1.25.2 start > node index.js Zigbee2MQTT:info 2022-06-27 19:40:03: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-06-27.19-40-03' filename: log.txt Zigbee2MQTT:info 2022-06-27 19:40:03: Starting Zigbee2MQTT version 1.25.2 (commit #9b2a921) Zigbee2MQTT:info 2022-06-27 19:40:03: Starting zigbee-herdsman (0.14.34) Zigbee2MQTT:error 2022-06-27 19:41:09: Error while starting zigbee-herdsman Zigbee2MQTT:error 2022-06-27 19:41:09: Failed to start zigbee Zigbee2MQTT:error 2022-06-27 19:41:09: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions Zigbee2MQTT:error 2022-06-27 19:41:09: Exiting... Zigbee2MQTT:error 2022-06-27 19:41:09: Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby at ZnpAdapterManager.beginCommissioning (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:347:23) at ZnpAdapterManager.start (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:92:17) 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:101:27) at start (/opt/zigbee2mqtt/index.js:109:5) pi@raspberrypi-iobroker:/opt/zigbee2mqtt $
Nach dem Start Befehl für Zigbee2MQTT habe ich diese Fehlermeldungen bekommen. Ich bin der Meinung der Dienst läuft noch nicht
-
@zickyzacky sagte in ioBroker und Zigbee2Mqtt auf einem Raspberry Pi ?:
Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby
Kann es sein, dass Du die gleichen Parameter genommen hast und das noch aktiv ist. Hast Du in der config.yaml das mit dem Netzwerk und GENERATE durchgeführt oder hast Du mal die Parameter verändert?
Eventuell einen komplett anderen Kanal verwenden.Hast Du mal geschaut, was in dem log steht?
Der Dienst ist erst gestartet, wenn Du den mit CTRL+C abbrechen musst, später kannst du ihn als Dienst einbinden.
Du hast aber nicht zufälligerweise den Service als Dienst definiert und versuchst mit npm start zu starten???? - Ist immer schwierig das alles aus der Ferne zu beurteilen.
Falls Du einen Dienst definiert hast - bekommst Du den Status mit systemctl status zigbee2mqtt.service
systemctl status zigbee2mqtt.service ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-06-27 19:56:07 CEST; 24min ago Main PID: 29646 (npm start) Tasks: 23 (limit: 4915) CPU: 46.329s CGroup: /system.slice/zigbee2mqtt.service ├─29646 npm start ├─29661 sh -c node index.js └─29662 node index.js Jun 27 20:17:56 MWHome npm[29662]: Zigbee2MQTT:info 2022-06-27 20:17:56: MQTT publish: topic 'zigbee2mqtt/licht/wohnzimmer/tischlampe', payloa>
-
mein Dienst Status sieht folgend aus:
pi@raspberrypi-iobroker:~ $ systemctl status zigbee2mqtt.service ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; disabled; vendor preset: enabled) Active: active (running) since Mon 2022-06-27 21:33:46 CEST; 21s ago Main PID: 2011 (npm start) Tasks: 23 (limit: 8985) CPU: 6.231s CGroup: /system.slice/zigbee2mqtt.service ├─2011 npm start ├─2058 sh -c node index.js └─2059 node index.js Jun 27 21:33:46 raspberrypi-iobroker systemd[1]: Started zigbee2mqtt. Jun 27 21:33:47 raspberrypi-iobroker npm[2011]: > zigbee2mqtt@1.25.2 start Jun 27 21:33:47 raspberrypi-iobroker npm[2011]: > node index.js Jun 27 21:33:50 raspberrypi-iobroker npm[2059]: Zigbee2MQTT:info 2022-06-27 21:33:50: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2022-> Jun 27 21:33:50 raspberrypi-iobroker npm[2059]: Zigbee2MQTT:info 2022-06-27 21:33:50: Starting Zigbee2MQTT version 1.25.2 (commit #9b2a921) Jun 27 21:33:50 raspberrypi-iobroker npm[2059]: Zigbee2MQTT:info 2022-06-27 21:33:50: Starting zigbee-herdsman (0.14.34) lines 1-17/17 (END)
-
@zickyzacky Dann läuft Dein zigbee2mqtt bereits.
Wenn Du über Deine configuration.yaml - das Front-End freigeschalten hast, dann kannst Du über den Port 8080 nun auf die grafische Oberfläche zugreifen.
Dann war es wie ich vermutet habe, dass Du mit npm start deinen Service 2 mal zu starten.
Eventuell den Service nach Konfigurationsänderungen mit
sudo systemctl restart zigbee2mqtt
neustarten.,
-
Die grafische Oberfläche kann ich noch nicht öffnen.
Die Configuration.yaml sieht folgend aus:homeassistant: false permit_join: true mqtt: base_topic: zigbee2mqtt server: mqtt://192.168.1.169:1883 serial: port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_bc69f87059d9eb11a64c158e6fe9f4d9-if00-port0 advanced: network_key: - 63 - 22 - 175 - 0 - 63 - 206 - 170 - 227 - 187 - 153 - 183 - 228 - 26 - 71 - 6 - 16 frontend: # Optional, default 8080 port: 8080 # Optional, default 0.0.0.0 host: 0.0.0.0
Den Port hatte ich auch schon auf 9090 oder 9191 geändert. Komme aber nicht an die Oberfläche ran.
-
@zickyzacky Nee mach das mit dem Port noch nicht - Bei Frontend darf nur true drin stehen.
frontend: true
Wie die Syntax später bei anderem Port aussieht weiß ich nicht, aber Du kannst das in der GUI umstellen.
Ok - habe es gerade über die Oberfläche geändert - da hast Du Recht - allerdings würde ich da nichts mit host drin stehen lassen.
Wenn Du den Port verstellst, sieht das in der configuration.yaml dann so aus:
frontend: port: 7075
aber ich würde mich halt generell langsam vortasten.
- Also host steht bei mir nichts drin - und ob die Kommentare da stören kann ich nicht sagen - bei mir sind erstmal keine drin.
Gibst Du auch wirklich
http://<IP-Adresse>:8080
ein.
Hast Du auch mal nicht die advanced config genommen und url, etc. alles rausgenommen? - Das macht alles nur kompliziert.
Also den ganzen Schmu hier nicht verwenden - erst mal:
frontend: # Optional, default 8080 port: 8080 # Optional, default 0.0.0.0 host: 0.0.0.0 # Optional, enables authentication, disabled by default auth_token: your-secret-token # Optional, url on which the frontend can be reached, currently only used for the Home Assistant device configuration page url: 'https://zigbee2mqtt.myhouse.org'
-
komme auch so noch nicht auf die Oberfläche?
homeassistant: false permit_join: true mqtt: base_topic: zigbee2mqtt server: 'mqtt://192.168.1.169:1883' serial: port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_bc69f87059d9eb11a64c158e6fe9f4d9-if00-port0 advanced: network_key: - 63 - 22 - 175 - 0 - 63 - 206 - 170 - 227 - 187 - 153 - 183 - 228 - 26 - 71 - 6 - 16 frontend: true
Bei mir ist irgendwie der Wurm drin
-
@zickyzacky Auch keine Leerzeilen - Ausser ein Zeilenvorschub am Ende.
-
homeassistant: false permit_join: true mqtt: base_topic: zigbee2mqtt server: 'mqtt://192.168.1.169:1883' serial: port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_bc69f87059d9eb11a64c158e6fe9f4d9-if00-port0 advanced: network_key: - 63 - 22 - 175 - 0 - 63 - 206 - 170 - 227 - 187 - 153 - 183 - 228 - 26 - 71 - 6 - 16 frontend: true
klappt leider auch noch nicht..
-
@zickyzacky Schau mal in das Log und bei mir steht der mqtt- Server nicht in Gänsefüsschen.
Und wenn Du nur frontend:true drin stehen hast und den service neu gestartet hast, dann muss er eigentlich funktionieren. Zumindest weiß ich nicht was dann noch fehlen sollte.
Halt auch immer prüfen, ob der Service läuft.
-
Hallo zusammen,
habe denZigbee2Mqtt letztendlich doch noch zum Laufen bekommen.Ich habe den PI4 mit einer externen SSD per USB Adapter am Laufen. Irgendwo habe ich gelesen, dass man hier einen USB-Hub mit externer Stromversorgung verwenden soll da es Probleme geben könnte.
So habe ich das System aufgebaut und siehe da, es läuft.
Ist mir zwar nicht ganz erklärlich weil der Pi mit ioBroker und Zigbee Adapter zuvor auch gelaufen ist. Nun ja.Vielen Dank an alle die mir geholfen haben.
Grüße.