Deine Analyse ist schon mal großartig. Ich will noch was hinzufügen:
-
/usr/lib/node_modules/homebridge/bin/homebridge sollte der Pfad zum Programm homebridge sein. Also das Ding, das den Homebridge-Programmcode enthält.
-
/var/lib/homebridge ist der Pfad zum Homebridge-Verzeichnis, in dem alles mögliche gespeichert wird, beispielsweise die config.json und cachedAccessories. Also die Dateien, die das Programm homebridge benötigt, um überhaupt zu funktionieren.
Das sind also zwei völlig unterschiedliche Sachen. Du kannst sie nachprüfen mit dem Befehl file. Dieser Befehl zeigt dir, um was für einen Dateityp es sich handelt.
-
file /usr/lib/node_modules/homebridge/bin/homebridge (aber du sagst ja, diese Datei existiert nicht, daher versuche mal file /usr/local/lib/node_modules/homebridge/bin/homebridge
- file /var/lib/homebridge
- file /var/lib/homebridge/config.json
Nun weichen die Pfade in oznus Homebridge-Installation von den Pfaden der Smartapfel-Installation ab. Ich kann sehen, dass bei oznu das Homebridge-Verzeichnis /var/lib/homebridge ist, bei Smartapfel dagegen /var/homebridge. Das haben wir hier damals so gemacht, um kompatibel zu den Tools von det zu sein. Dass diese Pfade unterschiedlich sind, spielt für die Funktion der Homebridge keine Rolle außer zur Verwirrung beizutragen: bei dem einen liegt die config.json hier, bei dem anderen dort und es gibt in diesem Forum sogar noch dritte Pfade (/home/pi/.homebridge/config.json) und vierte (/root/.homebridge/config.json). Und Hoobs hat es noch anders gemacht.
Was ein Durcheinander. Hier ist es nur wichtig, dass man seinen eigenen Pfad weiß, in deinem Falle /var/lib/homebridge, und darauf immer alles bezieht, auch wenn die Installationsanleitungen der Plugins was anderes behaupten wollen. Ich muss mich halt immer auf /var/homebridge beziehen.
Eine wichtige Frage aber ist: wo befinden sich die Plugins? Dieser Pfad wird von npm gewählt, und hier haben hier in letzter Zeit zunehmend Fälle, bei denen die Plugins an zwei verschiedenen Orten installiert werden, wo es doch nur einer sein sollte. Wo sind deine Plugins?
Meine liegen ausnahmslos in /usr/local/lib/node_modules. Die sind deshalb dort, weil ich nach Smartapfel-Anleitung das benötigte Programm node in /usr/local installiert habe. Wie die Pfade bei oznus Installation sind, weiß ich nicht.
Solange die Plugins an einer bestimmten Stelle installiert sind, und zwar alle, ist gegen diese Stelle nichts einzuwenden. Aber wenn sie an zwei verschiedenen Orten liegen, wird es blöd. Sie sollten entweder
hier: /usr/local/lib/node_modules oder
hier: /usr/lib/node_modules liegen
Aber nicht an beiden Orten. Wo sind deine?
ls -ld /usr/local/lib/node_modules/homebridge*
pi@homepi:~ $ ls -ld /usr/local/lib/node_modules/homebridge*
drwxr-xr-x 5 root root 4096 May 17 14:41 /usr/local/lib/node_modules/homebridge
drwxr-xr-x 4 root root 4096 May 3 10:18 /usr/local/lib/node_modules/homebridge-alexa
drwxr-xr-x 6 root root 4096 May 11 00:45 /usr/local/lib/node_modules/homebridge-apple-tv-remote
drwxr-xr-x 6 root root 4096 Jan 27 23:51 /usr/local/lib/node_modules/homebridge-broadlink-rm
drwxr-xr-x 5 root root 4096 Aug 23 2019 /usr/local/lib/node_modules/homebridge-calendar
drwxr-xr-x 2 root root 4096 May 27 14:41 /usr/local/lib/node_modules/homebridge-cmdswitch2
drwxr-xr-x 3 root root 4096 Aug 23 2019 /usr/local/lib/node_modules/homebridge-cmdtrigger
drwxr-xr-x 6 root root 4096 May 27 14:38 /usr/local/lib/node_modules/homebridge-config-ui-x
drwxr-xr-x 2 root root 4096 May 2 09:01 /usr/local/lib/node_modules/homebridge-delay-switch
drwxr-xr-x 3 root root 4096 Aug 23 2019 /usr/local/lib/node_modules/homebridge-http
drwxr-xr-x 5 root root 4096 May 18 00:19 /usr/local/lib/node_modules/homebridge-hue
drwxr-xr-x 10 root root 4096 May 19 13:55 /usr/local/lib/node_modules/homebridge-mqttthing
drwxr-xr-x 4 root root 4096 Aug 23 2019 /usr/local/lib/node_modules/homebridge-omxplayer
drwxr-xr-x 3 root root 4096 Apr 7 16:35 /usr/local/lib/node_modules/homebridge-people
drwxr-xr-x 6 root root 4096 May 28 08:47 /usr/local/lib/node_modules/homebridge-weather-plus
drwxr-xr-x 4 root root 4096 May 6 14:22 /usr/local/lib/node_modules/homebridge-website-to-camera
drwxr-xr-x 5 root root 4096 May 23 15:26 /usr/local/lib/node_modules/homebridge-zp
ls -ld /usr/lib/node_modules/homebridge*
pi@homepi:~ $ ls -ld /usr/lib/node_modules/homebridge*
ls: cannot access '/usr/lib/node_modules/homebridge*': No such file or directory