Beiträge von sschuste

    Ja. Auf die Homebridge greift du mit einem Browser zu. Mit dem kannst du auch Google aufrufen oder jede beliebige Website in Süd-Timbuktu. Sowohl Google als auch die Website in Timbuktu liegen außerhalb deines Netzes.


    HomeKit geht aber nicht über deinen Router hinaus. Apple verwendet für HomeKit mDNS (die selbst nennen oder nannten es Bonjour) und das funktioniert wohl nur lokal.

    Nur zur Info. Das ist jetzt hier völlig Off-Topic und ich werde mich auch nur einmal dazu äußern.


    Docker stellt eine Umgebung bereit, in der Docker-Images laufen können. Ein Docker-Image ist so was ähnliches wie ein Image, das man auf eine SD-Karte brennt. Während man nur ein einziges normales Image auf eine SD-Karte brennen kann (weil das nächste Image würde das erste überschreiben), können viele Docker-Images in einer Docker-Umgebung auf einem Computer laufen.


    Ein Image, das man auf eine SD-Karte brennen kann, ist nicht kompatibel zu einem Docker-Image. Ein Docker-Image wird auch nicht auf eine SD-Karte gebrannt, das ist auch technisch nicht möglich. Es wird dem Docker-Programm gegeben und das macht aus dem Image einen Container. Der Container beinhaltet meist nur ein einziges Programm (meist Server-Software) und von dem darum benötigten Betriebssystem nur das allernötigste. Prinzipiell könnte man das Image als Installationsdatei bezeichnet, während der Container das laufende Produkt aus dem Image ist.


    Alle laufenden Container laufen völlig unabhängig voneinander und stören sich nicht gegenseitig.


    Wenn man so wie ich viele Programme auf dem Raspi laufen lässt, dann kann man sie natürlich ganz klassisch einfach nebeneinander installieren. So hab ich das Jahrzehnte gemacht (ja, ich bin alt). Während man in den 80ern noch genau wissen musste, wo welche Libs liegen und wie welche Abhängigkeiten wie und wo gelöst werden müssen (ätzend!), kamen Ende der 90er die Packages, die man mit Paketmanagern wie apt-get installieren kann. Die haben alle Abhängigkeiten mitinstalliert und je mehr Packages man installierte, desto voller wurde die Maschine. Das hat manchmal zu Inkompatibilitäten geführt. Heute kann man mit Docker diese Probleme vermeiden.


    Docker hat so seine Vor- und Nachteile.

    Vorteile:

    • Übersichtlicher bei vielen Services
    • Einfacher bei Backup und Restore - ich muss mir nicht für jeden Service merken, was ich brauche und was nicht - das war mein eigentlicher Antrieb
    • Services stören sich nicht gegenseitig
    • Leichte Installation

    Nachteile:

    • Was Neues lernen müssen
    • Verbraucht mehr RAM als die Einzelinstallation, wenn auch nur wenig, aber immerhin
    • Update von Programmen oft nur möglich, indem ein neueres Image installiert wird und damit umständlicher

    So, das war jetzt Off-Topic genug. Niemand zuhause braucht Docker wirklich, um eine Homebridge zu betreiben.

    Wie ist das denn bei euch?

    Vor einigen Tagen sollte bei mir das Backup um 1:41 Uhr gemacht werden, die angegebene Uhrzeit war aber 1:42 Uhr. Hört sich plausibel an, letztere Uhrzeit wird wohl nach dem Erstellen des Backups geschrieben und der Backup-Vorgang dauert somit eine Minute.


    Inzwischen soll das Backup um 6:40 Uhr stattfinden. Ich habe vor zwei Tagen meine Homebridge neu gestartet. Es sieht ganz danach aus, als würde dann auch die geplante Backup-Uhrzeit neu gesetzt. Ich hab das jetzt nicht weiter getestet.


    Mir ist es ziemlich egal, wann das Backup gemacht wird, denn meine Homebridge-Konfiguration ändert sich ja eh nicht. Und wenn, dann ändert sie sich nicht sehr.


    Ich betreibe meine Homebridge mittlerweile als Docker-Container auf dem Raspi und mein Backup besteht aus der Sicherung des Homebridge-Docker-Volumes. Das kopiere ich per rsync auf meinen Mac und von dort wandert es in die iCloud. Das bedeutet, dass ich im Falle eines Restore das automatische Homebridge-Backup gar nicht benötige.

    Aber nicht immer wenn ich das Fenster in der Küche öffne soll auch die Dunstabzugshaube angehen (Weil ich evtl. gar nicht gerade koche).

    Davon ist ja auch nicht die Rede. Die Dunstabzugshaube soll nur eingeschaltet werden können, wenn das Fenster offen ist. Wie oder ob die Dunstabzugshaube eingeschaltet wird, ist eine andere Sache.

    Du musst unterscheiden zwischen einer Gruppe und einer Szene. Eine Szene umfasst eine Anzahl von Geräten, von denen einige eingeschaltet, andere dagegen ausgeschaltet und manche auf einen bestimmten Wert gedimmt werden. Beispielsweise könnte die Szene "Weihnachten" im Esszimmer den Baum einschalten und in der Küche das Licht ausschalten.


    Die Szene bringt also Geräte in einen bestimmten Zustand und da bleiben sie, bis sie durch eine andere Szene oder durch selektives Schalten in einen anderen Zustand gebracht werden.


    Eine Gruppe beinhaltet Geräte, die irgendwie zusammengehörig sind, beispielsweise Büroleuchten. Man erhält also einen Schalter, mit dem dann mehrere Geräte gleichzeitig gesteuert werden können. Ich habe eine Stehlampe, die drei smarte Birnen hat ("oben", "mittig", "unten"). Diese habe ich zur Gruppe "Stehlampe" zusammengefasst. Damit kann ich jetzt alle Birnen gleichzeitig an- und ausschalten, aber auch gleichzeitig dimmen.


    Warum bei dir die Schaltung nicht manuell vorgenommen werden kann, aber per Siri: frag Apple. Meine Lösung für derartig merkwürdige Phänomene lautet immer warten. Irgendwann ruckelt sich HomeKit immer irgendwie ein. Aber was du versuchen solltest ist, die Szene zu entfernen und deine Steckdosen zu gruppieren.

    So sieht der aktuelle Code aus und könnt ihr mir sagen, wie genau der Code aussehen muss, damit ich mir selbst verschiedene Schalter bauen kann?

    Der Schalter beginnt mit der öffnenden geschweiften Klammer hinter der öffnenden eckigen (nach accessories:). Er endet mit der letzten schließenden geschweiften Klammer vor der schließenden eckigen.


    Als erstes markierst du den Schalter, beginnend mit der geöffneten geschweiften Klammer bis hinunter zur schließenden geschweiften Klammer. Siehe unten den Bereich in Fettschrift. Dann kopieren.


    {
        "platform": "BroadlinkRM",
        "name": "BroadlinkRM",
        "accessories": [
    {
               "name": "Example Light",
                "type": "light",
                "data": {
                    "on": "2600fc001a1c1a1c1a1c1a1c1a1c1b1b1b1b361c1a1c1a1c1b1b1b371a000aac1b1b1b1c1b1b1b1b1b1b1b1b1b1b371b1b1b1b1b1b1b1b371b000aab1c1a1c1a1c1a1c1c1a1c1a1c1a1c361a1c1b1b1c1a1c1a361c000aac1a1c1a1c1b1b1b1b1b1b1b1c1b1b361b1b1b1b1c1a1c1b361b000aac1a1c1a1c1b1b1b1b1b1b1c1a1c1a361c1b1b1b1b1c1a1c361a000aad1b1b1b1b1b1b1b1b1b1c1b1b1b1b361b1b1b1b1c1b1b1b361b000aac1b1c1a1c1b1b1b1b1b1b1b1c1a1c361b1b1b1b1b1b1c1a371b000aac1b1b1b1b1b1b1c1b1b1b1b1b1b1b361c1b1b1b1b1b1b1b361b000aac1c1a1c1b1b1b1b1b1b1c1a1c1a1c361b1b1b1b1b1b1c1a371b000d0500000000000000000000",

                    "off": "6009c00191c1b1b1a1c1a1c1c1a1c1b1b1b361b1b37361b1b1b1b000ac61c1a1c1b1b1b1a1d191d1a1c1a1c361b1b36351d1a1c1b000ac61b1b1c1a1c1a1c1a1c1a1c1c1a1c361a1c36361c1a1c19000ac81a1c1b1b1b1b1b1b1c1b1b1b1b1b361b1b37361b1b1b1b000ac61b1b1c1b1b1b1b1c1a1c1a1c1a1c361b1a37361c1a1c1a000ac81a1c1a1c1a1c1a1c1b1c1a1c1b1b351c1b37351c1b1b1b000d0500000000000000000000",

                    "SL": "26009c001a1b1b1b1b1c1a1c1a1c1b1b1b1b361b1b371a1c361b1a000ac81b1b1b1b1b1b1b1c1b1b1b1b1b1b361b1c361a1c361b1b000ac71a1c1a1c1b1b1b1b1c1a1c1a1c1a371b1b371a1c361b1a000ac81a1c1a1c1b1b1a1c1b1b1b1b1b1c361b1b361a1c361c1a000ac71a1c1b1b1b1b1b1b1b1b1b1c1b1b361b1b361a1d351c1b000ac61b1b1c1a1b1b1c1a1c1a1b1c1b1c351b1c361b1b361b1b000d050000000000000000000",

                    "brightness60": "BRIGHTNESS60_HEX_CODE",
                    "brightness100": "BRIGHTNESS100_HEX_CODE",
                    "hue20": "HUE20_HEX_CODE",
                    "hue60": "HUE60_HEX_CODE",
                    "hue100": "HUE100_HEX_CODE",
                    "white": "WHITE_HEX_CODE"
    }
    } <- Hier kommt das Komma hin
    ]
    }


    Hinter die letzte schließenden Klammer des Schalters setzt du ein Komma und drückst die Entertaste. Jetzt fügst du an dieser Position den kopierten Schalter ein. Als name schreibst du was anderes hin als "Example Light".

    Ok. Ich hatte etwas völlig anderes erwartet. Wie ich sehe, spielt es keine Rolle, ob man die Web-Konsole oder eine Verbindung per ssh verwendet.


    Möglicherweise kommst du weiter, wenn den Suchpfad für Programme erweiterst. Gib ein


    export PATH=/opt/homebridge/bin:$PATH


    und versuche dann


    sudo npm uninstall -g homebridge

    sudo npm install -g --unsafe-perm homebridge


    Warnung: ich rate hier nur herum. Erstelle unbedingt ein Backup per Web-Oberfläche, bevor du loslegst.

    Da ich nicht weiß, was genau du bislang getrieben hast, schreib ich hier mal hin, was du hättest tun sollen und dann vergleichen wir mal.


    1. Homebridge-Image runterladen, auf die SD-Card bringen, Raspi damit starten, Weboberfläche aufrufen. Das scheint ja bei dir geklappt zu haben.
    2. Auf die Web-Oberfläche einloggen. Dort nichts anderes tun als das Backup einspielen. Dabei wird die Konfiguration der Homebridge und aller Plugins wiederhergestellt plus alle Plugins werden installiert.
    3. Auf dem iPhone/iPad wird nichts verändert. Es wird beim Homebridge-Gefummel zu nichts gebraucht, wenn man vom Testen absieht.
    4. Homebridge neustarten.

    Folgendes sollte passieren: ob du deine Homebridge ausschaltest oder sie vom Netz trennst oder sie ist kaputt, spielt für HomeKit erstmal keine Rolle. HomeKit merkt sich, dass da mal irgendwas war und wartet darauf, dass es wiederkommt. Sobald die Homebridge wieder erreichbar ist, wird sie einfach wieder benutzt.


    Das ist nur der Fall, solange auf dem iPhone nichts verändert wurde. Damit meine ich nicht, dass irgendwelche Automationen neu erstellt oder irgendwelche Szenen verändert wurden. Das soll heißen, dass du die Homebridge nicht vom iPhone entfernt hast.


    Ist bei dir irgendwas anders gelaufen als hier beschrieben?

    pi@homebridge:~ $ sudo npm uninstall -g homebridge-config-ui-x

    Versuch das mal nicht über eine ssh-Verbindung zum Raspi, sondern über die Weboberfläche innerhalb der Konsole.


    Ich kann mir kaum vorstellen, dass das oben angegebene Kommando helfen wird.. Das deinstalliert und installiert nämlich die Weboberfläche. Ich würde es mit


    sudo npm uninstall -g homebridge

    sudo npm install -g --unsafe-perm homebridge


    versuchen.

    Kann ich nicht reparieren. Es sieht so aus, als sei auf dem Raspi laufen. die Node-Version nicht geeignet für da verwendete Betriebssystem des Raspi. Das Problem hatten vor einer Weile eine Menge Leute. Es trat auf, nachdem die Node-Version auf dem Raspi geupdatet wurde.


    Tatsächlich würde ich an dieser Stelle vorschlagen, deine jetzige Homebridge nahezu vollständig zu vergessen und von vorn zu beginnen. Tatsächlich ist die Installation der Homebridge heutzutage ein Klacks. Was weniger schön ist, ist die Konfiguration. Wir sollten also die bestehende Konfiguration retten und danach den Raspi löschen.


    Wenn ich es bis hierhin richtig verstanden habe, hast du nur eine Homebridge laufen. Dazu gehört eine Konfigurationsdatei. In dieser sind alle konfigurierten Geräte definiert und auch die Homebridge selbst. Sonst hast du nichts weiter auf dem Raspi installiert, oder?


    Ich gehe mal davon aus, dass du kein Backup der Homebridge hast. Wenn ja, wie wurde das gemacht? Wenn nein, dann gib auf dem Raspi bitte den Befehl


    sudo find / -name config.json


    ein. Der Befehl sucht die Konfigurationsdatei auf deinem Raspi. Bei der Suche wird es (unwichtige) Fehlermeldungen geben. Poste das Ergebnis hier.

    Es ist immer relevant, einen Mac zu nutzen. Noch relevanter ist es, keinen PC zu nutzen. Bis hierhin hast du schon mal alles richtig gemacht.


    Jetzt wird es schwieriger. Jetzt brauchst du das Passwort für den Raspberry und dabei rede ich nicht über das Passwort, das du für die Weboberfläche der Homebridge verwendest. Wahrscheinlich hast du keinen blassen Schimmer, wie das Passwort für den Raspi lautet. Also müssen wir es raten. Ich rate mal, das Passwort lautet raspberry.


    Die Anleitung sagt, dass du eine Verbindung per ssh zum Raspi machen musst. Öffne das Programm Terminal auf dem Mac und gibt dort ein:


    ssh [email protected]


    wobei du die 192.168.178.12 durch die IP-Adresse deines Raspi ersetzt. Möglicherweise bekommt du eine Frage gestellt (Are you sure you want to continue connecting (yes/no/[fingerprint])?), die du mit yes beantwortet. Nicht mit ja, nicht mit y, mit yes. Alle Buchstaben eintippen. Nach dem Drücken der Entertaste wirst du nach dem Passwort gefragt und du gibst dort raspberry ein. Auf dem Bildschirm wird die Eingabe des Passworts nicht angezeigt.


    Wenn das mit dem geratenen Passwort nicht klappt, dann versuche ein anderes. Welches, bleibt dir überlassen. Ich kenne es nicht.


    Nach dem gelungenen (!!!) Login gibst du Befehl hb-service logs ein. Der zeigt das Logfile an. Das Log startet mit den Worten (oder besser gesagt: ähnlichen Worten):


    [12/14/2024, 4:49:29 PM] [HB Supervisor] OS: Linux 6.6.20+rpt-rpi-v8 arm64

    [12/14/2024, 4:49:29 PM] [HB Supervisor] Node.js v20.18.0 /opt/homebridge/bin/node

    [12/14/2024, 4:49:29 PM] [HB Supervisor] Homebridge Path: /var/lib/homebridge/node_modules/homebridge/bin/homebridge

    [12/14/2024, 4:49:29 PM] [HB Supervisor] UI Path: /opt/homebridge/lib/node_modules/homebridge-config-ui-x/dist/bin/standalone.js

    [12/14/2024, 4:49:34 PM] [Homebridge UI] Homebridge UI v4.65.1 is listening on :: port 8581

    [12/14/2024, 4:49:34 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /var/lib/homebridge/node_modules --strict-plugin-resolution

    [12/14/2024, 4:49:34 PM] [HB Supervisor] Started Homebridge v1.8.5 with PID: 2036093


    Danach steht dann alles mögliche, vielleicht auch eine Fehlermeldung. Du kannst das Log rauskopieren und hier einfügen, falls du Fragen dazu hast.