NEWS
Zigbee2MQTT Build Fehler
-
hab gerade die update.sh mit dem entsprechenden User probiert, dann kommt das hier
pi4b@pi4b:/opt/zigbee2mqtt$ /opt/zigbee2mqtt/update.sh Checking Zigbee2MQTT status... Updating... Bereits aktuell. Installing dependencies... /opt/zigbee2mqtt/update.sh: Zeile 21: pnpm: Kommando nicht gefunden. pi4b@pi4b:/opt/zigbee2mqtt$
wahrscheinlich hat es das npm zerschossen...
-
@diamand2k22 Na dann schau mal, ob die Rechte bzw. alle Dateien dem User gehören unter dem der Service läuft. Ansonten lösch das Verzeichnis und installiere neu - das data Verzeichnis hast Du ja wegkopiert und da ist Deine Konfig drin.
Um sicher zu gehen, dass Du den richtigen User hast, schau Dir mit
systemctl status zigbee2mqtt
den Service an.
Du solltest so eine Ausgabe bekommen:
mwadmin@mwzigbee2mqtt:/lib/systemd/system$ systemctl status zigbee2mqtt ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/lib/systemd/system/zigbee2mqtt.service; enabled; preset: enabled) Active: active (running) since Wed 2024-12-04 14:07:38 CET; 1 day 7h ago Main PID: 121 (npm start) Tasks: 23 (limit: 9189) Memory: 190.1M CPU: 36min 17.701s CGroup: /system.slice/zigbee2mqtt.service ├─121 "npm start" ├─286 sh -c "node index.js" └─287 node index.js
Dort siehst Du auch den Pfad zur Konfig:
/lib/systemd/system/zigbee2mqtt.service
Dort siehst Du unter welchem User der Service läuft und NUR mit diesem darfst Du arbeiten:
cat zigbee2mqtt.service [Unit] Description=zigbee2mqtt After=network.target [Service] Environment=NODE_ENV=production Type=exec ExecStart=/usr/bin/npm start WorkingDirectory=/opt/zigbee2mqtt StandardOutput=inherit # Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5) StandardError=inherit Restart=always RestartSec=10s User=mwadmin [Install] WantedBy=multi-user.target mwadmin@mwzigbee2mqtt:/lib/systemd/system$
Also:
-
@diamand2k22 sagte in Zigbee2MQTT Build Fehler:
wahrscheinlich hat es das npm zerschossen...
pnpm ist nicht npm. Setzt aber mindestens nodejs>=18.12 voraus.
-
pi4b@pi4b:~$ systemctl status zigbee2mqtt.service ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled) Active: activating (auto-restart) (Result: exit-code) since Thu 2024-12-05 21:45:00 CET; 3s ago Process: 1058968 ExecStart=/usr/bin/npm start (code=exited, status=1/FAILURE) Main PID: 1058968 (code=exited, status=1/FAILURE)
das ist Ausgabe
-
@diamand2k22 Dann läuft Dein Service gar nicht. Entweder kommt unten noch ein Fehler oder Du schaust mit journalctl was der Fehler ist. - Wie gesagt ich würde neu installieren nach Anleitung.
Aussehen muss der Service wie bei mir. Aber im jetzigen Zustand läuft dein zigbee2mqtt gar nicht.
-
ok...jetzt bin ich schon mal weiter!
pi4b@pi4b:~$ node --version v20.18.1 pi4b@pi4b:~$ npm --version 10.8.2 pi4b@pi4b:~$ sudo mkdir /opt/zigbee2mqtt pi4b@pi4b:~$ sudo chown -R pi4b:pi4b /opt/zigbee2mqtt pi4b@pi4b:~$ sudo chmod -R 755 /opt/zigbee2mqtt pi4b@pi4b:~$ git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt Klone nach '/opt/zigbee2mqtt'... remote: Enumerating objects: 143, done. remote: Counting objects: 100% (143/143), done. remote: Compressing objects: 100% (138/138), done. remote: Total 143 (delta 7), reused 62 (delta 1), pack-reused 0 (from 0) Empfange Objekte: 100% (143/143), 572.27 KiB | 1.50 MiB/s, fertig. Löse Unterschiede auf: 100% (7/7), fertig. pi4b@pi4b:~$ cd /opt/zigbee2mqtt pi4b@pi4b:/opt/zigbee2mqtt$ npm ci npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported added 646 packages, and audited 647 packages in 22s 90 packages are looking for funding run `npm fund` for details found 0 vulnerabilities pi4b@pi4b:/opt/zigbee2mqtt$ npm run build > zigbee2mqtt@1.42.0 build > tsc && node index.js writehash pi4b@pi4b:/opt/zigbee2mqtt$
jetzt start ich mal den service....
-
@diamand2k22 Erst mal starten und wie Du den Service einrichtest, siehst Du ja hier: https://www.zigbee2mqtt.io/guide/installation/01_linux.html#optional-running-as-a-daemon-with-systemctl
Wenn Du es richtig gemacht hast, dann sollten Deine Dateien alle dem User pi gehören.
-
sieht wieder gut aus
pi4b@pi4b:/opt/zigbee2mqtt$ sudo chown -R pi4b:pi4b /opt/zigbee2mqtt pi4b@pi4b:/opt/zigbee2mqtt$ sudo chmod -R 755 /opt/zigbee2mqtt pi4b@pi4b:/opt/zigbee2mqtt$ sudo systemctl start zigbee2mqtt pi4b@pi4b:/opt/zigbee2mqtt$ systemctl status zigbee2mqtt.service ● zigbee2mqtt.service - zigbee2mqtt Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled) Active: active (running) since Thu 2024-12-05 21:53:34 CET; 6s ago Main PID: 1059382 (npm start) Tasks: 23 (limit: 8754) CPU: 8.916s CGroup: /system.slice/zigbee2mqtt.service ├─1059382 "npm start" ├─1059393 sh -c "node index.js" └─1059394 node index.js Dez 05 21:53:34 pi4b systemd[1]: Started zigbee2mqtt.service - zigbee2mqtt. Dez 05 21:53:35 pi4b npm[1059382]: > zigbee2mqtt@1.42.0 start Dez 05 21:53:35 pi4b npm[1059382]: > node index.js Dez 05 21:53:35 pi4b npm[1059394]: Starting Zigbee2MQTT without watchdog. pi4b@pi4b:/opt/zigbee2mqtt$
-
@diamand2k22 Ja das sieht gut aus und nun hast Du ja automatisch die aktuellste Version. Und in Zukunft nur das Skript ./update.sh im zigbee2mqtt unter dem User PI ausführen.
Wenn Du das data Verzeichnis zurückkopierst, schauen dass die Rechte alle dem User pi gehören.
-
passt, danke dir für deine Hilfe!
bist jetzt hab ich immer den DEV Branch genutzt, weil teilweise Geräte noch nicht im Stable Repository drin waren.
Das habe ich dann immer wie folgt installiert (bisher ohne Probleme). Grund für die Installationsweise ist, das er bei mir nie die Unterschiede auflösen kann, auch mit dem entsprechenden User.DEV Branch: sudo systemctl stop zigbee2mqtt sudo rm -r /opt/zigbee2mqtt sudo mkdir /opt/zigbee2mqtt sudo chown -R pi4b:pi4b /opt/zigbee2mqtt sudo chmod -R 755 /opt/zigbee2mqtt git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt cd /opt/zigbee2mqtt git fetch origin dev git config --get remote.origin.fetch git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git fetch --all git checkout dev npm ci npm run build sudo systemctl start zigbee2mqtt