Beiträge von sschuste

    Sonnenuntergang und -aufgang. Das klemmt immer, weil es offenbar in HomeKit so nicht vorgesehen ist. Es macht den Eindruck, alle kenne HomeKit nur den Tag mit der Bezeichnung heute.

    • Der Sonnenuntergang heute am 28. September ist um 19:09 Uhr.
    • Der Sonnenaufgang heute am 28. September ist um 7:22 Uhr.

    Es gibt keinen Zeitpunkt, der gleichzeitig früher als 7:22 Uhr (heute) ist und später als 19:09 Uhr (auch heute). Daran könnte es liegen, spekuliere ich mal. Nur weil wir schlau sind und automatisch annehmen, dass der der Sonnenaufgang am nächsten Tag gemeint ist, sehen es unsere verblödeten Computer nicht genauso.


    Versuch mal testweise die Bedingung zu ändern auf "zwischen Sonnenuntergang und 23:59 Uhr".


    Ich habe übrigens nahezu das gleiche Setup (Arbeitsplatte, Oberschränke, Hue Lightstrip), verwende aber einen Hue Motion Sensor, den ich nicht über HomeKit, sondern in der Hue-App konfiguriert habe. Dort kann man allerdings keine verbale Uhrzeit (wie die des Sonnenaufgang- und Untergangs) festlegen, sondern nur feste Zeiten.

    Ich habe gelesen das der Server ausgelastet ist und das kann bei mir nicht der Fall sein. (Xeon 8x 3ghz)

    Wieso nicht? Klar kann er das.


    Da stehen tolle Dinge in deinem Screenshot, aber ich habe keine Lust, die abzuschreiben. Aber es sieht ganz so aus, als ob node langsamer arbeitet als erwartet. Das kann an einem Plugin liegen, dass alle anderen ausbremst. Kann aber auch daran liegen, dass der Server ausgelastet ist.

    Der Zeitpunkt kann ich nur schätzen, oder kann man das sehen?

    müsste am 15 oder 16 September gewesen sein. Ist das wichtig für die Updates? Oder welche bewandtnis hat das genau :) ?

    Schon gut. ich wollte wissen, ob das jetzt zwei Monate her ist oder drei Jahre. Prima, ich weiß jetzt, was du benutzt. Du verwendest die offizielle Homebridge und da hat sich im letzten Jahr wahnsinnig viel getan. Daher schreib dir jetzt mal diese Befehle auf:


    • hb-service stop: stoppt die Homebridge
    • hb-service start: startet die Homebridge
    • hb-service restart: stoppt und startet die Homebridge sofort wieder neu
    • hb-service logs: zeigt die Logs an
    • hb-service update-node: macht ein node-Update


    Und vergiss schlichtweg alle anderen Hinweise. Die oben genannten hb-service-Befehle sind neu und sie hat es früher nicht so gegeben. Ich würde sie an deiner Stelle bevorzugt verwenden, denn das ist die offizielle Vorgehensweise.


    Ich weise mal auf die Forenanleitung zur Installation von Homebridge hin. Das ist genau das, was du auch installiert hast, nur halt in deutscher Sprache und deutlich ausführlicher. Vielleicht sind da ja noch ein paar Tipps für dich dabei. Siehe hier: https://smartapfel.de/homebridge/installieren/

    Kannst du damit irgendwas anfangen?

    Ja, ich hab nicht aufgepasst. Patrick_ hat's schon geschrieben. Das Plugin ist eine platform und kein accessory, muss also unter platforms einsortiert werden:


    1. Verbinden mit dem Raspberry Pi über SSH Terminal
    2. Homebridge stoppen mit sudo systemctl stop homebridge
    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/)
      sudo n lts
    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. Nein, du hast schon Version 16. Nicht notwendig.
    12. cd


    13. Homebridge -I Nein. Nein. Nein. Nein. Nein. Nein. Nicht heute und auch nicht morgen und auch nicht im Oktober. Um es ganz präzise auszudrücken: NIEMALS. Nicht mal dann, wenn das Klima kippt.

      Wenn man die Homebridge mit sudo systemctl stop homebridge stoppt, dann startet man sie mit sudo systemctl start homebridge.

    Kannst du kurz sagen, wie du deine Homebridge installiert hast (und wann)?

    Welche Anleitung hast du da benutzt und wann war das?

    Wenn Szenen oder auch nur einzelne Geräte immer funktionieren, sobald sie mit der Home-App geschaltet werden, dann empfinde ich das als ein untrügliches Zeichen dafür, dass HomeKit perfekt funktioniert. Wenn es per Siri klemmt, dann kann es also nur an Siri liegen:

    • Siri hat dich nicht verstanden. Das kann durch dich nicht nachvollzogen oder irgendwie beeinflusst werden (außer: weniger nuscheln)
    • Siri steuert HomeKit nicht oder nur unvollständig an. Das kann durch dich nicht nachvollzogen oder irgendwie beeinflusst werden.
    • Die Siri-Cloud bei Apple bekommt irgendwas nicht gebacken. Das kann durch dich nicht nachvollzogen oder irgendwie beeinflusst werden.
    • Irgendwas anderes funktioniert nicht richtig. Das kann durch dich nicht ... du weißt schon.

    Mit anderen Worten: du darfst raten, was los sein könnte. Das einzige Log, das du hast, ist das der Homebridge. Darüber hinaus kann dir auch Controller für HomeKit ein HomeKit-Log liefern und das ist eine teure Software. Ich hab sie mir für meinen Mac gekauft. Ohne Hinweise darauf, was wann schaltet und was nicht, ist es sehr schwierig, überhaupt eine Diagnose zu erstellen. Und selbst mit diesen Hilfsmitteln bleibt HomeKit ein schwarzes Loch.

    Homebridge -I

    Das geht schon mal deswegen nicht, weil homebridge klein geschrieben werden müsste. Und es geht dann wahrscheinlich sowieso schief, weil der Befehl so nicht vollständig ist, denn er müsste eigentlich homebridge -I -U /var/homebridge oder homebridge -I -U /var/lib/homebridge oder homebridge -I -U das_Verzeichnis_in_dem_sich_config.json_befindet heißen. Und dann geht's möglicherweise immer noch schief, weil vielleicht irgendwelche Dateirechte nicht richtig gesetzt sind.


    Dazu kommt noch, dass das -I ein großes Iiiiih! ist (so wie in "Iiiih! Igittigit") und nicht etwa ein kleines ell (wie in Lokomotivhilfsheizerswitwe).


    Das muss man alles beachten! Immer. Und damit man sich den Blödsinn nicht merken muss, wird der in eine Start-Stop-Konfiguration geschrieben und mit dieser wird dann gestartet. Dazu unten mehr.

    Homebridge habe ich mit sudo systemctl stop homebridge gestoppt

    Dann wird wohl sudo systemctl start homebridge das Gegenteil bewirken. Oder beides in einem: sudo systemctl restart homebridge.

    Status service sudo systemctl status homebridge -l

    Sieht spannend aus. Und ich hab das noch nie gesehen (also zumindest nicht in den letzten 30 Jahren). Den Befehl Status oder status gibt es bei mir überhaupt nicht.

    Haben jetzt status service sudo systemctl status homebridge -l ausgeführt, war das richtig?

    Das hat mit Sicherheit diese Meldung erzeugt:

    -bash: status: command not found

    also würde ich mal sagen: nein, das war nicht richtig.

    sollte damit auch klappen.

    Nö.


    Das -I muss an den Startbefehl für die Homebridge angehängt werden. Und das tut man, indem man /etc/default/homebridge bearbeitet (abhängig von der Installation):


    sudo nano /etc/default/homebridge


    Und da gibt es eine Zeile, die man verändern kann:

    HOMEBRIDGE_OPTS=-I -Q -C -U "/var/homebridge"


    Diese Zeile sieht bei dir möglicherweise anders aus, aber dort wird das -I hingeschrieben, am besten gleich hinter das Gleichheitszeichen. Der Vollständigkeit halber: -Q blendet den QR-Code im Logfile aus, -C macht das Log farbig und -U zeigt auf das Verzeichnis, in dem sich config.json befindet.


    Die Zeile kann auch so aussehen:

    HOMEBRIDGE_OPTS=-I


    Abspeichern, Homebridge neu starten.

    Nach dem Update auf tvOS 15 läuft das Plugin nicht mehr bei mir. Ich schätze mal, das wird alle hier betreffen, oder? lukas.roegner hat offenbar wenig Zeit, sich darum zu kümmern ;(


    [AppleTvPlatform] [ATV4] Error while connecting: Error: Apple TV not found while scanning.

    Der Trick liegt immer im Auslöser einer Aktion. Wenn beispielsweise Sonnenaufgang der Auslöser ist, dann passiert genau zu diesem Zeitpunkt irgendwas und danach passiert den ganzen Tag nichts nichts mehr. Es ist nicht so, dass eine Szene ununterbrochen abfragt, ob nun Sonnenaufgang ist oder nicht. Nein, der Auslöser Sonnenaufgang triggert die Szene, die die Rollläden steuert.


    Es ist wichtig zu verstehen, dass etwas ausgelöst wird, wenn ein bestimmter Wert erreicht wird und nicht dann, wenn ein bestimmter Wert erreicht ist. Das ist immer eine einmalige Geschichte. Falls eines Tages die Uhr von 7:29 Uhr direkt auf 7:31 springt, wird der Auslöser "es ist 7:30 Uhr" nie getriggert, wohl aber der "es ist nach 7:30 Uhr".

    „Wenn Sonnenaufgang nach 7:30 dann fahre zu Sonnenaufgang hoch, sonst fahre um 7:30 hoch“

    Nehmen wir mal an: es ist jetzt 7:30 Uhr. Das wird als Auslöser genommen. Um 7:30 Uhr wird deine Automation getriggert und dann wird gecheckt, dass die Sonne noch nicht aufgegangen ist - also bleibt der Rolladen unten. Und das war's auch schon. Das Ganze wird das nächste Mal am morgigen Tag um 7:30 Uhr laufen, aber heute nicht mehr. Die Automation wird immer dann laufen, wenn es 7:30 Uhr wird.


    Also nehmen wir den Sonnenaufgang als Auslöser. Die Sonne geht um 6:00 Uhr auf, aber eine Bedingung sagt: nee, es ist nicht nach 7:29 Uhr, also Rolladen unten lassen. Und der Rolladen wird auch den ganzen Tag unten bleiben, weil es gibt heute keinen weiteren Sonnenaufgang mehr, der irgendwas triggern könnte. Also brauchst du eine zweite Automation, die den Rollladen immer um 8:30 Uhr öffnet (ob er dann bereits auf ist, kann dir ja egal sein).


    Die Sonne geht um 7:31 auf. Der Rolladen geht auf.


    So sollte das gehen. Solche Bedingungen kannst du in der Home-App nicht einstellen. Apple hat das schlichtweg dort nicht eingebaut, obwohl HomeKit das sehr wohl kann. Aber mit anderen HomeKit-Apps geht das, beispielsweise mit der EVE-App. Die Home-App zeigt die Bedingung dann später an, aber du kannst sie dort nicht bearbeiten.

    added 3 packages, changed 99 packages, and audited 103 packages in 1m

    3 Pakete hinzugefügt, 99 Pakete geändert und 103 Pakete geprüft, und das einer Minute

    44 packages are looking for funding
    run `npm fund` for details

    44 Pakete sind auf der Suche nach Finanzierung

    Führe `npm fund` für Details aus

    found 0 vulnerabilities

    Keine Schwachstellen gefunden

    pi@raspberrypi:~ $ sudo npm install -g --unsafe-perm homebridge-config-ui-x
    npm WARN deprecated [email protected]: This release contains a breaking change from 0.3.1 but otherwise functions properly. Please read the changelog on Github to learn more.

    Ein Hinweis für den Programmierer: "npm WARN veraltet [email protected]: Diese Version enthält eine bahnbrechende Änderung gegenüber 0.3.1, funktioniert aber ansonsten einwandfrei. Bitte lies das Changelog auf Github, um mehr zu erfahren."


    sudo homebridge

    Nein! So nicht!!! Das erzeugt sofort:

    config.json (/root/.homebridge/config.json) not found.

    Man sticht nicht anderen Leuten mit einer Stricknadel ins Auge. Man prüft Strom auf der Steckdose nicht mit der Zunge. Man startet die Homebridge nicht mit sudo homebridge.


    Je nachdem, wie deine Homebridge installiert wurde, lautet der Startbefehl entweder:

    sudo systemctl start homebridge oder hb-service start

    npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/chalk: Integrity verification failed for sha512-

    Du hast aber auch lustige Fehlermeldungen - das liegt jetzt wohl an npmjs. Naja, vielleicht.


    Einfach mal die npm-Caches löschen. Auf den Raspi einloggen und dann:

    rm -rf .npm

    sudo su -

    rm -rf .npm

    exit


    Vielleicht klappt's ja dann.


    Installiere das Hue-Plugin neu:

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


    und homebridge-config-ui-x

    sudo npm install -g --unsafe-perm homebridge-config-ui-x

    Gibt es ein Spendenkonto oder sowas?

    Ja, das gibt es, aber es gibt nicht genug Geld ;(.


    Neu aufsetzen wäre der Horror, das bekomme ich nie wieder so ans laufen 🤣

    Die Frage ist: warum ist npm kaputt? Das passiert normalerweise dann, wenn das Dateisystem des Raspi beschädigt wird, aber warum ist das beschädigt? Du hast möglicherweise eine kaputte SD-Card, und dann kommst du um eine Neuinstallation eh nicht herum.


    Wenn es nur um die Homebridge geht, dann ist die Sache nicht so schwer. Befindet sich auf dem Raspi noch andere Software, dann wird es schon schwieriger. Ich weiß natürlich nicht, was bei dir so los ist.


    Auf jeden Fall solltest du von deiner config.json ein Backup machen. Ich weiß, Backups sind für Heulsusen, und wozu auch: funktioniert doch alles, aber manchmal muss man einfach mal aufhören, ein richtiger Kerl zu sein und statt dessen eine defensive Haltung einnehmen.


    Deine config.json befindet sich an einem bestimmten Ort, der dadurch festgelegt ist, wie du deine Homebridge konfiguriert hast. Die wahrscheinlichsten Orte sind entweder /var/homebridge/config.json oder /var/lib/homebridge/config.json. Du kannst sie dir im Terminal anzeigen lassen mit:


    cat /var/homebridge/config.json oder cat /var/lib/homebridge/config.json. Einer der beiden Befehle zeigt die Konfiguration an, der andere ergibt eine Fehlermeldung. Merke dir den Pfad, der was Brauchbares anzeigt.


    Dann kopierst du die Datei auf deinen Mac. Dazu öffnest du ein Terminalfenster und gibst dort ein:

    scp [email protected]:/var/homebridge/config.json .

    Das kopiert deine Homebridge-Konfiguration vom Raspi zum Mac. Natürlich verwendest du die IP-Adresse deines Raspi und den Pfad, den du dir oben gemerkt hast. Möglicherweise musst du das Passwort des Users pi eingeben.


    Damit ist der wichtigste Teil deiner Homebridge gesichert und liegt nun in deinem Userverzeichnis auf deinem Mac - du kannst sie im Finder sehen.


    Jetzt kannst du versuchen, node neu zu installieren. Folgend die Anweisungen für einen Raspi 3 oder 4. Lies sie komplett durch, bevor du startest.


    Herunterladen:

    https://nodejs.org/dist/latest-v14.x/node-v14.17.6-linux-armv7l.tar.gz


    Auspacken:

    tar xf node-v14.17.6-linux-armv7l.tar.gz


    Node an die richtige Stelle kopieren. Das ist der wirklich hässliche Teil der Aktion und ich persönlich würde mich etwas davor fürchten. Aber da deine Installation eh schrottig ist, sind deine Aktionsmöglichkeiten eher klein. Also:

    sudo cp -R node-v14.17.6-linux-armv7l/* /usr/local/


    Das überschreibt deine existierende node-Version. Das dauert einen Augenblick und jetzt ist ein guter Zeitpunkt, die Hände zu falten und "bitte, bitte, bitte" zu murmeln. Nicht überschrieben oder verändert wird dabei deine Homebridge-Konfiguration. Aber theoretisch kann dieser Vorgang deine Lage auch verschlimmern (wenn das noch möglich ist). Es fällt mir eigentlich sehr schwer, solche Tipps zu veröffentlichen - immerhin bin ich nachher der Depp, der deinem Raspi den Rest gegeben hat.


    Jetzt kannst du testen, ob das funktioniert hat:

    node -v zeigt dir die Versionsnummer des installierten node an

    npm -v zeigt dir die Versionsnummer des installierten npm an


    Wenn dabei keine Fehlermeldungen auftauchen, startest du deine Homebridge neu und wirfst einen Blick ins Log. Vielleicht tut sich ja was Gutes. Lass sehen.

    sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

    Damit installierst oder updatest du homebridge und homebridge-config-ui-x.


    npm WARN deprecated [email protected]

    Ignorieren.


    npm ERR! rofs EROFS: read-only file system,

    Ich würde erst mal den Raspi neu booten und es dann noch mal versuchen. Könnte ein kaputtes Dateisystem sein, dass dann bei Reboot repariert wird.


    Wenn das nicht klappt, würde ich so vorgehen:

    sudo su -

    npm uninstall -g --unsafe-perm homebridge-config-ui-x

    npm install -g --unsafe-perm homebridge-config-ui-x