Beiträge von sschuste

    Da steht, dass der Host registry.npmjs.org mit der IP-Adresse 104.16.16.35 nicht funktioniert. Er lehnt einen Verbindungsaufbau auf Port 443 ab (connection refused), was eindeutig darauf hinweist, dass der Webserver-Prozess auf registry.npmjs.org nicht läuft. Das einzige, was hoffentlich läuft, ist ein Admin bei npmjs.org, der das repariert. Solange wirst du dich gedulden müssen.


    Stefan

    Ich schlage folgendes vor: du kopierst deine config.json, die du weiter oben in Beitrag #81 hier gepostest hast und ersetzt damit deine aktuelle config.json. Ich nehme an, dass sich in deiner Konfiguration irgendwelche nicht sichtbaren Zeichen befinden, die der JSON-Parser nicht leiden kann.


    Hört sich merkwürdig an, aber wir hatten das alles schon mal hier, auch wenn es lange nicht mehr vorgekommen ist. Vielleicht hilft's ja.

    Dec 03 19:45:22 raspberrypi homebridge[29942]: [12/3/2019, 19:45:22] [BraviaPlatform] Error writing cookie file to undefined. Add a cookiepath parameter to config.json to specify the path. Note that you specify the FILE path, not the folder.

    Da steht's. Füge zwischen den Zeilen "name": "TV", und "ip": "192.168.5.92", diese Zeile ein:


    "cookiepath": "/var/homebridge/sonycookie",

    Kannst Du mir noch sagen in was für einer Verbindung das dann steht das dann meine Geräte alle auf keine Antwort stehen, das Plugin ist doch eigentlich nur für die Benutzeroberfläche oder?

    Die Homebridge startet das Plugin, und wenn das Plugin nicht gestartet werden kann und dabei Fehler erzeugt werden, dann kann auch die Homebridge nicht starten und beendet sich wieder. Das steht da ja auch: Got SIGTERM, shutting down Homebridge.... Wenn du keine laufende Homebridge hast, dann antworten halt die daran angeschlossenen Geräte auch nicht..


    Die Verbindung lautet also: Nur eine laufende Homebridge funktioniert.


    Danach sollte es dann wieder gehen oder?

    Bloß nicht ausprobieren. Das bringt nur neue Erkenntnisse.


    Wollte das Log kopieren aber leider ohne Erfolg darum der Screenshot

    Woran scheiterst du da? Log anhalten mit crtl-c, dann markieren, kopieren und hier einfügen.


    Stefan

    Versuch mal ein:


    sudo systemctl stop homebridge

    sudo find /var/homebridge -type f -exec chmod 664 {} \;

    sudo find /var/homebridge -type d -exec chmod 775 {} \;

    sudo chmod 755 /var/homebridge

    sudo chown -R homebridge:homebridge /var/homebridge

    sudo systemctl restart homebridge; sudo journalctl -fau homebridge


    Stefan

    Wenn ich das so mache wie in der Anleitung, dann zeigt der TV mir KEINEN Pin Code an. Also wenn ich über die console per "homebridge" die Applikation starte.

    Das sollst du ja auch nicht. Wenn du deine Homebridge nach der Foren-Anleitung gebaut hast, lautet der richtige Befehl homebridge -U /var/homebridge.


    Jemand ne Idee?

    Ja. Zeig mal das Log vor.

    Wieso sschuste noch /usr/bin/ davor hat erschließt sich mir jetzt nicht.

    Weil's ordentlicher ist. Das Programm gatttool liegt im Verzeichnis /usr/bin. Eigentlich reicht es, einfach nur gatttool aufzurufen, denn das Verzeichnis /usr/bin ist Teil des Suchpfades, in dem die Shell nach Programmen sucht. Den Suchpfad kann man sich anzeigen lassen mit echo $PATH. Im Suchpfad stehen oft viele Verzeichnisse, die in der Reihenfolge abgesucht werden, wie sie gelistet sind, und dabei wird dann der erste Treffer genommen.


    So ein Pfad kann so aussehen:

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


    Die einzelnen Verzeichnisse sind durch Doppelpunkte getrennt. Bei Eingabe eines Kommandos wie gatttool sucht die Shell erst in /usr/local/sbin, dann in /usr/local/bin, dann in /usr/sbin, dann in /usr/bin, danach in /sbin und letztendlich in /bin. Das Programm wird dabei in /usr/bin gefunden, gestartet und der Suchlauf an dieser Stelle abgebrochen.


    Hätte man das Programm zweimal auf dem Rechner, beispielsweise in /usr/bin und in /usr/local/bin, dann würde es aus dem Verzeichnis /usr/local/bin gestartet, weil dieses im Pfad vor /usr/bin liegt. Zweimal will man ein Programm eigentlich nicht auf dem Rechner haben, aber das kann immer wieder mal passieren, ohne dass man es merkt.


    In Konfigurationen oder in cron-Jobs gebe ich den gesamten Pfad zum Programm an, hier also /usr/bin/gatttool, damit ich sicher sein kann, dass genau dieses gestartet wird und nicht irgendein anderes gatttool, das versehentlich irgendwo herumgammelt. Das ist eigentlich der einzige Grund.


    Um herauszufinden, wo ein Programm im Suchpfad gespeichert ist, verwendet man den Befehl which Programmname, hier also

    which gatttool.


    Stefan

    1. Verbinden mit dem Raspberry Pi über SSH Terminal
    2. Homebridge stoppen
    3. sudo npm cache clean -f
    4. sudo npm install -g n
    5. sudo n 9.3.0 (Versionsnummern zu finden auf https://nodejs.org/en/download/releases/)
    6. sudo npm install -g --unsafe-perm homebridge@latest
    7. sudo npm i npm@latest -g
    8. sudo reboot
    9. Neu verbinden mit dem Raspberry Pi über SSH Terminal
    10. cd /usr/local/lib/node_modules/
    11. sudo npm rebuild --unsafe-perm. (Achtung geht sehr lange)
    12. cd
    13. Homebridge -I


    Könnte ich es nach dieser Anleitung machen?

    • Schritt 5 solltest du ersetzen durch sudo n lts. Das installiert die neueste LTS-Version von node.
    • Schritt 6 wird nicht notwendig sein. Du hast schon die neueste Version von Homebridge.
    • Schritt 7 kann man machen, aber auch lassen.
    • Schritt 8 machen nur Leute, die auch Omas in die falsche Richtung schicken, wenn die nach dem Weg fragen. Das ist ein Linux-Computer, nicht einer mit Windows.
    • Schritte 9-12 sind nicht notwendig. Weglassen und nur dann ausführen, wenn die Homebridge nach dem Update nicht mehr läuft (was nicht der Fall sein wird).
    • Schritt 13 wird fehlschlagen, weil homebridge falsch geschrieben ist. Und wenn es richtig geschrieben wäre, würde es für Fehler sorgen. Schritt 13 muss heißen: sudo systemctl restart homebridge. Mit "muss heißen" meine ich: MUSS heißen. Muss, muss, muss. Muss.


    Daraus kochen wir also ein:

    sudo n lts

    sudo systemctl restart homebridge

    Weiter machen.


    Stefan

    So:


    In‘s Bett gehen -> Auslöser Erschütterungssensor erkennt Erschütterung -> Bedingung Bewegungssensor hat Bewegung erkannt -> Auslösung Szene „Gute Nacht“

    Aufstehen -> Bedingung Bewegungssensor erkennt Bewegung -> Bedingung Erschütterungssensor hat Erschütterung erkannt -> Auslösung Szene „Guten Morgen“

    Ich fürchte, so wird man den Rest seines Lebens nur noch One-Night-Stands haben.

    Einfach das Bild als JPG auf dem Pi unter "/home/pi/" speichern und dann in der config.json den Pfand angeben, siehe:


    Code
    "loginWallpaper": "/home/pi/sonne.jpg",

    Das funktioniert möglicherweise nicht mit der Smartapfel-Anleitung. Das Wallpaperbild liegt besser in /var/homebridge.


    Also mit scp so vorgehen, wie von 0rangeX beschrieben, dann auf den Raspi einloggen und das Bild an den Zielort verschieben:


    sudo mv Bild.jpg /var/homebridge

    sudo chown -R homebridge:homebridge /var/homebridge


    Danach die Konfiguration vornehmen:

    Code
    "loginWallpaper": "/var/homebridge/Bild.jpg",

    Stefan