Posts Tagged ‘Homebridge’

Donnerstag, 3. November 2022

Homebridge stürzt kurz nach dem Start ab: „EISDIR: illegal operation on a directory, read“

Gestern kam meine Homebridge-Installation nach Anpassungen an der Konfiguration und der Umwandlung in ein systemd Service nicht mehr richtig hoch — gefühlt 30–60 Sekunden nach dem Start verschwand der Prozess.

Indem man Homebridge mit dem Debug-Parameter (-D, oder --debug) von der Kommandozeile manuell startet …

$ homebridge -D -U /var/lib/homebridge

… erkennt man kurz vor dem Ende der Ausführung folgenden Log-Event:

Got SIGTERM, shutting down Homebridge...

systemd meldet, dass der Prozess sich mit Exit Code 143 verabschiedet hat.

Scrollt man hoch, sieht man (bei mir) Warnungen von Plugins, und eine echte Fehlermeldung:

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (node:fs:748:3)
    at tryReadSync (node:fs:448:20)
    at Object.readFileSync (node:fs:494:19)
    at LocalStorage.parseDirSync (/usr/local/apps/homebridge/node_modules/node-persist/src/local-storage.js:637:35)
    at LocalStorage.parseDataDirSync (/usr/local/apps/homebridge/node_modules/node-persist/src/local-storage.js:572:21)
    at LocalStorage.initSync (/usr/local/apps/homebridge/node_modules/node-persist/src/local-storage.js:145:14)
    at HAPStorage.storage (/usr/local/apps/homebridge/node_modules/hap-nodejs/src/lib/model/HAPStorage.ts:25:25)
    at Function.HAPStorage.storage (/usr/local/apps/homebridge/node_modules/hap-nodejs/src/lib/model/HAPStorage.ts:13:26)
    at Function.AccessoryInfo.load (/usr/local/apps/homebridge/node_modules/hap-nodejs/src/lib/model/AccessoryInfo.ts:272:30)
    at Bridge. (/usr/local/apps/homebridge/node_modules/hap-nodejs/src/lib/Accessory.ts:1160:41)
    at step (/usr/local/apps/homebridge/node_modules/tslib/tslib.js:144:27)
    at Object.next (/usr/local/apps/homebridge/node_modules/tslib/tslib.js:125:57)
    at /usr/local/apps/homebridge/node_modules/tslib/tslib.js:118:75
    at new Promise ()
    at __awaiter (/usr/local/apps/homebridge/node_modules/tslib/tslib.js:114:16)
    at Bridge.Accessory.publish (/usr/local/apps/homebridge/node_modules/hap-nodejs/dist/lib/Accessory.js:928:38)

Zuerst ignorierte ich diesen Eintrag, weil ich mir nicht vorstellen konnte, dass eine „illegal operation on a directory“ die Anwendung zum Absturz bringen kann. Ich hatte mich getäuscht: Wie in Error: EISDIR: illegal operation on a directory, read beschrieben stürzt Homebridge tatsächlich ab, wenn sich im Ordner persist ein Unterordner befindet. Dies war bei mir der Fall, weil mein Installationsscript einen cp Befehl nicht korrekt ausführte.

Nachdem ich den Ordner gelöscht hatte, startete Homebridge wieder problemlos.

Tags: , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 25. September 2022

Shelly 2.5 zur Steuerung von Rollladen

Die Frau weilt drei Wochen geschäftlich im Ausland — genau der richtige Zeitpunkt, die eigene Wohnung noch intelligenter zu machen!

Zwei Rollladen-Schalter/Taster unserer Wohnung waren bereits mit Shelly 2.5 ausgerüstet, damit man diese via Internet und Siri Sprachkommandos (via Homebridge und den zwei Shelly-Plugins homebridge-shelly und homebridge-shelly-ng) steuern konnte. Nun war es an der Zeit, sechs weitere Rollladen um- respektive aufzurüsten.

Mit einem gelernten Elektriker im Kollegenkreis mit den nötigen Werkzeugen, Kabeln und Wagos ein erstaunlich rasch realisierbares Unterfangen.

