homebridge-config-ui-x | Webinterface für Homebridge

  • Ah ok. Stört ja auch nicht weiter. Solange das ui nicht wirklich die 16gb beansprucht. :D

  • Moin,

    leider ist es bei mir "mal wieder" so weit...

    Habe alles nach der Anleitung hier installiert (Vielen lieben dank für den Autor dieser Anleitung), es lief auch schon einmal alles nur nachdem ich ein neues Plugin installiert habe, homebridge-mi-flower-care, es #ausGründen nicht lief, danach deinstalliert habe, bekomme ich diesen Fehler.

    Lustigerweise funktioniert der befehl "homebridge" als user Pi 1a mit der Config, nur wenn ich es als dienst starte wie in der Anleitung beschrieben, bekomme ich diesen Fehler.



    Ich bin leider wirklich Ratlos und hoffe auf ein wenig Hilfe von den Experten.

    Beste Grüße und schon einmal vielen Dank!

  • was steht bei dir in

    /etc/systemd/system/homebridge.service bei

    User=

    da sollte pi stehen

    und das Daten Verzeichnis in /etc/default/homebridge

    HOMEBRIDGE_OPTS=-I -Q -C -U /var/homebridge


    dahin die config.json von /Home/pi/.hombridge kopieren

    (Sicherung nicht vergessen)

    :)

  • Hi,


    ich habe aktuell die Version 3.9.1 am laufen, bis dato alles perfekt, nur seid heute Morgen sucht das Plugin nach neuen Updates.


    Dadurch ist die Hb gestoppt und keine Geräte funktionieren mehr.


    Wie kann ich das Problem lösen bzw. habt ihr das selbe Problem?

  • Zumindest heute Morgen ging bei mir alles völlig problemfrei. Das Problem tritt auf, wenn das Plugin npmjs.com nicht erreichen kann, um nach Updates für die Plugins zu suchen. Allerdings hat das bei mir noch nie die Homebridge gestoppt.


    Übrigens, die aktuelle Version von homebridge-config-ui-x ist 4.4.5. Mit dieser Version kann man das Plugin auch so einrichten, dass es losgelöst von der Homebridge läuft. Damit erreicht man, dass die beiden sich gegenseitig nicht mehr blockieren können.


    Stefan

  • Ich bekomme gerade die nNachricht im Log das nicht smehr angezeigt werden kann, da über 500 Zeilen offen sind. Habe bei NPM in den Instruktionen des Plugins nachgelesen wie ich den Log purgen kann, bin aber nicht ganz schlau geworden. Könnte mir da jemand auf die Sprünge helfen?


    Besten Dank


  • Ich bekomme gerade die nNachricht im Log das nicht smehr angezeigt werden kann, da über 500 Zeilen offen sind.

    Nein, die Meldung hast du nicht bekommen. Da steht, dass journalctl 500 Zeilen des Logfiles anzeigen wollte und das nicht tun konnte, weil bereits zu viele Dateien offen sind. Journalctl konnte also die eine, die es braucht, nicht mehr zusätzlich öffnen (um die 500 Zeilen daraus anzuzeigen).


    Kein schöner Fehler. Er sagt aus, dass dein Raspi überlastet ist durch zu viele Prozesse, die viele Dateien öffnen. Da muss jetzt ein Linux-Profi ran, der herausfindet, welche Dateien und Prozesse das sein könnten. Ich würde mit dem berühmten Befehl ps aux anfangen, falls man sich überhaupt noch auf der Büchse einloggen kann, aber um das Ding wieder zum Laufen zu bekommen, startest du den Raspi einfach neu.


    Die Frage ist, ob und wann das wieder auftritt.


    Stefan


    PS: Ich sehe gerade, dass ich exakt das gleiche Problem habe.

    Einmal editiert, zuletzt von sschuste ()

  • Laufen tut sonst eigentlich alles, war etliche Std. auf der Konsole und habe sehr viel mit Bash-Scripten rumgemacht (und auch Fortschritte gemacht), wahrscheinlich war ihm das alles zu viel...


    Neustart wirds richten


    PS: Ich sehe gerade, dass ich exakt das gleiche Problem habe.

    =O

  • PS: Ich sehe gerade, dass ich exakt das gleiche Problem habe.

    So, das ps aux zeigte die Prozessliste, also eine Liste aller Prozesse, die auf dem Raspi laufen an. Ein Prozess war direkt auffällig, weil er mehr als 120 Mal lief:

    Code
    root     32379  0.0  0.3   8840  3268 pts/72   Ss+  Jun10   0:00 sudo -n journalctl -o cat -n 500 -f -u homebridge
    root     32384  0.0  1.0  57560 10200 pts/72   S+   Jun10   0:00 journalctl -o cat -n 500 -f -u homebridge

    Alle Prozesse wurden am 10. Juni gestartet und keiner der Prozesse verbrauchen keine CPU-Zeit. Ich habe keinen blassen Schimmer, warum das passiert. Ich bin den Spuk dann wieder los geworden durch ein:


    sudo killall journalctl


    Ich werde das weiter beobachten. Mal sehen, ob das erneut passiert.


    Stefan

  • Ich werde das weiter beobachten. Mal sehen, ob das erneut passiert.

    Es passiert. Immer, wenn das Log über homebridge-config-ui-x aufgerufen wird, wird der Prozess gestartet, der das Log liest (journalctl -o cat -n 500 -f -u homebridge) und nicht wieder beendet. Irgendwann laufen dann soviel Prozesse, dass sie die obige Fehlermeldung auslösen.


    Der Neustart von homebridge-config-ui-x beendet die Prozesse wieder.


    Ich werd mal den Entwickler fragen.


    Stefan

  • Danke, weil ich hatte nämlich auch den starken Verdacht dass das mit Config-ui-x zusammenhängt, habe aber die Fehlermeldung falsch interpretiert. Hatte halt während meines Testens mit Scripten ständig das Log offen...


    Nach Neustart ist "ps aux" hier unauffällig.

  • Ah! Das könnte das Problem sein, daß ich dauernd alles im config-ui-x log im Browser doppelt oder dreifach sehe.

  • So, ich habe jetzt Lösungen für homebridge-config-ui-x (Webinterface für Homebridge) (nach einer Weile kann homebridge-config-ui-x die Logs nicht mehr anzeigen).


    Ich weiß nicht, ob mir diese Lösung gefällt. Unsinn: ich weiß, dass mir diese Lösung nicht gefällt. Das Problem wird erzeugt durch das Zusammenspiel von homebridge-config-ui-x und der Forenanleitung zur Installation von homebridge.


    Die Lösungen sind:

    • nix weiter unternehmen und wenn der Fehler wieder auftritt, homebridge neu starten. Gleichzeitig darauf warten, dass der Entwickler von homebridge-config-ui-x den Fehler in den Griff bekommt.
    • Die Rechte des Users homebridge erweitern. Das gefällt mir gar nicht. Wer es aber unbedingt machen will, der gehe so vor:


    sudo visudo -f /etc/sudoers/homebridge


    Ganz hinten anhängen: , /bin/kill


    So dass das Ganze so aussieht:

    Code
    homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/local/bin/node, /bin/kill


    Das macht mich sehr unglücklich. Ich bin mir noch nicht sicher, ob ich dass in die Forenleitung einbauen werde. Ich glaube nicht.


    Ok, diesen Schnellschuss streiche ich wieder grußlos, aber nicht ohne Ersatz. Auf der Shell eingeben:

    sudo usermod -a -G systemd-journal homebridge


    Dann muss die config.json bearbeitet werden. In der Konfiguration für homebridge-config-ui-x muss der Teil, der sich um das Log kümmert, verändert werden. Jetzt steht dort:


    "log": {

    "method": "systemd",

    "service": "homebridge"

    },


    Das wird ersetzt durch:

    Code
                "log": {
                    "method": "custom",
                    "command": "journalctl -o cat -n 500 -f -u homebridge -u homebridge-config-ui-x"
                },


    Dann homebridge neu starten. Ich werde die Anleitung entsprechend anpassen.


    Stefan

    Einmal editiert, zuletzt von sschuste ()

  • sschuste weiß man wodurch das genau getriggered wird? Also wo genau der bug vom Plugin mit der Anleitung zusammen liegt?

  • weiß man wodurch das genau getriggered wird? Also wo genau der bug vom Plugin mit der Anleitung zusammen liegt?

    Ja. Der Programmierer von homebridge-config-ui-x startet den Prozess sudo -n journalctl -o cat -n 500 -f -u homebridge -u homebridge-config-ui-x, um die Ausgabe davon im Webinterface anzuzeigen. Klickt man dann auf einen anderen Bereich im Webinterface wie zum Beispiel den Config-Editor oder die Status-Seite, dann wird der Prozess journalctl mit sudo -n kill -9 wieder gestoppt.


    Die Konfiguration der Forenanleitung lässt aber den Befehl kill mit root-Rechten (also per sudo) nicht zu. Er wird zwar ausgeführt, aber er schlägt fehl, was das System verschweigt, weil sudo mit dem Parameter -n aufgerufen wurde. Der Parameter steht für "keine Ausgabe, auch wenn etwas schief geht". Man bekommt also nicht mit, dass journalctl nicht beendet werden konnte.


    So läuft journalctl also weiter, und wenn man wieder auf die Loganzeige klickt, wird ein weiteres Mal journalctl gestartet. Das passiert jedes Mal, und so nach ungefähr 125 Mal ist dann Feierabend: journalctl beschwert sich über fehlende file descriptors und anstatt des Logs wird eine Fehlermeldung angezeigt:

    Code
    Loading logs using "systemd" method...
    CMD: sudo -n journalctl -o cat -n 500 -f -u homebridge
    
    Failed to get journal fd: Too many files open
    
    The log tail command "-n journalctl -o cat -n 500 -f -u homebridge" exited with code 1.
    Please check the command in your config.json is correct.

    Wenn man dann die Prozessliste aufruft, sieht man die Bescherung:

    Ein Neustart von homebridge-config-ui-x beendet alle Prozesse und das Spiel beginnt von vorn.


    Hier kannst du die ganze Diskussion nachlesen:

    https://github.com/oznu/homebridge-config-ui-x/issues/321


    Stefan

  • Herzlichen Dank für die Anpassung und die ausführlichen Erläuterungen. :thumbup:

  • Hallo liebe Community,


    ich habe Homebridge auf einem QNAP NAS mit Docker und dem oznu Image laufen.

    Nun würde ich gerne homebridge config UI zum laufen bekommen.



    Meine Config des Containers sieht wie folgt aus, siehe Anhang.

    Das Problem mit der wechselnden MAC-Adresse habe ich auch umgangen, in dem ich beim erstellen des Containers eine feste MAC vergeben habe.

    Installiert habe ich das Plugin über npm - install homebridge-config-ui-x.


    Wenn ich versuche über den Browser localhost:8080 aufzurufen, erhalte ich immer Seite nicht erreichbar.


    Kann mir hier jemand sagen, was ich hier falsch gemacht habe bzw. vergesse habe?