Homebridge Installationsanleitungen

  • Guten Abend,


    habe jetzt etwas Zeit gefunden und konnte den Pi + Homebridge entsprechend der Anleitung mit Hilfe von PuTTY einrichten. Bin jetzt bis zum Punkt "Ein Homebridge-Plugin mit homebridge-config-ui-x installieren und konfigurieren" gekommen.


    Vielen Dank dafür!


    Als nächstes muss ich jetzt den Shelly 2.5 an die Rollladensteuerung anschließen und in Homebridge einbinden. Ich hoffe, dass das auch so gut funktioniert.


    DIe automatische Anmeldung per ssh ohne EIngabe von Benutzername und Passwort hat aber auch bei mir nicht geklappt.

  • DIe automatische Anmeldung per ssh ohne EIngabe von Benutzername und Passwort hat aber auch bei mir nicht geklappt.

    Geht aber grundsätzlich. Die Keys werden unter Windows und PuTTY mit puttygen.exe erzeugt.


    Ich kann im Detail nicht helfen. Es ist lange her, dass ich das mal auf einer Windows-Maschine gemacht habe. Obwohl ich schon seit über 30 Jahren in der Computerbranche arbeite, habe ich nur zwischen 2005 und 2008 einen Windows-Computer verwendet. Privat hab ich so ein Ding noch nie besessen. Daher war ich nicht in der Lage, die Anleitung an den entsprechenden Stellen auch für Windows-Anwender zu schreiben.


    Vielleicht hilft dir das weiter:

    https://www.windowspro.de/thom…lic-key-authentifizierung

    https://www.howtoforge.de/anle…rte-ssh-logins-mit-putty/

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Wenn's gar nicht gehen will, dann verwende einfach das Passwort, um dich einzuloggen. Für den Betrieb von Homebridge ist es unerheblich, wie du auf deinen Raspi draufkommst.

  • Bekomme seit kurzen immer das Befehl das ich ein Passwort setzen soll.

    Ich habe daran nie was geändert , sollte doch Passwort Standart sein?

  • Bekomme seit kurzen immer das Befehl das ich ein Passwort setzen soll.

    Ich habe daran nie was geändert , sollte doch Passwort Standart sein?

    Wenn du die Forenanleitung zum Aufsetzen verwendet hast, liegt es daran, dass ich das geändert habe. Denn dann ging das Neustarten des Raspi per Weboberfläche noch nie. Hab ich da nicht eingebaut, was darauf zurückzuführen ist, dass ich der Meinung bin, dass man Linux-Computer einfach nicht neu startet.


    Ich dachte dabei: wenn man Computer gerne neustartet, dann kauft man sich doch am besten einen vom Marktführer, oder?


    Aber wenn dein Herz dran hängt, dann kannst du hier nachlesen, wie das gemacht wird. Fängt so in der Mitte des Beitrags an. Erst lesen, dann nachmachen. Ich selbst habe das auf meinem Raspi nicht so konfiguriert: wenn ich den mal neustarten will, dann logge ich mich darauf ein und gebe ein sudo reboot ein - als Zeichen meins Willens, das wirklich zu tun. Wenn er schon sterben soll, dann sollte ich mich schon ein bisschen anstrengen, ich alter Romantiker.

  • EDIT: Ich war zu voreilig: Mit sudo chown -R homebridge /home/homebridge/.ssh/ konnte ich den Owner korrigieren. Damit kann auch das HB Plugin als user "homebridge" WOL etc. mittels ssh with keys ausführen. ;)




    Hallo und guten Abend,

    ich habe nach langer Zeit meine Raspi nach dieser Anleitung (die super ist!) neu aufgesetzt und meine üblichen PlugIns wieder installiert. Unter anderem auch das "Homebridge Wol" von @alexgustafsson.


    Seit je her wecke und beende ich damit verschiedenen Geräte über SSH with Keys. Die SSH Keys dafür sind auch auf dem Raspi, allerdings für den user pi. Bisher lief meine alte Homebridge auf dem Raspi auch unter dem user.


    Die neue Installation nach dieser Anleitung hier läuft ja unter dem user "homebridge". In seinem home liegen aber bisher nicht die Schlüssel. Ich kann sie auch nicht so einfach dort hinkopieren da ich das PW des users "homebridge" nicht weiß!? Mit sudo geht das dann zwar, aber dann stimmen die Rechte bzw. der Eigentümer für den Key für das ssh wieder nicht.

    Vielleicht hat freundlicherweise jemand von Euch den richtigen Ansatzpunkt für mich? Übers Terminal als user "pi" klappen die ssh with keys Befehle wunderbar.

    Vielen Dank!


    Dirk

    2 Mal editiert, zuletzt von diwiesign ()

  • Ich habe doch nochmal eine Frage. Zwischenzeitlich hatte ich auch einmal das HOOBS Image am Laufen. Ich war eigentlich recht zufrieden damit. Bis vor eine Weile homebridge anfing nach ca. 6-9 Stunden täglich abzustürzen und ich den Service jedesmal neu starten musste. :/;(

    Was ich an HOOBS aber sehr zu schätzen gelernt habe, ist das im UI eingebaute Terminal! :):love: Feine Sache! :thumbup:


    Gibt es denn irgendeine Möglichkeit das im normalen Homebridge Image mit homebridge-config-ui-x irgendwie nachzurüsten? :/ Das wäre super!

    Vielen Dank,
    Dirk

  • Die aktuellen Versionen vom config-ui-x haben auch schon laenger ein Terminal integriert!

  • Gibt es denn irgendeine Möglichkeit das im normalen Homebridge Image mit homebridge-config-ui-x irgendwie nachzurüsten?

    Hier gibt es ein PDF, das das beschreibt: Homebridge-Tweaks


    Siehe Seite 18 im PDF.

  • Sorry wenn ich das nicht gleich selbst gefunden habe, aber das HB Thema ist doch schon sehr komplex.

    Ich baue das demnächst mal direkt in die Anleitung ein, damit wir hier mit Hoobs mithalten können :D


    Ich hab das jetzt mal in die Anleitung mit eingebaut. Jetzt können wir mit Hoobs mithalten :D

    Einmal editiert, zuletzt von sschuste ()

  • EDIT: Schon wieder mein Versäumnis. =O8) Habe mich in die Irre leiten lassen da in den UI Settings vor dem journalctl Befehl kein sudo stand. Entscheidend ist aber wohl der Parameter "sudo": false. Der stand bei mir doch noch auf true. Sorry, das ich den Thread hier so vollspamme, aber vielleicht hilft selbiges bei der Suche ja noch einmal jemanden anders. ;)



    Ist es denn möglich die folgenden Meldungen aus dem Log zu bekommen?

    Code
    homebridge : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/kill -9 588
    pam_unix(sudo:session):session opened for user root by (uid=0)
    pam_unix(sudo:session):session closed for user root

    Ich habe gelesen warum diese auftreten und auch das mit folgendem Abhilfe geschaffen werden kann:

    Zitat

    Abhilfe hat geschaffen, dass der Loganzeigeprozess ohne sudo aufgerufen wird, also nur mit journalctl -o cat -n 500 -f -u homebridge. Damit das geht, muss sich der User homebridge in der Usergruppe systemd-journal befinden. Und in der Konfiguration von homebridge-config-ui-x muss dann die Logmethode von systemd auf custom umgestellt werden.

    Nur obwohl der Aufruf nicht mit sudo geschieht und die Log Method auf "Custom Command" steht, kommt bei jedem Wechsel der Register mit Log-Anzeige diese Meldung im Logfile. Auch in der entsprechenden Gruppe ist der user bereits.

    Code
    homebridge@raspberrypi:/var/homebridge $ id homebridge
    uid=1001(homebridge) gid=1001(homebridge) groups=1001(homebridge),20(dialout),29(audio),44(video),101(systemd-journal),112(bluetooth),997(gpio)

    Mmmh. Irgendwas mache ich noch falsch!? :/;( Vielleicht hat jemand von denen die sich wirklich damit auskennen einen Anhaltspunkt für mich? ;)

    Vielen Dank,
    Dirk

    Einmal editiert, zuletzt von diwiesign ()

  • Ist es denn möglich die folgenden Meldungen aus dem Log zu bekommen? Code
    homebridge : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/kill -9 588
    pam_unix(sudo:session):session opened for user root by (uid=0)
    pam_unix(sudo:session):session closed for user root

    Diese Meldungen sind ja keine Fehler, sondern Hinweise darauf, dass der User homebridge etwas mit root-Rechten ausführt.


    "sudo": true bedeutet, dass der User homebridge das Programm sudo nutzen darf. Und das benötigt er, um Prozesse mit root-Rechten zu starten, beispielsweise um Plugins in ein Verzeichnis zu installieren, das nur root beschreiben darf oder um einen Neustart des Raspi auszuführen. Das sollte unbedingt auf true stehen.

    Nur obwohl der Aufruf nicht mit sudo geschieht und die Log Method auf "Custom Command" steht, kommt bei jedem Wechsel der Register mit Log-Anzeige diese Meldung im Logfile. Auch in der entsprechenden Gruppe ist der user bereits.

    Darf ich mal sehen, was das Ergebnis von ps aux | grep homebridge ist?

  • Und das benötigt er, um Prozesse mit root-Rechten zu starten, beispielsweise um Plugins in ein Verzeichnis zu installieren, das nur root beschreiben darf oder um einen Neustart des Raspi auszuführen. Das sollte unbedingt auf true stehen.

    Autsch. Dann muss das natürlich wieder retour.


    Darf ich mal sehen, was das Ergebnis von ps aux | grep homebridge ist?

    Na-ka-la. ;)

    Code
    homebridge@raspberrypi:/var/homebridge $ ps aux | grep homebridge
    homebri+   346  1.9  6.7 150080 63676 ?        Ssl  13:13   1:06 homebridge
    homebri+   543  1.1  6.9 266928 65884 ?        Sl   13:13   0:37 homebridge-config-ui-x
    homebri+  4939  0.0  0.0   7480   520 pts/0    S+   14:09   0:00 grep --color=auto homebridge
    homebridge@raspberrypi:/var/homebridge $

    Danke für Deine Unterstützung!

  • Prima, so soll es aussehen. Deine Homebridge läuft wie vorgesehen.

  • Hallo.


    Ich habe heute versucht meine Homebridge zu installieren.

    Das ging soweit gut und jetzt zum Abschluss geht es leider nicht.

    Homebridge startet nicht.Die Log Datei ist:


    Das sind 2 Sachen dabei die sind Dick. Ich denke das sind die Fehlermeldungen oder?

    Was sagt mir das?

    Code
    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'.
  • Das Log startet mit dieser Zeile:

    Mar 15 13:53:18 raspberrypi systemd[1]: Started Node.js HomeKit Server.


    Das ist der einzige Urknall, der dich interessiert. Alles Wichtige kommt danach.


    Die Zeilen davor stehen da, weil jemand die Homebridge gestoppt hat (deine Frau? Dein Nachbar? Russische Hacker?). Diese Zeilen sind ungefähr so wichtig wie die Nachrichten von gestern und eindeutig vor dem Urknall entstanden.


    Die letzte Zeile in deinem Log hier lautet:

    Mar 15 13:53:19 raspberrypi homebridge[4234]: [3/15/2020, 13:53:19] Homebridge is running on port 51826.


    Also erst Started Node.js HomeKit Server, dann Homebridge is running. Dazwischen kann ich keine Fehler entdecken. Nur grenzenlose Langeweile: Loaded config.json with 0 accessories and 0 platforms.


    Gruß

  • 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.

    Code
    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.

    Code
    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.

    Code
    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