Trotzdem lauern bei der Installation einige Fallstricke. Hier wie man sie umgehen oder beheben kann:

  • Einbindung ins WiFi-Netzwerk: Ich habe aufgehört, hierzu die Shelly.app unter iOS zu verwenden. Stattdessen suche ich mit dem iPhone in der Liste der gefunden WiFi Access Points den Shelly Access-Point (shelly25-%MAC%), verbinde mich darauf, und wähle dann in Safari auf dem iPhone http://192.168.33.1/ an. In der Web-Oberfläche gebe ich unter Internet & Security dann die Zugangsdaten meines Netzwerks ein, speichere, wähle mich mit dem iPhone wieder in mein eigentliches WiFi-Netzwerk ein und adoptiere das Gerät dann mit der Shelly.app.
  • Steuerungskabel falsch herum angeschlossen: Nachdem mein erster Bekannter zwei Shelly 2.5 angeschlossen hatte, funktionierten die physischen Taster wie vor dem Einbau. Nach oben gedrückt, Rollladen fuhr nach oben. Nach unten gedrückt, Rollladen fuhr nach unten. Kein Problem. Bei der Installation des Elektrikers waren aber alle Anschlüsse vertauscht, wenn ich die Storen über das Web-Interface herunter- oder nach oben fahren liess. Kein Problem, die Shelly-Entwickler haben das vorausgesehen und bieten unter Settings die Option Reverse Directions an. Aktiviert, und alles war gut. Ein wenig später dann doch ein Problem: Der Druck auf die physische Nach oben-Taste liess die Storen herunterfahren, und der Druck auf die Nach unten-Taste nach oben. Damit auch hier alles wie erwartet funktioniert, musste ich auch noch Swap Inputs aktivieren. Rückblickend logisch, beides umzuschalten.
  • Stopptaster funktioniert nicht mehr wie vorher: Die Wohnung war umgebaut, und die Frau kehrte nach Hause zurück. Am ersten Arbeitstag nach der Rückkehr dann die laute Beschwerde: Bei Druck auf den physischen Taster fuhr die Store entweder hoch, oder runter. Wenn man den Kontakt des Knopfes entfernte, stoppte die Rolllade nicht, und auch die Storen liessen sich in ruhendem Zustand mit kurzem Tastendruck nicht mehr in vordefinierten Winkeln schrägt stellen. Zum Glück wiesen die zwei als erste installierten Shelly 2.5 dieses Verhalten nicht auf, weshalb ich wusste, dass das Problem entweder softwaretechnisch- oder (weniger gut) durch Ausbau und Neu-Verkabelung zu lösen war. Zum Glück tat es wieder eine Einstellung unter Settings: Button Type von Toggle auf Momentary schalten. Und schon funktionierten die Rollladen wirklich wie gewohnt.

Screenshots

Fazit

Wie alle Smart Home-Lösungen haben auch Shellys ihre Eigenheiten, aber ich bin mir nicht sicher, ob sich oben genannte Probleme mit anderer Hard- und Software so einfach lösen lassen. Als Eigenheimbesitzer, der sein zu Hause auf ein Smart Home umbauen möchte, sind Shellys in Kombination mit Homebridge etwas vom Besten, was mir untergekommen ist. Ich bin innert 12 Monaten ein grosser Shelly-Fan geworden!

Tags: , , , , , , , ,
Labels: Smart Home

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 30. März 2022

Unsere Storen lassen sich nicht mehr (ganz) mit HomeKit steuern

Unsere Storen bedienen wir über Shellys, welche über HomeBridge mit Apples HomeKit gekoppelt sind.

Seit dem Update auf iOS 15.4 funktionieren folgende Kommandos nicht mehr:

„Hey Siri, open the Bedroom blinds“

„Hey Siri, close the Bedroom blinds“

Als temporärer Workaround funktioniert Folgendes:

„Hey Siri, set Bedroom blind position to 100“ [öffnen]

„Hey Siri, set Bedroom blind position to 0“ [schliessen]

Das Problem ist im Internet dokumentiert: iOS 15.4 – Siri no longer understands how to operate my blinds sowie HomeKit – Siri stopped working with Rollershutters.

Hoffen wir, dass 15.4.x Abhilfe schaffen wird.

Tags: , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen