FHEM Forum

FHEM => Automatisierung => Thema gestartet von: uxtuner am 26 Oktober 2019, 06:18:22

Titel: setstate sendet keinen Status an Homekit
Beitrag von: uxtuner am 26 Oktober 2019, 06:18:22
Hallo,

wenn ich mit setstate den Status meines Lampendevices setze bekommt Homekit diese Info nicht mit.
Schalte ich das Lampendevice in FHEM per Klick funktioniert alles problemlos ...

Woran liegt das?
Titel: Antw:setstate sendet keinen Status an Homekit
Beitrag von: rudolfkoenig am 26 Oktober 2019, 08:35:04
An "gehoert so".
setstate ist explizit dafuer vorgesehen, den Status ohne "Nebeneffekte" (aka Events) zu setzen.
Titel: Antw:setstate sendet keinen Status an Homekit
Beitrag von: uxtuner am 26 Oktober 2019, 08:47:01
gibt es eine Alternative?

Ich möchte, wenn ein Schaltvorgang per externen Taster kommt (das signalisiert mir ein Reading vom ESERA device), dass der Status in FHEM und im Homekit umgesetzt wird.

Aktuell habe ich "setstate" durch "set" ersetzt, damit löse ich aber einen Schaltvorgang aus. Da das reading z.T. mit 5-20s Verzögerung kommt, wird das Licht ggfs. zweimal geschaltet wenn in diesem Zeitraum jemand parallel mit FHEM schaltet.

Eigentlich bräuchte ich zusätzlich ein setstate für Homekit ;-)
Titel: Antw:setstate sendet keinen Status an Homekit
Beitrag von: rudolfkoenig am 26 Oktober 2019, 10:36:54
Ich kenne weder dein "Lampendevice" (ESERA?) noch Homekit, ich vermute man muss die besagten Readings (die hoffentlich ein Event erzeugen) Homekit zur Verfuegung stellen (per stateFormat?).
Titel: Antw:setstate sendet keinen Status an Homekit
Beitrag von: justme1968 am 26 Oktober 2019, 15:12:06
homebridge-fhem hängt an den normalen events. d.h. wenn du möchtest das homekit etwas mitbekommt muss ein event erzeugt werden.

ein event auf einen bestimmten empfänger zu beschränken geht nicht.

du kannst entweder alle empfänger die ein event ignorieren sollen kurzzeitig deaktivieren, oder musst dir gewollten und ungewollten empfänger an unterschiedliche quellen hängen und je nach bedarf nur eine oder beide quellen ein event erzeugen lassen.