Beiträge von sschuste

    Solange homebridge im Pfad liegt, ist es doch egal sein, ob man über init.d oder systemctl startet, oder? Bei der Eingabe von homebridge und dem anschließenden Drücken der Returntaste :D sollte homebridge doch seinen Output direkt auf die Konsole ausgeben.


    Ich habe vor 20 Jahren viele Handbücher geschrieben und da gelernt, dass manche Leute Stunden vor dem Terminal saßen und warteten, dass etwas passiert. Passierte aber nix, weil sie die Returntaste nicht gedrückt hatten und es auch nirgendwo stand, dass sie das tun sollten. Heutzutage gibt es viele Anwender, die noch nie Befehle in eine Shell eingegeben haben. War ja auch nicht notwendig. Im tiefsten Inneren glaube ich trotzdem noch, das die Returntaste gelegentlich erwähnt werden sollte ^^


    Stefan

    Mach das. Billiger hab ich das Set in Deutschland auch nicht bekommen. Der Vorteil der Komplettlösung ist ja, dass du gleich alles beisammen hast. Die SD-Karte muss für homebridge auch nicht die schnellste sein, das meiste spielt sich eh im RAM ab. Empfehlenswert ist der Kauf einer zweiten SD-Karte, auf der man ein Backup vorhalten könnte.


    Stefan

    Leider habe ich mir das alles etwas einfacher vorgestellt. Ich wollte ein Plugin installieren, jetzt kommt die Meldung: Lade Plugin, ca 20 s.

    Offenbar benutzt du die iPhone-App zur Installation. Wenn du es unbedingt einfacher haben willst, dann fädle einen Faden mit verbundenen Augen auf Anhieb in eine Nadel ein.


    Die App ist nicht sonderlich hilfreich, wenn es um eine Fehleranalyse geht. Die Meldung "Lade Plugin, ca. 20 s" bedeutet offenbar, dass das Plugin geladen wird oder dass es nicht geladen wird. Die App zeigt mir beispielsweise an, dass meine Homebridge läuft, wenn ich beim Rewe an der Wursttheke stehe, und genau dort hat mein iPhone überhaupt keinen Internet-Empfang (und darüber hinaus: die App funktioniert sowieso nur im eigenen Netz).


    Haarspalterisch gesehen ist nicht der Raspi die Bridge, sondern die homebridge-Software, die auf dem Raspi läuft. Hat man diese Software mit HomeKit gepairt, wird sie auf dem iPhone als nicht erreichbar angezeigt, sobald:

    1) der Raspi ausgeschaltet ist

    2) der Raspi keine Netzwerkverbindung hat

    3) homebridge auf dem Raspi nicht gestartet oder wieder gestoppt wurde

    4) homebridge wegen fehlerhafter Konfiguration nicht starten kann


    Letzteres ist die häufigste Fehlerquelle. Und was schiefgelaufen ist, steht meist im Log. Und am allereinfachsten ist es, sich über ein Terminalprogramm einzuloggen und homebridge mit der Hand zu starten, in dem man dort einfach homebridge eingibt und die Returntaste drückt. Mach das mal. Eine Flut von Bildschirmausgaben ist die Folge. Oder auch nicht. Egal was, du kannst den Output mit Copy&Paste hier ins Forum werfen und werden wir dir helfen, die Kiste ans Laufen zu bekommen. "Lade Plugin, ca. 20 s" ist ein bisschen zu knapp für brauchbare Hilfe. Oder geh einfach zum Rewe an die Wursttheke, denn dort wird dir die App immer verraten, dass deine Homebridge wunderbar läuft ;)


    Stefan

    Ich hab mich damit nur ganz kurz beschäftigt, also keine fünf Stunden, und habe es vom Raspi aus nicht zum Laufen bekommen. Ob per homebridge-wol oder per shell commands - keine Chance. Der Mac pennt weiter.


    Also habe ich mir so beholfen: ich rufe vom Raspi aus ein shell script auf dem Mac (192.168.1.20) auf:


    ssh [email protected] /Users/homebridge/wakemac.sh


    Das Skript wakemac.sh sieht so aus:

    Bash
    #!/bin/bash
    echo "Waking up..."
    caffeinate -u -t 1


    Und so schläfere ich ihn auch ein oder fahr ihn ganz runter:


    ssh [email protected] /Users/homebridge/sleepmac.sh


    was das hier macht:

    Bash
    #!/bin/bash
    pmset sleepnow

    Nicht schön, aber passt so.


    Stefan

    Stumpf die Lösung zu präsentieren halte ich für keine optimale Lösung. <br>Wie soll da die zukünftige Administration aussehen?</p>

    Es wird keine Administration geben, so simpel ist das. Außerdem ist das hier ein Homebridge-Forum und nicht der Administrationskurs Teil III.

    Man kann natürlich alles immer vorkauen und auf dem Silbertablett servieren.


    Wieder nix gelernt.

    Ach komm. Json ist am Anfang immer etwas unhandlich, und ich habe es auch nur gelernt, weil ich mir das json-Zeugs von anderen angesehen und mit meinem verglichen habe. Du schreibst doch selbst "Und grundsätzlich schauen, wie eine Json Config aussieht." Wo ist nun der Unterschied, ob man erst Google anschmeißt oder es hier liest?


    Außerdem sehe ich eindeutig einen Lernprozess. Cosmodors Frage "heißt Quasi ich kann mir das extra "Platform" sparen ?" weist eindeutig darauf hin, und ich erspare mir sogar, sie zu beantworten :D


    Gruß

    So ist es besser:

    Ich stufe das mal als harmlose Fehlermeldung ein, wüsste aber gerne etwas über die Bedeutung und warum die entsteht.

    Das weiß ich nicht. npm und node.js sind nichts, was ich irgendwie verstehe und ich bin zu faul, um mich damit hinreichend zu beschäftigen.


    Zunächst handelt es sich nicht um einen Fehler, sondern um eine Warnung. Ich ignoriere sowas solange, bis es wirklich Probleme bereitet :D

    Nein, kein mkdir, sondern nur sudo nano ~/etc/sudoers.d/homebridge.


    Jaja, die Pfade. Standard. Das sprechen wir jetzt gemeinsam aus und dann lachen wir ein bisschen. Ich hab zwei Raspis und zwei Homebridges, und auf beiden sind die Pfade unterschiedlich. Es ist sehr wahrscheinlich, dass die Pfade in meiner obigen Konfiguration auch für dich stimmen. Man kann's aber auch vorher nachchecken mit:


    which npm (sollte so etwas wie /usr/local/bin/npm anzeigen)

    which node (sollte so etwas wie /usr/local/bin/node anzeigen)

    ls -l /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/nsp/bin/nsp (sollte eine Datei anzeigen)


    Entweder befinden sich das Zeugs in /usr/local/lib und /usr/local/bin oder aber in /usr/lib und /usr/bin. Mit which kann man das herausfinden.


    systemctl und journalctl sind immer in /bin.


    Was das starten von homebridge angeht: ich logge mich als pi ein und starte mit sudo systemctl start homebridge. Meine Homebridge wird aber unter dem User homebridge gestartet. Der User homebridge wird festgelegt in /etc/systemd/system/homebridge.service. Startest du per initd, dann wird er festgelegt in /etc/init.d/homebridge.


    Was das automatische Starten angeht - mit einfachen Worten: der Rechner wird sozusagen mit root-Rechten gestartet. Das heißt, dass alle Startskripte von root ausgeführt werden. Nur root darf beispielsweise einen Service starten, der auf einem Port < 1024 lauscht, beispielsweise einen Webserver auf Port 80 oder einen Mailserver auf Port 25. So einem wie pi ist derartiges Treiben verboten.


    Das ist sehr vereinfacht ausgedrückt, bessere Informationen liefert https://wiki.ubuntuusers.de/Bootvorgang/. Die wesentliche Aussage ist aber richtig: beim Booten werden die Startskripte von root ausgeführt.


    Was das manuelle Starten angeht: natürlich kann man sich auch als User homebridge einloggen und dann starten. Da würde es dann sogar ohne sudo gehen. Als root sollte man sich nicht einloggen können. Aber was interessieren die Homebridge-Szene schon krude Sicherheitsstandards auf Linuxmaschinen :rolleyes:. Sind hier natürlich auch nicht so wichtig, aber nur solange, bis das Wundertöchterchen vom Smartphone aus die Büchse hackt, weil das root-Passwort "geheim" lautet.


    Ich kann mich nur als pi einloggen, weil ich weder das Passwort für den User homebridge kenne noch das für root.


    Stefan

    "USER: homebridge

    DIR: /usr/local/lib/node_modules

    CMD: sudo -E -n npm --no-update-notifier install --unsafe-perm homebridge-http@latest


    sudo: Ein Passwort ist notwendig

    Hast du dem User homebridge die Rechte eingeräumt, sudo überhaupt benutzen zu dürfen?


    Lege die Datei /etc/sudoers.d/homebridge an mit diesem Inhalt:

    Code
    homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/local/bin/node /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/nsp/bin/nsp check


    Hier wird festgelegt, das der User homebridge die Rechte hat, die oben aufgeführten Befehle mit root-Rechten auszuführen. Bitte achte darauf, dass die Pfade stimmen.


    Sollte das zu keinem Erfolg führen, dann gib dem User homebridge für alle Befehle die root-Rechte (unelegant, weil dicker Hammer auf kleinen Nagel). Gleiche Datei wie oben, aber mit diesem Inhalt:


    Code
    homebridge ALL=(ALL) SETENV:NOPASSWD: ALL


    Du kannst das testen, indem du dich als User homebridge auf dem Raspi einloggst und auf der Shell den Installationsbefehl sudo -E -n npm --no-update-notifier install --unsafe-perm homebridge-http@latest eingibst. Geht es dort ohne Passwort, dann kann's auch config-ui-x.


    Gruß

    Ok, hier kommt wirklich was durcheinander. Meine Tipps zur Neuinstallation:


    1) Es kommt darauf an, welcher User die Plugins installiert oder Homebridge startet. Homebridge legt seine Konfigurationsdateien im Homeverzeichnis des ausführenden Anwenders an, was prinzipiell ein blöder Quatsch ist. Bei meiner ersten Installation ergab sich das gleiche Durcheinander wie bei dir jetzt. Teile der Konfiguration waren in /root/.homebridge, andere in /home/pi/.homebridge. Grauenhaft. Das darf nicht passieren.


    2) Ich würde immer versuchen, eine Installation so zu machen, dass nicht root, sondern der User pi oder ein anderer User homebridge ausführt. Das bedeutet, dass die Konfiguration in /home/pi/.homebridge oder halt in /home/andereruser/.homebridge liegt und niemals in /root/.homebridge. Noch besser ist es, die Dateien würden außerhalb der Homeverzeichnisse liegen.


    3) Man kann homebridge den Pfad angeben, wo es die Konfiguration suchen soll. Das geht mit dem Parameter -U, also homebridge -U /home/pi/.homebridge oder wie bei mir homebridge -U /var/lib/homebridge. Festgelegt wird das im Startscript /etc/init.d/homebridge oder in /etc/default/homebridge, je nach dem ob man homebridge mit sudo /etc/init.d/homebridge start oder sudo systemctl start homebridge startet. Damit ist man immer auf der sicheren Seite, wo die Konfigurationsdateien ausgelesen werden.


    4) Plugins sollten immer global installiert werden. Das heißt, dass der Installationsbefehl npm immer mit der Option -g verwendet wird, also beispielsweise sudo npm install -g homebridge-config-ui-x oder npm install -g --unsafe-perm homebridge-config-ui-x. Lässt man das -g weg, landet das Plugin wieder im Homeverzeichnis.


    Hat man das Ding erstmal am Laufen, dann läuft homebridge wirklich prima. Aber die eigentliche Hürde ist die Installation, und da staunt nicht nur der Linux-Neuling. Ich benutze Linux in professionellen Umgebungen seit 1998, und ich hab's beim ersten Mal auch nicht hinbekommen.


    Viel Erfolg, und bei Fragen fragen.

    Kann es evtl sein das man sich nicht mit User Pi sondern mit Root anmelden muss ? dafür habe ich das Passwort nicht und konnte es per Befehl auch nicht ändern weil das Programm zum ändern das alte will..

    @sschuste Config X hatte ich auch schon instaliert aber beim versuch mich anzumelden leider keinen Erfolg gehabt user: Admin PW: Admin. Danch ging gar nix mehr und ich musste Raspi neu aufsetzen ;(

    Werde es aber nochmal testen .

    Grüsse Max

    Wenn die Konfiguration im Homeverzeichnis von root liegt, dann kannst du als User pi nicht darauf zugreifen. Das Passwort von root änderst du so:


    Einloggen als pi, dann

    sudo su -

    passwd


    Möglicherweise geht es dann immer noch nicht, weil sich root nicht per ssh auf den Raspi einloggen darf. Um es zu erlauben, muss du die Einstellungen für den sshd ändern:


    sudo nano /etc/ssh/sshd_config


    Dann die Zeile suchen, die mit #PermitRootLogin beginnt und unter diese Zeile eine neue einfügen, die so aussieht:

    PermitRootLogin yes


    Abspeichern, Editor verlassen, sshd neu starten mit service ssh reload. Auf die App glotzen.


    (Disclaimer: ich heiße es nicht für gut, den Login für root freizuschalten, lieber Hammer -> Daumen, aber jetzt soll erstmal irgendwie irgendwas funktionieren.)


    Der von dir angegebene Username und das Passwort für config-ui-x sind falsch. Richtig ist admin und admin. Deine Fehlerbeschreibung "Danach ging gar nix mehr" interpretiere ich so, dass der Raspi nicht mehr funktionierte und gleichzeitig der Herd in der Küche seine Arbeit einstellte, sowie auch das Auto in der Garage, die Straßenbeleuchtung und das örtliche Elektrizitätswerk, eigentlich alles, bis gar nix mehr ging.


    Ehrlich, so war's doch, oder? Wenn nicht, dann noch ein Tipp: man Dinge auch reparieren, indem man die Änderungen in config.json rückgängig macht. ;)


    Stefan

    Ich kenne diese Kamera nicht und setze auch keine andere ein, aber ich liebe schon mal ihre Beschreibung bei Amazon:

    • 5 megapixel OV5647 Sensor ,für bis zu 2 Infrarot LED und/oder Gefüllte Flash
    • Raspberry Pi Nacht Vision Kamera, für alle Korrigieren des Pi

    Fantastisch! Fast so gut wie die Gerte des Singweisengriffers.


    Ich kann also nur theoretisch fabulieren, aber ich würde es versuchen mit homebridge-people und homebridge-cmd. Ersteres löst per Automation eine Szene aus, die zweiteres triggert. Soll heißen: sobald homebridge-people eine Anwesenheit oder Abwesenheit bemerkt, schaltet ein Szene homebridge-cmd auf on und startet damit ein Skript auf dem Raspi, das die Kamera steuert.


    Stefan

    Ein Blick ins log ist möglicherweise hilfreich. Auskunft erteilt entweder


    sudo systemctl restart homebridge; sudo journalctl -fau homebridge oder

    sudo /etc/init.d/homebridge restart; tail -f /var/log/daemon.log oder

    sudo /etc/init.d/homebridge restart; tail -f /var/log/syslog


    Je nachdem wie du deine Homebridge konfiguriert hast. Falls du nur ins log schauen willst, ohne die Homebridge neu zu starten, dann verwende nur den Teil nach dem Semikolon. Abbruch der Anzeige mit ctrl-c (strg-c).


    Stefan