[gelöst] Probleme mit set_Exec

Begonnen von roemi, 16 April 2021, 19:38:25

Vorheriges Thema - Nächstes Thema

roemi

Hallo,

ZitatEinen laufenden Timer kann man mit del_Exec vor seiner Ausführung löschen
Auch das habe ich nun umgesetzt!!  :D

ZitatDie allgemeine Regel gegen ein wiederholtes Schalten des gleichen Befehls lautet: Merke den letzten Ausführungszustand und führe den Befehl nur aus, wenn sich der Zustand ändert. Das kann man in DOIF-Perl mit Instanzvariablen (Devicevariablen) beginnend mit $_ machen.
Genau das macht aber DOIF im FHEM-Modus - es arbeitet mit Zuständen und wiederholt sie standardmäßig nicht.
Das muss ich mir in Ruhe antun ...

Danke (vorerst) ... ich komme wieder, keine Frage  ;)

Römi

https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren

roemi

Hallo Damian,

ZitatMerke den letzten Ausführungszustand und führe den Befehl nur aus, wenn sich der Zustand ändert.
es hat eine weile gedauert, aber nun glaube ich es verstanden zu haben.

Jedesmal wenn ein Block durchlaufen und die Lux abgefragt wird, schreibt er den gedimmten Wert ins Device und sendet sofort einen Befehl an die Lampe! Ich dachte, ich schreibe den Wert ins Device und der sendet nur wenn sich was geändert hat. Zu kurz gesprungen!
Richtig ist, den Wert immer nur dann ins Device zu schreiben wenn er sich geändert hat. dazu nutze ich entweder eine Variable oder ich frage den aktuellen Wert des Device ab, vergleiche und schreibe nur bei Veränderung. Richtig verstanden?

Römi
https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren