Migration systemd zu hb-service

  • Hallo Community


    Habe nun für mein Plugin "Config UI X" das Zusatz Tool "hb-service" installiert. Soweit hat alles gut geklappt dadurch habe ich unter "Config UI X" viel mehr Einstellungen zur Verfügung. Allerdings habe ich das Problem dass er meine Configs und Home app Einstellungen nicht übernommen hat.


    Dabei ist mir aufgefallen das sich der Speicher Pfad von "Config UI X" geändert hat ( siehe Bild)


    Wie bekomme ich den pfad wieder zum Standard zurück? Oder ist dies nicht möglich.

    Danke

  • Wie bekomme ich den pfad wieder zum Standard zurück? Oder ist dies nicht möglich.

    Nee, du wirst den Raspi jetzt wegwerfen müssen. Du kannst, falls deine Installation immer noch funktioniert, das alles aber auch einfach ignorieren.

    Habe nun für mein Plugin "Config UI X" das Zusatz Tool "hb-service" installiert.

    Und das hast du wie gemacht? Mit "hey Siri, installiere hb-service"? Oder doch eher irgendwas wild und ohne genau hinzusehen kopiert und eingesetzt? Möglicherweise hast du dabei den Pfad verändert. Nee, nicht möglicherweise. Du hast dabei den Pfad verändert.


    Wenn du beschreiben könntest, was du also so getrieben hast, wäre es von ungeheurer Hilfe. Nicht ganz so hilfreich sind dabei Aussagen wie "ich habe irgendwas eingetippt" und "das habe ich irgendwo im Internet gesehen". Ich weiß, das kannst du besser.


    Und während du so darüber nachdenkst, was du wie gemacht hast, kannst du die Zeit auch nutzen, dich so schnell wie möglich umzudrehen. Dabei wirst du entdecken, dass niemand aus diesem Forum hinter dir steht und dir dabei zusieht, was du gerade auf deinem Raspi treibst. Wir sind - sogar im 21. Jahrhundert und in der Ära der Goldenen Kommunikationsmöglichkeiten - immer noch darauf angewiesen, dass du dich uns mitteilst.

  • Wenn ich meinen Senf auch mal dazu geben darf, ohne eine Lösung parat zu haben.

    Versuch doch erstmal deine Homebridge so zum Laufen zu bekommen, dass alle Deine Gerärfte und die dazu gehörenden Plugins laufen, anstatt immer wieder neue Baustellen auf zu machen.

    Du solltest auch langsam wissen welche Anforderungen nötig sind um hier Hilfe zu bekommen.


  • Und das hast du wie gemacht? Mit "hey Siri, installiere hb-service"? Oder doch eher irgendwas wild und ohne genau hinzusehen kopiert und eingesetzt? Möglicherweise hast du dabei den Pfad verändert. Nee, nicht möglicherweise. Du hast dabei den Pfad verändert.


    Wenn du beschreiben könntest, was du also so getrieben hast, wäre es von ungeheurer Hilfe. Nicht ganz so hilfreich sind dabei Aussagen wie "ich habe irgendwas eingetippt" und "das habe ich irgendwo im Internet gesehen". Ich weiß, das kannst du besser.

    Hallo sschuste


    Als erstes habe ich meine Homebrigde über "putty" gestoppt

    "sudo systemctl stop homebridge"


    Dann habe ich das Tool "hb-service" installiert, hier habe ich den Befehl

    Code
    sudo hb-service install --user homebridge

    genutzt, diesem habe ich von hier erhalten


    https://github.com/oznu/homebr…omebridge-Service-Command


    nach der erfolgreichen Installtion habe ich meinen PI neu gestartet.


    Dann habe ich mich auf der Homebrigde unter dem Plugin "Config UI X" neu eingeloggt, hier ist mir sofort aufgefallen, dass alle meine eigenen Config-Daten meiner Geräte nicht mehr da waren. Die Plugins waren allerdings alle vorhanden. Dann ist mir aufgefallen das der "Speicherpfad" und "Konfigurationspfad" sich verändert hatte.

    Speicherpfad /var/lib/homebridge
    Konfigurationspfad /var/lib/homebridge/config.json



    Nach Standard sollten die Pfade den Ordner "lib" nicht enthalten


    Damit war mir klar warum meine Daten nicht geladen werden konnten.


    Habe zum Übergang ein altes Backup über "Backup/Wiederherstellen" ausgewählt und wiederhergestellt. Damit zumindest meine Geräte ereichbar sind, was soweit alles jetzt geht.


    Jetzt sind die Menüeinstellungen unter "Homebridge Einstellungen" endlich so wie bei dir :)


    Für die zukünftigen Arbeiten und Probelmbehandlungen ist es sinnvoller die Pfade auf deinen Standardpfad zu ändern, wenn dies möglich ist.


    Über deine Hilfe wäre ich hier sehr froh.


    Danke


    Und während du so darüber nachdenkst, was du wie gemacht hast, kannst du die Zeit auch nutzen, dich so schnell wie möglich umzudrehen. Dabei wirst du entdecken, dass niemand aus diesem Forum hinter dir steht und dir dabei zusieht, was du gerade auf deinem Raspi treibst. Wir sind - sogar im 21. Jahrhundert und in der Ära der Goldenen Kommunikationsmöglichkeiten - immer noch darauf angewiesen, dass du dich uns mitteilst.


    Ich verstehe dich da vollkommen und gebe dir natürlich Recht. Ich ärgere mich selber über mich, dass ich diese Fehler immer wieder mache und vieles vergesse.


    Ich bin über dieses Forum so dankbar und vorallem danke ich dir dass ich von dir noch support erhalte.

  • Wenn ich meinen Senf auch mal dazu geben darf, ohne eine Lösung parat zu haben.

    Versuch doch erstmal deine Homebridge so zum Laufen zu bekommen, dass alle Deine Gerärfte und die dazu gehörenden Plugins laufen, anstatt immer wieder neue Baustellen auf zu machen.

    Du solltest auch langsam wissen welche Anforderungen nötig sind um hier Hilfe zu bekommen.

    Hallo Spy


    danke für deine Kritik, das verstehe ich natürlich.


    Soweit habe ich meine Homebrigde und die Geräte wieder zu laufen bekommen. Der Fehler liegt immer noch im ursprung dass ich den Ventilator richtig zum laufen bringen möchte, also leider immer noch die alte Baustelle. Wollte durch das "hp-service" in meine Einstellungen kommen um die Caches zu leeren um zu sehen ob es dann geht. Allerdings sind dadurch leider andere Probleme aufgetretten, es ist aber keine neue Baustelle sondern hängt alles noch zusammen.

  • Jetzt sind die Menüeinstellungen unter "Homebridge Einstellungen" endlich so wie bei dir :)

    Schon mal danke dafür. Jetzt weiß ich, dass die neuen Menüpunkte mit dem hb-service auf den Raspi kommen. Das war mir neu, also vielen Dank für dies Infos.

    Für die zukünftigen Arbeiten und Probelmbehandlungen ist es sinnvoller die Pfade auf deinen Standardpfad zu ändern, wenn dies möglich ist.

    Entweder das oder aber man schafft die Konfigurationsdateien zum neuen Speicherort. Was ich gut finde, ist, dass du schon verstanden hast, dass der Pfad ein wesentlicher Punkt ist.

    Nach Standard sollten die Pfade den Ordner "lib" nicht enthalten

    Was heißt schon Standard - es gibt bei der Homebridge leider keinen oder aber viele. Als ich die Anleitung schrieb, war im ersten Entwurf auch das lib im Pfad drin. Ich habe es dann entfernt, damit die Anleitung etwas erzeugt, das kompatibler zu den im Forum bereits bestehenden Lösungen war, beispielsweise zu den Backup-Tools von det .


    Würde man sich ganz eng an den Linux-Standard halten, dann wäre die Konfiguration ganz woanders und keiner der beiden Pfade würde verwendet werden. Aber wer hält sich schon daran? Ich selbst würde gerne auf Dauer die Forenanleitung ersetzen durch das, was homebridge.io veröffentlich hat und was du installiert hast - ja, dann wäre dein Pfad jetzt schon der richtige.


    So, was machen wir jetzt?

    Lösung 1: Pfad Smartapfel-kompatibel machen (das ist das was du wünschst):

    Der Pfad wird bestimmt durch den Startmechanismus, der die Homebridge startet und stoppt. Du weißt schon, dieses sudo systemctl start homebridge. Dieser Aufruf sammelt in verschiedenen Dateien alle möglichen Parameter zusammen und darunter befindet sich auch der Pfad. Wahrscheinlich steht der Pfad in /etc/default/homebridge


    Also: sudo nano /etc/default/homebridge


    Viel steht da nicht, aber dort stehen zwei Zeilen, die so aussehen sollten.:

    HOMEBRIDGE_OPTS=-I -U "/var/homebridge"

    UIX_STORAGE_PATH="/var/homebridge"


    Check mal ob das bei dir so ist. Wenn nicht, dann ändere es dahin und starte die Homebridge neu.


    Lösung 2: wir benutzen einfach beide Pfade

    Wir machen's so, dass wenn man in dem einen Verzeichnis was ändert, das im anderen auch passiert und zwar in Echtzeit. Reine Magie. Dazu setzen wir einen symbolic link, der von /var/lib/homebridge auf /var/homebridge zeigt. Wenn wir eines Tages die Startapfel-Anleitung so ändern, dass sie kompatibel zu dem hb-service Krempel wird, dann werden wir das so machen, damit man zukünftig einfach beide Pfade verwenden kann. Ich werde hier nicht erklären, wie du das machst, denn während ich dabei möglicherweise auftretende Fehlermeldung einfach wegputze, wirst du daran scheitern. Also besser ein anderes Mal.


    Lösung drei: wir kopieren die Daten vom alten Speicherort zum neuen

    Nä. Das machen wir nicht. Das wäre witzigerweise die richtigste Lösung, aber sie führt dazu, dass du immer einen anderen Pfad zu config.json hast und dir das dann auch noch merken musst.

  • Hallo sschuste


    vielen vielen dank für deine ausführlichen und kompetenten Lösungsvorschläge.


    Habe mich für diesen Lösungsvorschlag entschieden, womit ich dann die beiden Pfade geändert habe und es damit dann alles einwandfrei funktioniert hat.

    Meine Homebrigde funktioniert jetzt mit allen Geräten und dem Menü :)


    Nun ergibt sich nur noch eine Frage, Nun kann ich ja wieder auf meine alten Daten im Ordner "var/homebridge" zugreifen. Durch das vorherige Backup, dass ich nach Toolinstallation durchgeführt hatte, sind die Daten aktuell im Ordner "var/lib/homebrigde" auch nochmal vorhanden. Wie entferne ich das alte Backup damit es nicht doppelt vorhanden ist?

  • Durch das vorherige Backup, dass ich nach Toolinstallation durchgeführt hatte, sind die Daten aktuell im Ordner "var/lib/homebrigde" auch nochmal vorhanden. Wie entferne ich das alte Backup damit es nicht doppelt vorhanden ist?

    Du kannst es auch als Mahnmal dort liegen lassen :P, diese Dateien stören eigentlich nicht. Aber natürlich kannst du die Überflüssigkeit auch mit sudo rm -rf /var/lib/homebridge löschen. Bevor du die Entertaste drückst, überzeuge dich bitte, dass du das richtig geschrieben hast und dass in /var/lib/homebridge keine Leerzeichen enthalten sind.


    rm: Lösch-Befehl

    /var/lib/homebridge: was gelöscht werden soll

    -r: auch darin enthaltende Unterverzeichnisse löschen

    -f: nicht bei jeder Datei, die gelöscht werden soll, noch einmal nachfragen


    Aus rm -r -f wird dann einfach ein rm -rf. Oder rm -fr, ganz nach Belieben.

  • Vielen Dank


    bin deinen schritten gefolgt und habe soweit alles gelöscht. Nach dem Neustart startet die Homebrigde leider gar nicht mehr ... bin schon echt am verzweifeln


    Lt. Log


    Sep 18 11:59:18 raspberrypi systemd[1513]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:18 raspberrypi systemd[1]: Started Homebridge.

    Sep 18 11:59:18 raspberrypi systemd[1516]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:18 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=210/CHROOT

    Sep 18 11:59:18 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.

    Sep 18 11:59:18 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.

    Sep 18 11:59:21 raspberrypi systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.

    Sep 18 11:59:21 raspberrypi systemd[1]: Stopped Homebridge.

    Sep 18 11:59:21 raspberrypi systemd[1]: Starting Homebridge...

    Sep 18 11:59:21 raspberrypi systemd[1518]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:21 raspberrypi systemd[1]: Started Homebridge.

    Sep 18 11:59:21 raspberrypi systemd[1521]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:21 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=210/CHROOT

    Sep 18 11:59:21 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.

    Sep 18 11:59:21 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.

    Sep 18 11:59:24 raspberrypi systemd[1]: homebridge.service: Service hold-off time over, scheduling restart.

    Sep 18 11:59:24 raspberrypi systemd[1]: Stopped Homebridge.

    Sep 18 11:59:24 raspberrypi systemd[1]: Starting Homebridge...

    Sep 18 11:59:24 raspberrypi systemd[1526]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:24 raspberrypi systemd[1]: St

    arted Homebridge.

    Sep 18 11:59:24 raspberrypi systemd[1529]: homebridge.service: Failed at step CHROOT spawning /usr/local/lib/node_modules/homebridge-config-ui-x/dist/bin/hb-service.js: No such file or directory

    Sep 18 11:59:24 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=210/CHROOT

    Sep 18 11:59:24 raspberrypi systemd[1]: homebridge.service: Unit entered failed state.

    Sep 18 11:59:24 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.


    zeigt er mir dauert dies an.


    ich weiß wirklich nicht was der Fehler ist. Hoffe du kannst mir helfen.


    Danke

  • Weiß ich auch nicht. Offenbar hat /var/lib/homebridge noch etwas enthalten, was wohl gebraucht wurde. Tja. Ich würde diesen hb-service einfach nochmal installieren.

  • Hallo zusammen,
    nach einem Neustart meines RBP fiel mir auf, dass das Log folgende Meldung ausgespuckt hat:

    Code
    [2020-9-20 16:59:58] [Config] Initializing config platform...
    [2020-9-20 16:59:59] [Config] *********** Homebridge Standalone Mode Is Depreciated **********
    [2020-9-20 16:59:59] [Config] * Please swap to "service mode" using the hb-service command.  *
    [2020-9-20 16:59:59] [Config] * See https://git.io/JUvQr for instructions on how to migrate. *
    [2020-9-20 16:59:59] [Config] Running in Standalone Mode.

    Die Seite zur Migration habe ich mir angeschaut und soweit verstanden.
    Nun zu meiner Frage / Problem:
    Ich habe für jedes meiner installierten Plugins eine eigene Instanz angelegt. Jede Instanz wird über einen systemd ausgeführt (ich hoffe das ist korrekt ausgedrückt). Was muss ich bei der Migration der weiteren Instanzen beachten?

    Danke und Gruß

  • Ich habe für jedes meiner installierten Plugins eine eigene Instanz angelegt. Jede Instanz wird über einen systemd ausgeführt (ich hoffe das ist korrekt ausgedrückt). Was muss ich bei der Migration der weiteren Instanzen beachten?

    Grüß Dich. Auch wenn es hier keine Rückmeldung hab, mir ist heute auch zum ersten mal diese Meldung aufgefallen im Log. - Please swap to "service mode" using the hb-service command. *See https://git.io/JUvQr for instructions on how to migrate. *


    Hast Du das schon erfolgreich bei Dir umgesetzt?

    Ich trau mich da gerade noch nicht so ran und weiß nicht, ob die Umsetzung ein wirklicher Mehrwert für mich ist. Auch wenn ich natürlich gerne auf dem aktuellen Stand der Möglichkeiten wäre durch hb-service.


    Bei mir läuft Homebridge mit den Angaben.



    sschuste Was meinst Du denn generell zu dem Thema hb-service?

    Hilfreich?

  • sschuste Was meinst Du denn generell zu dem Thema hb-service?

    Das läuft bei mir, aber ich habe mich noch nicht richtig damit beschäftigt. Grundsätzlich finde ich, dass wir die Startapfel-Anleitung so umbauen, dass sie der homebrigde.io-Anleitung folgt. Das hat natürlich Folgen: möglicherweise sind dann die Setups nach der alten Anleitung nicht mehr so richtig kompatibel, und auch die Tools von det müssten wohl angepasst werden.


    Das ist also keine Hauruck-Aktion. Aber auf Dauer ist es wohl notwendig, dass wir alle mit hb-service arbeiten.

  • Hat das inzwischen schon jemand umgesetzt und kann berichten ob das problemlos funktioniert? Meine homebridge ist nach der Anleitung von sschuste aufgesetzt. Wahrscheinlich werd ich mal besser warten bis der Meister selbst seine Erfahrungen schildert.

    Ich habe das gemacht. Das ging völlig ohne jegliche Probleme. Einiges bleibt gleich, anderes ändert sich.


    Zur Installation habe ich den Befehl

    sudo hb-service install --user homebridge --port 8080 -U /var/homebridge

    verwendet.


    Was gleich bleibt:

    • Die Plugin-Installation wird durch die Änderung nicht berührt.
    • Die Plugin-Konfiguration (also config.json) wird durch die Änderung fast nicht berührt. Es ändert sich die Konfiguration für homebridge-config-ui-x, der Rest sieht genauso aus wie vorher.
    • Die Konfiguration befindet sich weiterhin in /var/homebridge. Das liegt daran, dass ich diesen Pfad in oben erwähnten Befehl angegeben habe.

    Was sich ändert:

    • Die Homebridge kann nicht mehr mit sudo systemctl restart homebridge gestartet werden. Stattdessen muss der Befehl hb-service restart verwendet werden.
    • Das Log kann auf der Shell nicht mehr mit sudo journalctl -fau homebridge aufgerufen werden. Stattdessen wird das Log in /var/homebridge/homebridge.log abgelegt und man kann es sich dann auf der Shell mit less /var/homebridge/homebridge.log oder für eine Live-Ansicht mit tail -f /var/homebridge/homebridge.log anschauen.
    • Es gibt offenbar neue Menüpunkte in homebridge-config-ui-x oben rechts unter den drei Punkten. Man kann beispielsweise dort den Homebridge-Cache verwalten.

    Mit multiplen Instanzen habe ich mich nicht beschäftigt, weil ich die nicht einsetze.

    2 Mal editiert, zuletzt von sschuste ()

  • Vielen Dank, das klingt gut. Ich habe nur eine Instanz, daher für mich kein Thema.


    Die Deinstallationsschritte wie in dem Link oben?


    Jow, das läuft alle soweit ich das sehen kann mit dem neu installierten hb-service. Die einzelnen Optionen und Möglichkeiten muss ich mir dann mal etwas genauer anschauen.


    Danke erstmal :thumbup:

    Einmal editiert, zuletzt von DJay () aus folgendem Grund: Ein Beitrag von bubffm mit diesem Beitrag zusammengefügt.

    • Das Log kann auf der Shell nicht mehr mit sudo journalctl -fau homebridge aufgerufen werden. Stattdessen wird das Log in /var/log/homebridge.log abgelegt und man kann es sich dann auf der Shell mit less /var/log/homebridge.log oder für eine Live-Ansicht mit tail -f /var/log/homebridge.log anschauen.

    Habe jetzt auf meinem BackupPi (nach unserer Anleitung installiert) auch mal die Umstellung gewagt.

    Das hat prima geklappt. Was nicht läuft ist die Anzeige des Logs mit less und tail.

    Mit sudo geht es auch nicht. Habe ich da was falsch verstanden?

    Code
    pi@pi-backup:~ $ tail -f /var/log/homebridge.log
    tail: '/var/log/homebridge.log' kann nicht zum Lesen geöffnet werden: Datei oder Verzeichnis nicht gefunden
    tail: Keine Dateien mehr übrig
    pi@pi-backup:~ $


  • Habe ich da was falsch verstanden?

    Nö. Ich hab was Falsches geschrieben. Es muss heißen:

    tail -f /var/homebridge/homebridge.log


    Habs oben schon verbessert. Danke für das Finden meiner Fehlerchen :D