FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: M_I_B am 21 Oktober 2016, 23:32:40

Titel: Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: M_I_B am 21 Oktober 2016, 23:32:40
Hallo liebe Leute,

die Überschrift hört sich irgendwie blöd an, trifft es aber recht genau...

Wenn ich im Ausführungsteil eines DOIF einem Dummy einen Wert zuweise, wie kann ich dann nur bei dieser Wertzuweisung den Evend des Zieldummys unterdrücken? Ich komme einfach nicht dahinter... Geht das überhaupt?

Beispiel:
(set HKV29off {([HKV29on]-0.5)})
Hier soll der normalerweise beim Setzen ausgelöste Event von HKV29on unterdrückt werden...

Geht vielleicht irgendwas in dieser Art (was natürlich nur als gedankliches Beispiel gelten soll)?
(set HKV29off event-off, set HKV29off {([HKV29on]-0.5)}, set HKV29off event-on)
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: Ellert am 21 Oktober 2016, 23:45:44
Siehe http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#readingsSingleUpdate
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: M_I_B am 21 Oktober 2016, 23:52:21
... vielen Dank für den Hinweis; nun brauche ich noch wen, der mir das in DAU- Sprache übersetzt ::) Ich habe nicht den leisesten Schimmer, was ein Hash u.s.w. ist und wo ich das wie hintippern muss ...
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: automatisierer am 22 Oktober 2016, 08:35:52
probier mal setstate anstatt set, das löst kein Event aus.
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: Ellert am 22 Oktober 2016, 12:19:43
Zitat von: automatisierer am 22 Oktober 2016, 08:35:52
probier mal setstate anstatt set, das löst kein Event aus.
Es wird nur das Internal STATE gesetzt, nicht das Reading state.
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: igami am 22 Oktober 2016, 12:30:25
Zitat von: M_I_B am 21 Oktober 2016, 23:32:40
Hier soll der normalerweise beim Setzen ausgelöste Event von HKV29on unterdrückt werden...
Warum soll das unterdrückt werden? Ohne Event wird z.B. auch nichts ins Log geschrieben.

Zitat von: M_I_B am 21 Oktober 2016, 23:52:21
... vielen Dank für den Hinweis; nun brauche ich noch wen, der mir das in DAU- Sprache übersetzt ::) Ich habe nicht den leisesten Schimmer, was ein Hash u.s.w. ist und wo ich das wie hintippern muss ...
den hash bekommst du über $defs{<name>}
Was ist "u.s.w." nicht zu verstehen?
Name des Readings, welches geupdatet werden soll? 
Der Wert, welchen das Reading annehmen soll?
Flag, ob evtl. ein Event für das Reading getriggert werden soll?
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: Ellert am 22 Oktober 2016, 12:31:48
Zitat von: M_I_B am 21 Oktober 2016, 23:52:21
... vielen Dank für den Hinweis; nun brauche ich noch wen, der mir das in DAU- Sprache übersetzt ::) Ich habe nicht den leisesten Schimmer, was ein Hash u.s.w. ist und wo ich das wie hintippern muss ...

{readingsSingleUpdate($defs{HKV29off}, "state", ([HKV29on] - 0.5), 0)}
ungetestet
Titel: Antw:Im DOIF Ausführungsteil: Trigger des gesetzten Dummys unterdrücken beim Setzen?
Beitrag von: M_I_B am 26 Oktober 2016, 09:06:48
... ahhhh! Jetzt habe ich das verstanden! Vielen Dank! Das haut hin, löst aber leider auch nicht mein ursprüngliches Problem, was ich damit beseitigen wollte (https://forum.fhem.de/index.php?topic=59139.new;topicseen#new)