Ich bin davon ausgegangen das die 2 Zeilen eine Fehlermeldungen sind.
Das habe ich auch mal gedacht. In Wirklichkeit sind es glatte Lügen. Was passiert da also?
Unter Linux und Unix melden Programme, die gestartet worden sind, dann gelaufen sind und sich dann beendet haben, noch einen sogenannten Exit-Code (auch return code genannt). Den sieht man normalerweise nicht ohne Weiteres. Einen solchen Code liefert aber eigentlich jedes Programm, das man auf einer Linux-Kiste startet. Außer es ist nachlässig programmiert.
Dieser Exit-Code ist entweder 0 oder irgendetwas anderes. 0 bedeutet, dass etwas mit Erfolg gelaufen ist. Alles andere bedeutet, dass etwas nicht erfolgreich war. Folgend ein einfaches Beispiel, das mit Homebridge nun mal gar nix zu tun hat, zur Verdeutlichung eines Exit-Codes:
Aufgabe 1: Suche in der Datei /var/homebridge/config.json nach dem Wort username.
pi@homePi:~ $ grep username /var/homebridge/config.json
"username": "CC:22:3D:E3:CE:30",
pi@homePi:~ $ echo $?
0
Das echo $? liefert den Exit-Code. Der ist 0, weil das Wort username gefunden wurde. Der Befehl ist gelaufen und war erfolgreich.
Aufgabe 2: Suche in der Datei /var/homebridge/config.json nach dem Wort knacknwuppdich.
pi@homePi:~ $ grep knacknwuppdich /var/homebridge/config.json
pi@homePi:~ $ echo $?
1
Der Exit-Code ist nun 1, weil das Wort knacknwuppdich nicht gefunden wurde. Der Befehl ist gelaufen und war nicht erfolgreich.
Aufgabe 3: Suche in der Datei /var/homebridge/knacknwuppdich.json nach dem Wort username.
pi@homePi:~ $ grep username /var/homebridge/knacknwuppdich.json
grep: /var/homebridge/knacknwuppdich.json: No such file or directory
pi@homePi:~ $ echo $?
2
Der Exit-Code ist nun 2, weil die Datei knacknwuppdich.json nicht existiert. Der Befehl ist gelaufen und war nicht erfolgreich.
Schön, und was hat das nun mit Homebridge zu tun? Das Programm systemctl, mit dem man die Homebridge startet und stoppt, hat beim Stoppen der Homebridge aus bestimmten Gründen den Exit-Code 143 erhalten. Diese Gründe sind denen verständlich, die einen tiefen Einblick haben in die Materie Node, Javascript, Betriebssystem, Prozessmanagement, systemd und was weiß ich. Ich verstehe es gerade so, aber auch nicht völlig, daher will ich die bestimmten Gründe an dieser Stelle nur "bestimmte Gründe" nennen.
Auf jeden Fall kommt 143 zurück und weil 143 nicht 0 ist, glaubt systemctl, das etwas schief gelaufen ist und schreibt das freundlicherweise in das Log:
Mar 15 13:53:18 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=143/n/a
Mar 15 13:53:18 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Da steht nun in der ersten Zeile: der Prozess ist beendet und sein Status ist 143. Und in der zweiten Zeile steht: Hey! 143 ist nicht 0! Hier ist was schiefgelaufen! Fail!
Glatt gelogen.
Hier beschreibe ich, wie man die 143 zum Erfolg machen kann. Das kannst du ja eines Tages einbauen, wenn deine Homebridge wie ein Familienmitglied für dich ist. Bis dahin ignoriere diese Logeinträge einfach und konzentriere dich auf dein smartes Home. Das oben erworbene Wissen wirst du für deine Automationen nicht brauchen, aber vielleicht kannst du auf der nächsten Party damit posen.
Stefan