Homebridge automatisch regelmässige reboot Routine. Crontab - Wie geht das ?

  • Moin


    Ich habe das Problem das ich hin und wieder die homebridge neustarten muss, da mir in homekit oft die Lampen mit „nicht erreichbar“ oder „aktualisieren“ angezeigt werden und ich somit nichts mehr machen kann!


    Wie kann ich bei meinem debian die Routine einstellen das er zb, jede Stunde den hb Server einmal Neustartet?

  • Du erstellst ein Skript, das den Raspi rebooten tunsoll und übergibst es dem cron.


    So gehst du vor:


    sudo nano /etc/cron.hourly/auto-reboot.sh.

    In das leere Editorfenster schreibst du rein:

    Bash
    #!/bin/bash
    /sbin/reboot

    und abspeichern. Danach machst du das Skript ausführbar mit


    sudo chmod +x /etc/cron.hourly/auto-reboot.sh


    Du kannst das testen, indem du sudo /etc/cron.hourly/auto-reboot.sh eingibst. Dein Raspi sollte jetzt booten.


    Wenn das funktioniert, bist du schon fertig. Dein Raspi wird jetzt jede Stunde neu gestartet. Ich glaube, das passiert nicht zur vollen Stunde, sondern irgendwann, und meine in Erinnerung zu haben, dass das auch mal erst nach 66 oder 75 Minuten passiert - also ungefähr jede Stunde.


    Wann der letzte Reboot war, kannst du mit dem Befehl last herausbekommen. Auch der Befehl uptime ist nützlich.


    Stefan

  • wenn die homebridge als Dienst läuft:

    Code
    sudo systemctl restart homebridge

    wenn es kein Dienst ist

    Code
    /etc/init.d/homebridge restart


    Wenn das geklärt ist, kann es in die crontab eingetragen werden:

    Code
    sudo crontab -e

    und unten anfügen:

    Code
    0 1 * * * root /bin/systemctl restart homebridge

    Speichern und beenden.

    jetzt wird jede stunde der Dienst Homebridge neu gestartet

    :)

  • Wenn das geklärt ist, kann es in die crontab eingetragen werden:

    Code
    sudo crontab -e

    und unten anfügen:

    Code
    0 1 * * * root /bin/systemctl restart homebridge

    Speichern und beenden.

    jetzt wird jede stunde der Dienst Homebridge neu gestartet

    :)

    also mache ich jetzt genau das hier ?!

  • wenn die homebridge als Dienst läuft:

    wenn es kein Dienst ist

    Sorry, det, dass ich hier mal so reingrätschen muss, aber homebridge läuft immer als Dienst (oder service). Alles was einen Port aufmacht und darauf lauscht, ist ein Dienst. Da ist es völlig egal, wie homebridge gestartet wird.


    Aber warum gibt es diese unterschiedlich Starterei?

    Ganz früher, so bis Anfang der 90er, schrieb man unter Unix eine riesengroße lange Datei, und da stand drin, was beim Booten alles noch gestartet werden sollte: Netzwerksoftware, Mailserver und all so ein Zeug. Das erwies sich nach einer Weile als ziemlich blöde, denn man wollte gern die Prozesse, die man beim Booten mitgestartet hatte, auch bequem stoppen oder restarten können.


    Da kam System V mit dem init-Startprozess um die Ecke. Die große Startdatei wurde zerlegt in viele kleine, für jedes Programm, dass bei Booten dabei sein sollte, eine. Diese Dateien liegen in /etc/init.d und werden mit sudo /etc/init.d/irgendwas start gestartet und mit sudo /etc/init.d/irgendwas stop gestoppt. Dabei ist es jedem Admin selber überlassen, wie so ein Startskript aussieht. Manchmal sind solche Skripte sehr spartanisch und manchmal sehr üppig. Allein für homebridge findet man die unterschiedlichsten Startskripte im Netz. Standard bedeutet hier: eine gewisse Ähnlichkeit mit anderen Dingen.


    Beim Booten sorgt der init-Prozess für das automatische Starten, indem er diese Skripte mit dem Parameter start aufruft. Beim Herunterfahren des Rechners ruft er sie mit dem Parameter stop auf.


    In den 2000ern wurde dann der systemd entwickelt, und eine Aufgabe von dem Ding ist das Starten der Prozesse beim Booten. Dazu braucht man Konfigurationsdateien, die sehr standardisiert sind, und die liegen in /etc/systemd/system. Gestartet wird ein Prozess mit sudo systemctl start irgendwas und gestoppt wird er mit sudo systemctl stop irgendwas.


    Beim Booten sorgt nun nicht mehr der init-Prozess für das automatische Starten, sondern der systemd grast seine Konfigurationsdateien ab und startet alles und beim Herunterfahren der Rechners stoppt er sie wieder.


    Das ist alles für das Booten da. Entweder bootet man mit dem init-Prozess oder mit dem systemd. Heute ist letzterer Standard, was aber niemanden davon abhält, trotzdem die alten Startskripte zu betreiben. Daher verwenden manche Leute sudo /etc/init.d/homebridge start (oder stop) und andere sudo systemctl start homebridge (oder stop). Das Ergebnis ist das gleiche: Homebridge wird als Dienst gestartet.


    Wer die Homebridge mit der Homebridge-App installiert, der bekommt ein altes Startskript (/etc/init.d/homebridge). Wer die Forenanleitung verwendet, bekommt eine systemd-Konfigurationsdatei. Wer nicht weiß, was er nun hat, der macht es so, wie Det es oben vorschlägt: ausprobieren.


    Stefan

    2 Mal editiert, zuletzt von sschuste ()

  • Hallo Stefan, Danke für die ausführliche Erklärung :)


    Ich habe es nach Forum installiert und nutze separat die App!


    Was bei mir allerdings immer noch zu Problemen führt ist die HomeKit App. Trotz der Neustart Routine aus dem obigen Beitrag habe ich immer noch oft das meine Lampen mit „nicht erreichbar“ oder aktualisieren angezeigt werden. Manchmal hilft es wenn ich am iPhone dann den Flugmodus an mache und nach ein paar Sekunden wieder deaktiviere....


    Gibt es dafür eine Lösung ? Weil so wie es jetzt läuft hat es den Sinn und zweck natürlich verfehlt

  • Was bei mir allerdings immer noch zu Problemen führt ist die HomeKit App. Trotz der Neustart Routine aus dem obigen Beitrag habe ich immer noch oft das meine Lampen mit „nicht erreichbar“ oder aktualisieren angezeigt werden. Manchmal hilft es wenn ich am iPhone dann den Flugmodus an mache und nach ein paar Sekunden wieder deaktiviere....


    Gibt es dafür eine Lösung ? Weil so wie es jetzt läuft hat es den Sinn und zweck natürlich verfehlt

    Das liegt meiner Meinung nicht an der Homebridge. Warte das mal ein paar Tage ab, ob es sich von allein bessert.


    Stefan

  • offensichtlich dauert es wirklich ein bisschen bis sich das eingependelt hat.


    heute ware es zb. deutlich besser als gestern.


    nutzt einer von euch das Harmony Plugin ? ich finde dazu nirgends eine Befehlsliste.


    habe die configs mit dem plugin so eingestellt wie es sein soll aber er zeigt mir nichts in HomeKit an, ich denke weil ich eben keine buttons belegt habe

  • Du musst "Aktionen" in der Harmony-App anlegen, die erscheinen dann automatisch in HomeKit.

  • und unten anfügen:

    Code
    0 1 * * * root /bin/systemctl restart homebridge

    Speichern und beenden.

    jetzt wird jede stunde der Dienst Homebridge neu gestartet

    :)

    Bedeutet dieser Crontab Code nicht Ausführung jeden Tag um 1 Uhr nachts?


    det ?