Beiträge von sschuste

    Gestern ist mir aufgefallen, dass das HUE Plugin das Drücken auf den PushLink Button gefordert hat. Nachdem ich das getan hatte, lief alles wunder. Aber jetzt ist es wieder so, dass mir meine Geräte unter der HomeApp nicht angezeigt werden. Ich gehe davon aus, dass es wieder mit dem HUE Plugin zutun hat.

    Hast du die Userdaten in die Konfiguration des Plugins eingetragen? Ansonsten wirst du nach jedem Neustart der Homebridge aufgefordert, den Push-Button zu drücken.


    Falls du nicht weißt, was du getan hast oder meine Frage nicht verstehst, dann zeige uns doch mal die Konfiguration deines Hue-Plugins oder die gesamte Konfiguration der Homebridge.

    Disclaimer: Wow! Beim Erstellen dieses Themas warnen mich die Forenmoderatoren ausdrücklich, dass sie meinen Account sperren werden, wenn ich nicht vor dem Erstellen meines Beitrags die Suchfunktion des Forums verwende. Ich gebe hiermit aufmüpfig zu, dass ich das nicht getan habe und jetzt hier einfach mal losposte. Vorsichtshalber sag ich an dieser Stelle schon mal "lebt wohl!", wer weiß, was die Zukunft bringt.


    Ich trage schon seit einiger Zeit den Wunsch vor mir her, mit einer einfachen Lösung das Homebridge-Backup etwas sicherer zu machen. Ich verwende die Backup-Funktion von homebridge-config-ui-x, weil ich die sehr elegant finde. Aber das Backup von homebridge-config-ui-x landet halt auf dem Raspi selbst. Das ist keine zuverlässige Lösung, und sie versagt sofort, wenn sich die SD-Card leise weinend verabschiedet, und von Hausbrand, Diebstahl oder neuerdings Flut wollen wir erst gar nicht reden.


    Daher stelle ich hier mal eine Lösung vor, die ein Backup der Homebridge auf die Dropbox kopiert und das auch noch automatisch.


    Gut, mag der eine oder andere einwenden, Dropbox geht gar nicht, man kann doch nicht einfach so seine Daten in die weite Welt verstreuen. Das ist ein Argument, dass ich nicht von der Hand weisen will. Und es ist jedermanns eigene Entscheidung, mit den eigenen Daten das zu treiben, was sie oder er möchte. Meine Entscheidung war die, dass ich es trotzdem tue, weil ich die Dropbox für sicher genug halte und in meiner Homebridge-Konfiguration keine wichtigen Passwörter existieren, sondern halt nur der API-Key für den Wetterserver. Und selbst wenn, wär's mir egal.


    Einige werden sich fragen, wozu man noch ein Homebridge-Backup benötigt, wenn die eigene Hütte gerade brennend den Main runtertreibt. Auch diese Frage kann ich verstehen, aber ich kontere sie mit einem einfachen "tja, was man hat, das hat man".


    Aber warum Dropbox und nicht iCloud? Die Wahrheit ist, dass ich keine Lösung für den Raspi gefunden habe, mit dem man (un)bequem auf die iCloud zugreifen kann und die man automatisieren kann. Ich selbst habe mir zwar eine Lösung dafür gebaut, aber sie ist nicht besonders schön und birgt eine Menge Fehlermöglichkeiten.


    Wie dem auch sei: angehängt findet ihr ein PDF, das den Setup-Prozess für die Dropbox beschreibt. Es ist mir gelungen, aus den kargen vier Zeilen Original-Anleitung in englischer Sprache ein 11-seitiges Dokument in deutscher Sprache zu machen. Das muss mir erst einmal einer nachmachen. Dafür ist die Anleitung bebildert und man kann sie natürlich auch ausdrucken und jemandem unter den Weihnachtsbaum legen.


    Ich würde mich freuen, wenn die eine oder der andere mal draufschaut. Wer das nachbauen will, ist absolut willkommen, mich auf Fehler in der Anleitung aufmerksam zu machen. Es sind bestimmt welche vorhanden.

    Was habe ich da gemacht nur so Interesse halber?

    Das Plugin homebridge-hue wird wie alle Plugins in ein eigenes Verzeichnis installiert. Das macht man mit dem Befehl npm. Kennst du.


    In dem Verzeichnis befindet sich nach der Installation der Code von homebridge-hue plus alle Programme, die homebridge-hue noch so braucht. Der Name dieses Verzeichnisses lautet /usr/local/lib/node_modules/homebridge-hue.


    Der rm-Befehl (remove) löscht Dateien und Ordner. Du hast diesen Befehl auf das homebridge-hue_Verzeichnis angewendet und dabei die beiden Parameter -r und -f angegeben. Der Parameter -r steht für rekursiv. Das bedeutet, dass das Verzeichnis /usr/local/lib/node_modules/homebridge-hue samt aller Unterordner und Dateien von der Platte geputzt wird. Der Parameter -f steht für force, also sozusagen für mit Gewalt, was dafür sorgt, dass ohne weitere Nachfrage und völlig erbarmungslos alle Dateien von homebridge-hue gelöscht werden (und auch alles, was mit homebridge-hue noch so installiert wurde). Und da bleiben dann nicht mal mehr rauchende Überreste zurück.


    Nachdem homebridge-hue so von deinem Raspi entfernt wurde als wäre es nie da gewesen, hast du es dann mit npm wieder installieren können. Der Fehler, den du hattest, tritt gelegentlich auf (was er nicht sollte). Ich kann dir nicht sagen, warum das so ist. Aber mit dem fetten Holzhammer draufkloppen hilft in diesen Fällen immer.

    Versuche:


    sudo su -

    npm install -g --unsafe-perm homebridge-hue

    exit


    Wenn das nicht hilft, dann versuche:

    sudo rm -rf /usr/local/lib/node_modules/homebridge-hue

    sudo npm install -g --unsafe-perm homebridge-hue

    Nach der Installation werden euch die Geräte angezeigt, die noch nicht hochgeladen wurden und von denen wir denken, dass es sich nicht um Homebridge-Geräte handelt.

    Tatsächlich werden alle Homebridge-Geräte ausgeblendet. Zu sehen sind aber alle Geräte, die an einer Node Red-Bridge hängen. Und das sind wie bei der Homebridge ja keine richtigen Geräte, sondern auch nur irgendwelche Plugins samt Konfiguration.


    yannic Wenn ihr die auch ausblenden könnt und das auch wollt, welche Information bräuchtet ihr dann von mir?

    Evtl. hat das ja bereits jemand schon im Einsatz.

    Ich nicht. Ich habe gar keine child bridges im Einsatz. Aber ich habe eben ein bisschen herumgespielt und folgendes herausgefunden:


    Wenn man eine child bridge einsetzt, dann

    • taucht sie in der Prozessliste des Raspi als "homebridge: homebridge-pluginname" auf, also beispielsweise als homebridge: homebridge-fakebulb (wie in meinem Test) oder als homebridge: homebridge-camera-ffmpeg (wahrscheinlich ist das dein Prozessname, ich weiß es nicht genau)
    • kann man den Prozess mit dem kill-Befehl abschießen
    • startet die child bridge nach ein paar Sekunden selbstständig neu

    Prozesse anzeigen mit:

    ps aux | grep homebridge

    homebri+ 16160 32.4 4.9 317304 193712 ? Sl 09:31 0:19 homebridge

    homebri+ 16206 4.9 1.3 169052 53200 ? Sl 09:31 0:02 homebridge: homebridge-fakebulb

    pi 16411 0.0 0.0 7348 568 pts/0 S+ 09:32 0:00 grep --color=auto homebridge


    Der Prozess homebridge ist die main bridge, und homebridge: homebridge-fakebulb ist die child bridge.


    Prozess killen mit:

    sudo kill `pidof "homebridge: homebridge-fakebulb"`


    Bitte hier darauf achten, dass die `auch wirklich `sind und nicht etwa ' oder ´. Also accent grave.

    Also per SSH eingeloggt,

    Wo eingeloggt? Auf dem Mac?


    Ich lese im Log: EROFS: read-only file system


    Du versuchst etwas auf ein Dateisystem zu schreiben, auf das man nicht schreiben kann. Da passiert, weil es vielleicht ein CD-ROM ist oder weil es schreibgeschützt ist oder wahrscheinlicher: weil's kaputt ist.


    Ein Neustart des Gerätes, auf dem du installieren willst, sollte das Problem beheben. Der Neustart kann länger dauern als gewohnt.

    Marcel_84

    Zwischen 8 bis 5 geht nicht. Du wandelst im Schritt davor das Datum in eine Zahl um und formatierst sie in ein eigenes Format "HH", also eine zweistellige "Stunden"-Zahl. Im nächsten Schritt, bei dem Wenn-Befehl rechnest du mit dieser Zahl. Sowohl wir in der Schule als auch ein Computer hat gelernt, dass es zwischen 8 und 5 logischerweise keine Zahl gibt, zwischen 5 und 8 aber sehr wohl.

    Das ist in meinen Augen sehr ungewiss. Wir wissen nicht, was sich Apple bei der Bedingung "zwischen" gedacht hat. Der menschliche Verstand würde die folgenden Fragen beide mit "das ist wahr" beantworten:

    • Liegt 6 zwischen 5 und 8? Ja!
    • Liegt 6 zwischen 8 und 5? Ja!

    Wenn wir aber diese Fragen erweitern und die Zahlen als Uhrzeit betrachten, dann sind die Antworten in unseren Köpfen andere:

    • Liegt 6 Uhr zwischen 5 Uhr und 8 Uhr? Ja!
    • Liegt 6 Uhr zwischen 8 Uhr und 5 Uhr? Nein!

    Wir können davon ausgehen, dass unsere iPhones trotz aller KI-Versprechen strunzdumm sind und derartige Überlegungen im Leben nicht anstellen. Was macht also die Bedingung "zwischen"? Muss man ausprobieren. Wahrscheinlich passiert da folgendes:

    JavaScript
    if (zahl > 5 && zahl < 8) {
        // hier steht der Programmcode, der ausgeführt wird,
        // wenn zahl größer als 5 und kleiner als 8 ist. 
        // Beispielsweise sowas wie 
        setDevice("sleepingRoomLamp", "ON");
    }

    Und dabei ist es dem Computer völlig egal, ob da

    if (zahl > 5 && zahl < 8 {

    oder

    if (zahl < 8 && zahl > 5) {

    steht.


    Sobald aber die Uhrzeit dazu kommt, ist es eben nicht mehr egal.

    Ich würd gern für morgens beim aufstehen auch noch so eine Automation machen, sprich wenn das IPhone vom Ladegerät getrennt wird.

    Freitag, 17. Dezember 2021, sieben Uhr morgens. Noch 84 Minuten bis Sonnenaufgang. Es ist stockdunkel in meinem Schlafzimmer. Um das Licht einzuschalten, muss ich nur mein iPhone vom Ladegerät trennen. Wo ist es... meine Hand tastet suchend auf dem Nachtisch herum. Da! Nee, ist die Brille. Ah! Dann muss es das hier sein.


    Klappernd fällt meine Tetris-Lampe in sich zusammen. "Oh, Mann!!! Hey Siri, schalte das verdammte Licht an!" - "Ich kann kein Gerät mit dem Namen 'verdammte Licht' finden."


    🤯