Fehler beim Updaten auf Z2M 2.x unter Proxmox

Hallo zusammen.
Wie schon öfter habe ich mal wieder Probleme mit textbasierten Updates :wink:

Ich wollte Z2M unter Proxmox updaten und habe folgende Fehlermeldung bekommen:

Acquiring necessary components...
npm error code EUSAGE
npm error
npm error The `npm ci` command can only install with an existing package-lock.json or
npm error npm-shrinkwrap.json with lockfileVersion >= 1. Run an install with npm@5 or
npm error later to generate a package-lock.json file, then try again.
npm error
npm error Clean install a project
npm error
npm error Usage:
npm error npm ci
npm error
npm error Options:
npm error [--install-strategy <hoisted|nested|shallow|linked>] [--legacy-bundling]
npm error [--global-style] [--omit <dev|optional|peer> [--omit <dev|optional|peer> ...]]
npm error [--include <prod|dev|optional|peer> [--include <prod|dev|optional|peer> ...]]
npm error [--strict-peer-deps] [--foreground-scripts] [--ignore-scripts] [--no-audit]
npm error [--no-bin-links] [--no-fund] [--dry-run]
npm error [-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
npm error [-ws|--workspaces] [--include-workspace-root] [--install-links]
npm error
npm error aliases: clean-install, ic, install-clean, isntall-clean
npm error
npm error Run "npm help ci" for more info
npm error A complete log of this run can be found in: /root/.npm/_logs/2025-01-06T19_21_43_516Z-debug-0.log
Failed to install necessary components.

Und bevor ich mal wieder alles “Verschlimmbessere” indem ich ergoogelte Dinge ausprobiere, hoffe ich mal wieder auf eure kompetente Hilfe. :slight_smile:

Und wenn ich schonmal dabei bin…
Beim Backup bekomme ich auch eine, für mich unverständliche, Warnung.

INFO: starting new backup job: vzdump 102 --node pve --compress zstd --notes-template '{{guestname}}' --notification-mode auto --storage externe_beatle --remove 0 --mode snapshot
INFO: Starting Backup of VM 102 (lxc)
INFO: Backup started at 2025-01-06 20:39:06
INFO: status = running
INFO: CT Name: zigbee2mqtt
INFO: including mount point rootfs ('/') in backup
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: create storage snapshot 'vzdump'
  WARNING: You have not turned on protection against thin pools running out of space.
  WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full.
  Logical volume "snap_vm-102-disk-1_vzdump" created.
  WARNING: Sum of all thin volume sizes (322.01 GiB) exceeds the size of thin pool pve/data and the amount of free space in volume group (16.00 GiB).
INFO: creating vzdump archive '/mnt/externe_beatle/dump/vzdump-lxc-102-2025_01_06-20_39_06.tar.zst'
INFO: Total bytes written: 3547504640 (3.4GiB, 46MiB/s)
INFO: archive file size: 958MB
INFO: adding notes to backup
INFO: cleanup temporary 'vzdump' snapshot
  Logical volume "snap_vm-102-disk-1_vzdump" successfully removed.
INFO: Finished Backup of VM 102 (00:01:16)
INFO: Backup finished at 2025-01-06 20:40:22
INFO: Backup job finished successfully
TASK OK

Dabei ist das Backup “nur”


Wobei mir das schon auch sehr groß vorkommt… :thinking:

Die Fehlermeldung unter Proxmox hatte ich auch. Wenn man in Ruhe die breaking changes liest findet man auch eine Lösung dafür.
Lies mich

pnpm is now used instead of npm, the installation instructions and update.sh script has been updated accordingly. For existing installations you need to execute npm install -g pnpm before updating.
Before using the ./update.sh script, make sure you pull changes from git with git pull --no-rebase (after stopping Zigbee2MQTT).
If Zigbee2MQTT fails to start because of missing files after the update, run pnpm run clean, then start Zigbee2MQTT again.

Hat bei mir geholfen :wink:

Danke, werd ich ma ltesten, wenn ich mehr Zeit (für evtl. Fehler) habe.
Da ich von der Materie eigentlich keine Ahnung habe, hilft mir das Lesen der “breaking changes” leider nicht viel.

Ich bin gerade dabei das zu versuchen, verstehe es aber leider nicht.

Ich habe in der Konsole von Z2M unter Proxmox
npm install -g pnpm
eingegeben.
Ergebnis:

root@zigbee2mqtt:~# npm install -g pnpm 

changed 1 package in 1s

1 package is looking for funding
  run `npm fund` for details
root@zigbee2mqtt:~# 


Aber wenn ich dann

update

eingebe kommen immer noch die Fehler
Was für mich gar nicht passt, ist:

git pull --no-rebase (after stopping Zigbee2MQTT)
root@zigbee2mqtt:~# git pull --no-rebase
fatal: not a git repository (or any of the parent directories): .git
root@zigbee2mqtt:~#

Und wenn ich Z2M stoppe, gibt es keine Konsole mehr…
Wo ist mein (Denk-)Fehler?

Edit:
Ich habe es wohl hinbekommen, nachdem ich zwischendrin in der Konsole den Pfad mit

cd /opt/zigbee2mqtt/

geändert hatte. Zuvor konnten einige Befehle nicht ausgeführt werden.

Nur für mein Verständnis … hast Du Z2M in einer eigenen virtuellen Umgebung VM/Container installiert oder HA läuft in einer VM in Proxmox und in dieser virtuellen HA Installation ist dann Z2M installiert?

HA läuft in einer VM und Z2M in einem (separaten) LXC

jupp.

Du mußt ins zigbee Verzeichnis fürs Update, wie du ja mitlerweile herausgefunden hast.

Das mit fund brauchst du nur, wenn du mit einer Spende dem Projekt helfen möchtest. ‘npm fund xyz’ öffnet dir den Link zu der Seite, wo der Entwickler des entsprechenden Paketes um etwas Anerkennung bittet. Kann man sich mit der Eselsbrücke zur Webseite gofundme ganz gut merken.

LG

Bisher hatte ich immer “nur” die Konsole geöffnet und direkt das nackte Wort
update
ohne irgendwelche “Zusätze” eingetippt und dann liefen die Updates.

hier wird es passend für deine Umgebung beschrieben.

1 „Gefällt mir“

Danke. So ähnlich habe ich es nun auch gemacht nach der Anleitung von Koenkk, mit dem Hin- und herschieben der configuratiuon.yaml

Nur, dass der Pfad angepasst werden muss, hatte ich dort nicht gefunden.

Welche Vorteile hat das gegenüber einer Installation innerhalb von HA?

Das erklären dir besser andere, da ich da auch nicht wirklich Ahnung von habe.
Aber ich konnte das Backup des Containers einfach zurückspielen, als das Update Z2M zerschossen hatte. Aber inzwischen denke ich, (für mich) wäre es einfacher gewesen, es direkt als HA-Addon zu installieren.

Aber wie gesagt, gibt es hier sehr hilfreiche “Profis”, die dir das mit Sicherheit besser erklären können bzw. die entsprechenden Infos verlinken können.
Ich hatte diese Fragen auch mal und die wurden mir hier in diesem Forum kompetent erklärt, weshalb ich mich auch für die Lösung entschieden habe, beim Update auf ein “potenteres” System. Mit ein wenig Suchen sollte sich auch einiges hierzu im Forum finden lassen.

Bin da auch kein Pro. Ist aber eine reine subjektive Entscheidung.

Wenn es separat läuft, kann HA down sein (z.b. Neustart o.ä.) und Zigbee2mqtt läuft weiter. Du könntest zumindest über z2m noch die Geräte schalten.
Für den 0815 User würde ich immer das HA Addon empfehlen.

Selbiges mit dem Mosquito Broker, könnte auch separat laufen, z.B. wenn mehrere Sachen über einen Broker laufen sollen.

Theoretisch wäre eine Wechsel auf ein anderes System einfacher aber wer will schon weg von HA :wink: :rofl:

1 „Gefällt mir“

Denke subjektiv beschreibt es ganz gut. Für die Meisten ist das HA Addon die bessere Wahl.

Wobei man jetzt bei 2.0 schon sah, daß Viele auf dem falschen Fuß erwischt wurden. HA sagt, es gibt ein Update, “Mach”, klick, klick. Bumm. Im Container auf der Konsole, denkst du vielleicht doch noch mal einen Moment nach, die release Notes zu lesen.

Ich nutze jetzt gut 15 Jahre Linux und lebe den Ansatz, für jedes Problem ein einzelnes Werkzeug, System. So gesehen auch eine Philosophie Frage. Man wird flexibler, zum Preis von mehr Verantwortung.

Gruß

Danke für die Erklärung