homebridge.service: Main process exited, code=exited, status=143/n/a

  • Und auf der Seite der Homebridge steht im Protokoll:


    Stopping Node.js HomeKit Server...

    [21.11.2020, 08:13:46] Got SIGTERM, shutting down Homebridge...

    homebridge.service: Main process exited, code=exited, status=143/n/a

    homebridge.service: Failed with result 'exit-code'.

    Stopped Node.js HomeKit Server.

  • EACCES: permission denied, open '/var/homebridge/persist/AccessoryInfo.CC223DE3CE31.json'


    Nach welcher Anleitung hast du deine Homebridge installiert?

  • Versuch mal ein


    sudo systemctl stop homebridge

    sudo chown -R homebridge:homebridge /var/homebridge

    sudo systemctl start homebridge

  • Versuch mal ein


    sudo systemctl stop homebridge

    sudo chown -R homebridge:homebridge /var/homebridge

    sudo systemctl start homebridge

    Danke , habe alle 3 Befehle ausgeführt. "Stop" und "Start" verstehe ich, was macht der mittlere Befehl ?


    Es läuft auf jeden fall wieder.


    Danke für die schnelle Hilfe :thumbup:

  • Den mittleren Befehl habe ich mal so geraten :D


    Dein Fehler lautete

    EACCES: permission denied, open '/var/homebridge/persist/AccessoryInfo.CC223DE3CE31.json'


    Die Datei /var/homebridge/persist/AccessoryInfo.CC223DE3CE31.json kann also nicht geöffnet werden. Das Betriebssystem verweigert die Erlaubnis.


    Wer will die Datei öffnen? Das will das Programm homebridge, das vom Benutzer homebridge gestartet wurde. Das Programm homebridge darf alle Dateien öffnen und lesen, die der Benutzer homebridge öffnen und lesen darf. Dateien, die der Benutzer homebridge nicht öffnen und lesen darf, darf auch das Programm homebridge nicht öffnen oder lesen. Das ist ein Standard und die letzten Betriebssysteme, die das anders gehandhabt haben, waren Windows ME und MacOS 9. Dort durfte man auf allen Dateien herumtrampeln, bis der Computer-Arzt kam.


    Warum kann die Datei nicht geöffnet werden? Das kann drei Ursachen haben:

    1. Die Datei gehört nicht dem Benutzer homebridge, er ist also nicht der Besitzer
    2. Die Datei gehört dem Benutzer homebridge, hat aber viel zu strenge Zugriffsregeln
    3. Das Datei-System oder die SD-Card sind im Eimer

    Aber dieser Stelle habe ich geraten: welcher der drei Punkte mag's wohl sein? Also hab ich einfach irgendeinen angenommen und das war die Nummer 1: die Datei gehört nicht dem Benutzer homebridge. Also habe ich dir den Befehl aufgeschrieben, wie man diese Datei wieder dem Benutzer homebridge zuordnet. Also den Befehl, mit dem man einen change owner macht.


    sudo chown -R homebridge:homebridge /var/homebridge

    sudo: führe den Befehl als Admin (root) aus

    chown: der Befehl zum Ändern des Besitzers

    -R: ein Parameter, der dem Befehl mitteilt, dass er rekursiv arbeiten soll. Wenn man chown mit diesem Parameter auf ein Verzeichnis anwendet anstatt auf eine einzelne Datei, dann ändert der Befehl nicht nur den Besitzer des Verzeichnisses, sondern auch aller weiteren Dateien, die sich in dem Verzeichnis befinden

    homebridge:homebridge: der neue Besitzer

    /var/homebridge: das Homebridge-Verzeichnis. Alle Dateien in diesem Verzeichnis sollten dem Benutzer Homebridge gehören, also hat der Befehl gleich allen Dateien den richtigen Besitzer gegeben.


    Das hätte genauso gut die falsche Lösung sein können. Aber ich dachte mir, da hat doch bestimmt wieder irgendeiner die Homebridge nicht mit sudo systemctl start homebridge gestartet, sondern als User root mit homebridge -U /var/homebridge.

  • sschuste , danke für die schöne Erläuterung. Hab schon mehrfach gelesen das es dir nicht schwer fällt das System zu verstehen und zu analysieren. Da fehlt mir sicher zu viel um alles zu kapieren. Aber du hast es dennoch für mich verständlich gemacht. 8):thumbup::thumbup::thumbup:

  • sschuste Ich schließe mich dem Lob an. Mal wieder sehr nachvollziehbar erklärt. :thumbup:


    Dadurch bin ich gerade darauf gestolpert, wie kann ich denn überprüfen, ob ein directory schon dem richtigen Benutzer an Rechten zugeordnet ist.


    Ich habe ja kürzlich von systemd auf hb-service umgestellt, aber einfach alle Dateien aus dem home/pi/.homebridge Order einfach nach neu /var/lib/homebridge kopiert.

    Das läuft jetzt seit der Zeit auch ohne Probleme. Aber dann sollten theoretisch doch die "einfach" kopierten Dateien noch den Benutzer pi zugeordnet sein und nicht homebridge.

    Kopiert habe ich die natürlich ohne Kenntnisse über die App Transmit als root.


    Nun würde ich einfach gerne sicher sein, dass /var/lib/homebridge tatsächlich ohne Einschränkungen von Benutzer homebridge verwendet werden kann.


    Du hast sicher etwas in Deiner Zauber-Befehlekiste. 8)

    Hilfreich?

  • Das läuft jetzt seit der Zeit auch ohne Probleme. Aber dann sollten theoretisch doch die "einfach" kopierten Dateien noch den Benutzer pi zugeordnet sein und nicht homebridge.

    Kopiert habe ich die natürlich ohne Kenntnisse über die App Transmit als root.

    In den meisten Fällen macht es nichts aus. Tatsächlich ist es oft so, dass Dateien von allen Benutzern eines Systems gelesen werden können. Aber lesen ist das eine - und schreiben das andere. Auch wenn Dateien gelesen werden können, können sie dann fast immer nicht verändert werden.


    Im Homebridge-Verzeichnis wird viel geschrieben. Einem schreibt homebridge-config-ui-x dort die config.json. Und dann wird dort in die Verzeichnisse persist und accessories geschrieben. Es wäre die aufgefallen, wenn das nicht gehen würde.


    Ein ls -l /var/lib/homebridge/ zeigt dir, wem die Dateien gehören. Und wenn du sie alle an den User homebridge übertragen willst, dann hilft dir ein sudo chown -R homebridge:homebridge /var/lib/homebridge.

  • schönen guten abend,


    wenn ich das ls -l /var/lib/homebridge/ bei mir eingebe, kommt als ausgabe ...


    pi@raspberrypihomebridge:~ $ ls -l /var/lib/homebridge/

    ls: Zugriff auf '/var/lib/homebridge/' nicht möglich: Datei oder Verzeichnis nicht gefunden

  • wenn ich das ls -l /var/lib/homebridge/ bei mir eingebe, kommt als ausgabe ...

    Das hab ich ja auch nicht dir geschrieben :D


    Versuchs mal mit ls -l /var/homebridge/

  • Das hab ich ja auch nicht dir geschrieben :D


    Versuchs mal mit ls -l /var/homebridge/

    Hallo sschuste,


    vielen lieben Dank für deine immer schnelle und kompetente Hilfe.

    Ich habe das

    ls -l /var/homebridge/

    und bekomme das als Ausgabe

    ls -l /var/homebridge/

    insgesamt 740

    drwxr-xr-x 2 homebridge homebridge 4096 Nov 27 18:31 accessories

    -rw-r--r-- 1 homebridge homebridge 742 Nov 15 20:05 auth.json

    drwxr-xr-x 4 homebridge homebridge 4096 Nov 1 01:15 backups

    -rw-r--r-- 1 homebridge homebridge 58 Nov 28 00:41 BidCos-RF.MEQ1725123.pstor

    -rw-r--r-- 1 homebridge homebridge 57 Nov 25 16:29 BidCos-RF.MEQ1725173.pstor

    -rw-r--r-- 1 homebridge homebridge 59 Nov 27 21:53 BidCos-RF.MEQ1725698.pstor

    -rw-r--r-- 1 homebridge homebridge 20158 Nov 27 18:31 ccu.json

    -rw-r--r-- 1 homebridge homebridge 11832 Nov 20 17:43 config.json

    -rw-r--r-- 1 homebridge homebridge 39 Okt 31 22:50 HmIP-RF.0000D8A99E5DC1.pstor

    -rw-r--r-- 1 homebridge homebridge 39 Okt 31 22:50 HmIP-RF.0000D8A99E5EDD.pstor

    -rw-r--r-- 1 homebridge homebridge 39 Okt 31 22:50 HmIP-RF.0000D8A99E5F0C.pstor

    -rw-r--r-- 1 homebridge homebridge 16012 Nov 27 18:31 homebridge-hue.json.gz

    -rw-r--r-- 1 homebridge homebridge 67 Okt 31 22:49 homematic_config.json

    drwxr-xr-x 2 homebridge homebridge 4096 Okt 17 16:49 persist

    drwxr-xr-x 3 homebridge homebridge 4096 Nov 3 00:11 plugin-persist

    -rw-r--r-- 1 homebridge homebridge 6351 Nov 28 01:22 raspberrypihomebridge_BidCos-RF.MEQ1725123:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 16333 Nov 28 01:22 raspberrypihomebridge_BidCos-RF.MEQ1725173:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 23680 Nov 28 01:22 raspberrypihomebridge_BidCos-RF.MEQ1725698:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 125154 Nov 28 01:22 raspberrypihomebridge_HmIP-RF.0000D8A99E5DC1:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 125150 Nov 28 01:22 raspberrypihomebridge_HmIP-RF.0000D8A99E5EDD:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 125130 Nov 28 01:22 raspberrypihomebridge_HmIP-RF.0000D8A99E5F0C:1_persist.json

    -rw-r--r-- 1 homebridge homebridge 0 Nov 8 16:13 raspberrypihomebridge_HmIP-RF.0001D8A993404A:6_persist.json

    -rw-r--r-- 1 homebridge homebridge 132819 Nov 28 01:22 raspberrypihomebridge_undefined_persist.json

    -rw-r--r-- 1 homebridge homebridge 92430 Okt 15 12:35 raspberrypi_undefined_persist.json

    pi@raspberrypihomebridge:~ $



    muss ich bei mir noch was abändern? weil ab und an stürzt meine Homebridge ab und startet nur nach folgenden Eingaben (Der Neustart aus Config Ui funktioniert bei mir nicht) nur mit diesen Befehlen und nach löschen von accessoires...


    sudo systemctl stop homebridge


    sudo rm -rf /var/homebridge/accessories


    sudo systemctl restart homebridge; sudo journalctl -fau homebridge

  • Ich habe das

    ls -l /var/homebridge/

    und bekomme das als Ausgabe

    ls -l /var/homebridge/

    Ich habe selten eine schönere Ausgabe gesehen außer vielleicht 1998 in Braunschweig.

    muss ich bei mir noch was abändern?

    Nö.

    weil ab und an stürzt meine Homebridge ab

    Die Gründe dafür stehen im Log.


    Der Neustart aus Config Ui funktioniert bei mir nicht

    Der Neustart der Homebridge oder der Neustart des Raspi?

    und nach löschen von accessoires

    Wie gesagt: das Log zeigt's wahrscheinlich an.

  • Der Neustart der Homebridge oder der Neustart des Raspi?

    Hallo Sschuste, vielen Dank für deine Hilfe🌹


    Neustart Homebridge über Config Ui, da steht dann immer was von Timeout und dann kann ich Homebridge nur via Terminal mit den Befehlen unten starten :(


    Starten kann ich Homebridge dann nur mit diesen Befehlen

    sudo systemctl stop homebridge

    sudo rm -rf /var/homebridge/accessories

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    Homebridge startet dann auch nur wenn ich diesen Befehl mit ausführe

    sudo rm -rf /var/homebridge/accessories


    ohne

    sudo rm -rf /var/homebridge/accessories

    ohne diesen Befehl startet die Homebridge bei mir nicht :(

  • da steht dann immer was von Timeout

    Ich glaube nicht, dass da irgendwas steht. Ich glaube das steht was ganz Präzises. Wie hast du deine Homebridge installiert?

  • Ich habe sie nach der Anleitung von hier installiert.

    Komisch dass ich sie nicht aus dem Config Ui neustarten kann.


    ich muss auch immer diesen Befehl (sudo rm -rf /var/homebridge/accessories) ausführen wenn ich Homebridge Neustarte oder ein Plugin installiere.

    Wenn ich das nicht mache startet Homebridge nicht :(

  • Wenn ich das nicht mache startet Homebridge nicht

    Und was steht dann im Log?

  • Wenn ich die Homebridge im Config Ui starte, kommt erst das

    Homebridge neustarten

    Bitte warte, du wirst automatisch umgeleitet, wenn der Server wieder online ist.

    Homebridge UI Online
    Homebridge Server bereit


    und kurz danach kommt das

    Homebridge neustarten

    Der Neustart des Servers dauert länger als gewöhnlich. Möglicherweise muss der Homebridge-Dienst manuell gestartet werden.

    Neustart angestoßen: sudo -n systemctl restart homebridge


    und dann kann ich sie erst wieder via Terminal zum laufen bringen mit diesen Befehlen

    sudo systemctl stop homebridge

    sudo rm -rf /var/homebridge/accessories

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    gerade habe ich festgestellt, dass wenn ich nun als letztes diesen Befehl eingebe

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    plötzlich das kommt :(


    Invalid unit name "homebridge" was escaped as "homebridge\xe2\x80\x8b" (maybe you should use systemd-escape?)

    -- Logs begin at Thu 2019-02-14 11:11:59 CET. --

  • und dann kann ich sie erst wieder via Terminal zum laufen bringen mit diesen Befehlen

    sudo systemctl stop homebridge

    sudo rm -rf /var/homebridge/accessories

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge

    Das hast du jetzt bereits viermal geschrieben. Kapiert habe ich es bereits beim ersten Mal.

    Invalid unit name "homebridge" was escaped as "homebridge\xe2\x80\x8b" (maybe you should use systemd-escape?)

    Kopiere mal das hier und füge es in dein Terminal ein:

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge

    Ja, das sieht genauso aus wie dein Befehl, aber trotzdem.


    Und dann wird das Log angezeigt und dieses Log bitte ich dich, hier einzustellen. Das Log besteht aus vielen Zeilen und ganz bestimmten Zeilen und ich will sie alle sehen, und zwar alle zwischen


    Started Homebridge und Stopped Node.js HomeKit Server am Ende des Logs.


    Bitte keinen Screenshot.

  • Hallo, danke dir für deine Hilfe.

    Ich muss es auf 2 Postings teilen weil es mehr als 30000 Zeichen sind, ich hoffe es ist OK so :)