Homebridge Autostart funktioniert nicht

  • Hallo Zusammen!

    Ich bin seit einer ganzen Weile dabei, meinen Raspberry 3 Model B ( folgendes Set: Raspberry Pi Set [Anzeige] ) zu einer Homebridge Zentrale einzurichten.

    Zuerst habe ich Pilight installiert und eingerichtet ( Anleitung: https://raspberry.tips/hausautomatisi…automatisierung ).

    Das funktioniert auch soweit. Anschließend habe ich die Homebridge anhand folgender Anleitung installiert: https://smartapfel.de/homebridge/homebridge-installieren/.

    Ich habe generell, wie Ihr sicher merkt, nicht so die große Ahnung vom Programmieren, ich arbeite hautpsächlich nach Copy/Paste. Manche Befehle ergeben sich meiner Logik nach, andere eher weniger :D.

    Falls noch Infos fehlen versuche ich sie so schnell wie möglich nachzureichen!

    Verwendete Software:

    Code
    cat /etc/os-release
    PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
    NAME="Raspbian GNU/Linux"
    VERSION_ID="9"
    VERSION="9 (stretch)"
    ID=raspbian
    ID_LIKE=debian
    HOME_URL="http://www.raspbian.org/"
    SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
    BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    Linux Kernel:

    Code
    uname -r
    4.14.98-v7+

    Wenn ich die Homebridge manuell über "sudo homebridge" starte funktioniert auch alles, folgende Meldung bekomme ich:

    Die Homebridge habe ich in meiner Apple home App hinzugefügt und ich kann die 3 Funktsteckdosen darüber schalten.

    Da die Homebridge ja auch beim Booten starten soll habe ich es auch wie in der Anleitung beschrieben mit dem Systemd Startscript probiert, daran scheitert es jedoch leider.

    Ich habe schon Stunden in google damit verbracht und versucht andere Lösungsvorschläge zu probieren, es half jedoch alles nichts, deswegen wende ich mich an euch.

    Folgende Fehlermeldung erscheint:

    Die Meldung wiederholt sich alle 10 Sekunden, wie auch laut Script geplant, wenigstens funktioniert also etwas :D .

    Da ich ja den Nutzer homebridge erstellt habe, habe ich auch überlegt ob ich den Nutzer erst wechseln muss ( su homebridge ) und dann den Service starten, hat jedoch auch nichts geholfen.

    Der Inhalt von /etc/default/homebridge

    Code
    # Defaults / Configuration options for homebridge
    # The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
    HOMEBRIDGE_OPTS=-U /var/homebridge
    
    # If you uncomment the following line, homebridge will log more
    # You can display this via systemd's journalctl: journalctl -f -u homebridge
    # DEBUG=*

    Der Inhalt von /etc/systemd/system/homebridge.service

    Der Pfad unter ExecStart ist auch korrekt, ist ja laut diversen Seiten oft ein Fehler, siehe:

    Code
    sudo which homebridge
    /usr/local/bin/homebridge

    Meine config.json, welche normalerweise unter /root/.homebridge/ liegt, habe ich in das erstellte Verzeichnis /var/homebridge kopiert


    Ich hoffe ihr könnt ihr helfen, so dass ich meine Homebridge zum laufen bekomme!

    Schon im Voraus vielen Dank und bei fehlenden Infos einfach Fragen.


    Liebe Grüße Dario

  • Hallo und Willkommen im Forum,

    mal eine vorbildliche Fehlerbeschreibung :)

    Wenn ich die Homebridge manuell über "sudo homebridge" starte funktioniert auch alles, folgende Meldung bekomme ich:

    Funktioniert es auch mit sudo -u homebridge homebridge

    Wenn nein, dann ist wohl etwas bei dem Teil der Anleitungen schief gelaufen, wo die Rechte vergeben worden sind.

  • Hallo Hofei,

    danke für die schnelle Antwort.

    Code
    pi@raspberrypi:/ $ sudo -u homebridge homebridge
    sudo: homebridge: Befehl nicht gefunden

    Hat nicht funktioniert, aber hat es was mit den Rechten zu tun wenn der Befehl gar nicht gefunden wird oder hättest du einen anderen Fehler erwartet?

    Da ist mir aber noch folgendes aufgefallen:
    Wenn ich in den Ordner navigiere kommt die Meldung dass ich keine Berechtigung habe, soweit alles i.O.

    Dann wollte ich in den Ordner mithilfe des sudo Befehles, da kam dann die gleiche Fehlermeldung Befehl nicht gefunden.

    Code
    cd /usr/local/bin
    bash: cd: /usr/local/bin: Keine Berechtigung
    pi@raspberrypi:/ $ sudo cd /usr/local/bin
    sudo: cd: Befehl nicht gefunden

    Daraufhin habe ich mich als superuser angemeldet um in den Ordner zu navigieren und die Rechte anzuschaue, hab aber dann erst noch mal den von dir vorgeschlagenen Befehl probiert, mit folgender Meldung:

    Code
    sudo su
    root@raspberrypi:/# sudo -u homebridge homebridge
    sudo: unable to execute /usr/local/bin/homebridge: Permission denied

    Kannst du mir sagen wieso die Befehle sudo cd /usr/local/bin und sudo -u homebridge homebridge nicht funktionieren bzw. "nicht gefunden" werden?

    Hier auf jeden Fall noch die Rechte (ich hoffe es ist richtig so, falls nicht bitte um Mitteilung was benötigt wird.

    Liebe Grüße

    Dario

  • Hier auf jeden Fall noch die Rechte (ich hoffe es ist richtig so, falls nicht bitte um Mitteilung was benötigt wird.

    Wie sind die Ausgaben von:

    Code
    ls -ld /usr/local/bin/homebridge
    ls -la /var/homebridge
    ls -ld /var/homebridge
    id homebridge
    cat /etc/passwd | grep -i homebridge
    find ~ -uid 0 -exec ls -lad {} 2>/dev/null +;

    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Hallo rpi444,

    hier wie gewünscht:

    Dir auch vielen Dank für die Hilfe :)

    Schönen Sonntag noch!

    Gruß Dario

  • Schau mal nach welche Rechte das binary:

    Code
    ../lib/node_modules/homebridge/bin/homebridge

    hat. Evtl. mit "chmod 755" ändern.

    Muss die Datei :

    Code
    config.json

    evtl. auch ausführbar (chmod 755) sein?

    EDIT:

    Evtl. auch testen, ob der Pfad (d. h. dessen Berechtigungen) dem user homebridge, den Zugang zum binary "homebridge" auch ermöglicht.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Aaaaalso so richtig schlau bin ich nicht geworden.

    Code
    pi@raspberrypi:/ $ ls -la /usr/local/lib/node_modules/homebridge/bin/homebridge
    -rwxr-xr-x 1 homebridge homebridge 342 Okt 26  1985 /usr/local/lib/node_modules/homebridge/bin/homebridge
    
    pi@raspberrypi:/ $ sudo chmod 755 /usr/local/lib/node_modules/homebridge/bin/homebridge
    
    pi@raspberrypi:/ $ ls -la /usr/local/lib/node_modules/homebridge/bin/homebridge
    -rwxr-xr-x 1 homebridge homebridge 342 Okt 26  1985 /usr/local/lib/node_modules/homebridge/bin/homebridge

    Stimmen die Rechte so? Ich denke mal ja, da sich nichts verändert hat und der Pfad dem homebridge Nutzer gehört, so wie es sein soll?

    Ob die config.json ausführbar sein soll kann ich dir leider nicht beantworten. Die "normale" config.json, welche von homebridge genutzt wird ist es zumindest nicht, von dem her denke ich, dass die kopierte Version auch nicht ausführbar sein muss.

    Code
    sudo ls -la /root/.homebridge/
    insgesamt 28
    drwxr-xr-x 4 root root 4096 Apr 14 11:14 .
    drwx------ 9 root root 4096 Apr  6 11:08 ..
    drwxr-xr-x 2 root root 4096 Apr  1 20:05 accessories
    -rw-r--r-- 1 root root  359 Apr  1 20:25 auth.json
    -rw-r--r-- 1 root root 1315 Apr  7 13:28 config.json
    -rw-r--r-- 1 root root  662 Apr  1 20:32 config.json.1554144096934
    drwxr-xr-x 2 root root 4096 Apr  7 13:28 persist
  • Code
    sudo ls -la /root/.homebridge/

    Was mir jetzt erst auffällt, was hat homebridge überhaupt unter /root zu suchen? Ich hatte das auch einmal eingerichtet und kann mich nicht an derartiges erinnern...

  • Aaaaalso so richtig schlau bin ich nicht geworden.

    Stimmen die Rechte so? Ich denke mal ja, da sich nichts verändert hat und der Pfad dem homebridge Nutzer gehört, so wie es sein soll?

    OK, was Du noch probieren könntest, ist dem user homebridge das home-Verzeichnis "/var/homebridge" (statt "/home/homebridge") zuzuordnen und den user homebridge in allen Gruppen in denen der user pi Mitglied ist, auch Mitglied zu machen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Was mir jetzt erst auffällt, was hat homebridge überhaupt unter /root zu suchen? Ich hatte das auch einmal eingerichtet und kann mich nicht an derartiges erinnern...

    Bei der Installation bzw. beim ersten Test kam eine Fehlermeldung dass die config unter dem entsprechenden Pfad /root nicht aufzufinden ist, also hab ich die config dort erstellt.

    Habe aber auch schon ein paar mal gelesen dass dies bei anderen auch so ist, bei anderen wiederum unter /usr/homebridge wenn ich mich richtig erinnere.

    Stört aber ja nicht oder ?

  • Bei der Installation bzw. beim ersten Test kam eine Fehlermeldung dass die config unter dem entsprechenden Pfad /root nicht aufzufinden ist, ...

    Das lag evtl. daran, dass beim 1. Test, die Konfiguration für "HOMEBRIDGE_OPTS=-U /var/homebridge" (oder gleichwertig) nicht berücksichtigt worden ist oder nicht gesetzt war.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • OK, was Du noch probieren könntest, ist dem user homebridge das home-Verzeichnis "/var/homebridge" (statt "/home/homebridge") zuzuordnen und den user homebridge in allen Gruppen in denen der user pi Mitglied ist, auch Mitglied zu machen.

    Beides erledigt, funktioniert immer noch nicht, mit der selben Fehlermeldung :(

  • Beides erledigt, funktioniert immer noch nicht, mit der selben Fehlermeldung :(

    Dann versuch mal mit einer user eigenen service unit, für homebridge und den user homebridge, gemäß dem wiki:

    https://wiki.ubuntuusers.de/systemd/User_Units/

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Also das gute ist: es funktioniert jetzt alles.

    Das schlechte ist: ich hab keine Ahnung warum :/.

    Ich habe bzgl. Homebridge nichts mehr unternommen, habe nebenbei noch das Programm Shairport entdeckt (zum streamen von Musik an Raspi) und hab das Programm installiert (Shairport-Tutorial).

    Das wollte ich nur nebenbei machen und schauen ob es funktioniert, hab ich dann auch gemacht und als es funktionierte wollte ich mich der Homebridge widmen, habe sie im "normalen" Modus per "sudo Homebridge" gestartet und es kam eine Fehlermeldung, welche ich leider nur noch aus dem Kopf reproduzieren kann, aber etwas Richtung EADRR already in use by:

    und dann 5-6 verschiedene Einträge.

    Daraufhin hab ich gedacht komisch, hört sich so an als ob die Homebridge schon läuft (in der iPhone App hat die Ansteuerung jedoch nicht funktioniert).

    Anschließend hab ich den Raspi neu gebootet und mittels sudo journalctl -fau homebridge gesehen dass die Homebridge läuft.

    Also die Homebridge neu in der Home App hinzugefügt und seitdem läuft sie.

    Ich danke euch für eure Hilfe, welcher Punkt mir genau geholfen hat kann ich jetzt leider nicht sagen.


    Falls man die Lösung irgendwie eingrenzen kann könnt ihr mir ja helfen wie :).

    Liebe Grüße

    Dario

  • Was mir jetzt erst auffällt, was hat homebridge überhaupt unter /root zu suchen? Ich hatte das auch einmal eingerichtet und kann mich nicht an derartiges erinnern...

    Wenn ich mich nicht täusche, wird Homebridge über npm in das Home Verzeichnis des Users unter dem es installiert wird gepackt.

  • ps915 26. Januar 2024 um 21:16

    Hat das Label Homebridge hinzugefügt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!