So, da läuft ja gewaltig was schief. Ich bin auch der Meinung, dass es an den Pfaden liegt. Auf manchen Systemen liegen die homebridge-Plugins in /usr/lib/node_modules, auf anderen in /usr/local/lib/node_modules, aber auf keinen Fall sollten sie in beiden liegen. Aus deiner homebridge.service-Datei entnehme ich, dass du /usr/local/bin/homebridge startest.
Ich würde schon gern wissen, was die Ausgaben von
which node und
ls -l /usr/local/bin und
ls -l /usr/lib/node_modules und
ls -l /usr/local/lib/node_modules sind.
Mein Ansatz lautet nun, homebridge und alle Module komplett zu entfernen, egal wo sie herumliegen und dann alles neu zu installieren. Die einzige, wirklich wichtige Datei von homebridge ist config.json und die sollte vorher gesichert werden (auch wenn sie beim Entfernen von homebridge nicht verschwinden sollte, aber sicher ist sicher).
Ich würde das komplette homebridge-Config-Verzeichnis sichern mit:
cd
tar cvf homebridge-config.tar .homebridge/*
Das erstellt ein Archiv mit allen relevanten homebridge-Dateien namens /home/pi/homebridge-config.tar. Im Problemfall kann man damit die Config wiederherstellen (cd && tar xvf homebridge-config.tar), aber wie gesagt, eigentlich wird das Verzeichnis .homebridge nicht angefasst.
Die folgende Aktion sollte den Betrieb von pi-hole und piVCCU nicht weiter stören, da beide nicht auf node basieren oder auf irgendwelchen node_modules von node.
Bitte beachte, dass ich nichts von den folgenden Befehlen getestet habe (naja, ein bisschen habe ich schon geschaut, ob das funktioniert), aber möglicherweise geht es so:
Alles als root machen.
sudo su - (in den root-Modus gehen. Ab jetzt sudo nicht mehr verwenden!)
systemctl stop homebridge
export NPM_CONFIG_PREFIX=/usr/local/
npm uninstall -g --unsafe-perm homebridge
npm uninstall -g --unsafe-perm homebridge-hue
npm uninstall -g --unsafe-perm homebridge-lib
npm uninstall -g --unsafe-perm homebridge-config-ui-x
npm uninstall -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest
Dann:
export NPM_CONFIG_PREFIX=/usr/
npm uninstall -g --unsafe-perm homebridge
npm uninstall -g --unsafe-perm homebridge-hue
npm uninstall -g --unsafe-perm homebridge-lib
npm uninstall -g --unsafe-perm homebridge-config-ui-x
npm uninstall -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest
Welche homebridge-Plugins überhaupt da sind, kann man mit:
ls -ld /usr/local/lib/node_modules/homebridge* und
ls -ld /usr/lib/node_modules/homebridge*
sehen. Idealerweise sollte nach der großen Aufräumerei dort nichts mehr zu finden sein (no such file or directory).
Node und npm lässt du da, wo sie sind. Jetzt musst du alles neu installieren. Verlasse den root-Modus wieder mit
exit
Und dann geht's los:
sudo npm install -g --unsafe-perm homebridge
sudo npm install -g --unsafe-perm homebridge-config-ui-x
sudo npm install -g --unsafe-perm homebridge-hue
sudo npm install -g --unsafe-perm homebridge-lib
sudo npm install -g --unsafe-perm homebridge-config-ui-x
sudo npm install -g --unsafe-perm alle anderen homebridge-Plugins, die du verwendest
Homebridge starten mit
sudo systemctl start homebridge
Beten hilft nix, aber schadet auch nicht. Wenn ich das machen müsste, würde ich vorher erstmal tief Luft holen. Ich hoffe, ich hab nichts vergessen.
Stefan