Slider für Dimmer; wie Kombination aus Dummy und Dimmer optimal gestalten?

Begonnen von m8ichael, 16 Februar 2016, 19:48:36

Vorheriges Thema - Nächstes Thema

m8ichael

Hallo,

ich habe mal eine grundsätzliche Frage: Ich nutze Z-Wave-Dimmer, die per Standard-Fhem-Befehl "set <gerät> dim ..." gesteuert werden. Damit diese direkt auf der Web-Oberfläche per Slider gesteuert werden können, habe ich einen Dummy definiert und diesen per

attr <dummname> setList state:slider,0,1,99

als Slider abgebildet. Gleichzeitig habe ich ein notify erstellt, welches nun auf Änderungen des Dummys reagiert und den eigentlichen Aktor entsprechend ansteuert. Soweit - so gut!

Um nun ebenfalls den Dummy bei manuellen Schaltvorgängen am Aktor aktualisieren zu lassen, habe ich auch ein notify erstellt, um Änderungen des Aktors in den Dummy zu schreiben. Und genau hier liegt das Problem: Nutze ich für das Schreiben der Werte in den Dummy den Befehl "setreading", so wird zwar der neue Wert in den Dummy geschrieben, allerdings ändert sich der Slider nicht entsprechend (er bleibt im Zweifel auf "0" stehen, obwohl eine Lampe eingeschaltet wurde). Nutze ich statt dessen den Befehl "setstate", so wird zwar der Slider auf die richtige Stelle bewegt, aber gleichzeitig wird auch wieder ein Event ausgelöst, was wiederum das erste notify triggert und im Zweifel einen zweiten Schaltvorgang auslöst. Ist zwar prinzipiell nicht schlimm, da der zweite Schaltvorgang ja zum ersten, manuellen am Gerät identisch sein sollte, aber elegant ist anders.

Hat jemand da eine Idee, wie man das etwas besser gestalten könnte?

Viele Grüße

Michael

crusader

Du kannst die beiden notifies durch ein gemeinsames DOIF ersetzen.
Die Implementation von DOIF verhindert, dass auf Events reagiert wird, die selbst ausgelöst wurden.