FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tomspatz am 10 Dezember 2016, 20:16:14

Titel: zwei Werte DOIF triggert immer wieder
Beitrag von: tomspatz am 10 Dezember 2016, 20:16:14
Ich kriege den Topic nicht anders hin  :-\

HeizungReglerTestDOIF DOIF ([HeizungTestSlider] and [ThermostatBad:"wakeup"]) (set knobdummy [HeizungTestSlider]) DOELSE ()

HeizungTestSlider ist ein dummy dieser wird manuell geändert.
Ziel ist es diese Änderung an knobdummy weiterzugeben immer wenn vom ThermostatBad ein wakup im Event Monitor kommt.
Das passiert auch, aber leider auch ohne Änderung des HeizungTestSlider wird der knobdummy neu "geschrieben" jedesmal wenn ThermostatBad triggert.
Es soll NUR bei einer Änderung des HeizungTestSlider den Wert zu ändern.
event-on-Change-reading auf den HeizungTestSlider leider ohne Erfolg.
LG
Tom
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: CoolTux am 10 Dezember 2016, 20:18:57
Bau das DOIF mal so um das es auf Events hört. Näheres dazu in der Doku
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: tomspatz am 11 Dezember 2016, 13:02:07
SORRY aber ich stehe auf dem Schlauch.
Habe zwar checkReadingEvent eingebaut aber ohne Erfolg.
Im Moment bin ich da ziemlich Planlos. DOIF schafft mich  :'(
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: CoolTux am 11 Dezember 2016, 13:26:26
http://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events


Und Du solltest vielleicht mal zeigen was du hast.
list vom DOIF Device wäre Hilfreich
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: Ellert am 11 Dezember 2016, 13:29:08
Nimm ein Reading ohne Event http://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Stati_ohne_Trigger
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: tomspatz am 11 Dezember 2016, 13:31:06
Internals:
   CFGFN
   DEF        ([HeizungTestSlider] and [ThermostatBad:"wakeup"]) (set knobdummy [HeizungTestSlider]) DOELSE()
   NAME       HeizungReglerTestDOIF
   NR         39676
   NTFY_ORDER 50-HeizungReglerTestDOIF
   STATE      initialized
   TYPE       DOIF
   Readings:
     2016-12-11 13:29:18   cmd             0
     2016-12-11 13:29:18   state           initialized
   Condition:
     0          InternalDoIf($hash,'HeizungTestSlider','STATE') and EventDoIf('ThermostatBad',$hash,'wakeup',1)
   Devices:
     0           HeizungTestSlider ThermostatBad
     all         HeizungTestSlider ThermostatBad
   Do:
     0:
       0          set knobdummy [HeizungTestSlider]
     1:
       0
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
     0           HeizungTestSlider:STATE
     all         HeizungTestSlider:STATE
   Itimer:
   Regexp:
     All:
   State:
   Trigger:
     all         ThermostatBad
Attributes:
   checkReadingEvent 1
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: Per am 12 Dezember 2016, 12:06:43
Zitat von: tomspatz am 10 Dezember 2016, 20:16:14Es soll NUR bei einer Änderung des HeizungTestSlider den Wert zu ändern.
Dann musst du die zweite Bedingung auf Status testen, nicht auf Event (http://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Stati_ohne_Trigger).
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: automatisierer am 12 Dezember 2016, 12:54:41
er will es ja nur ändern, wenn das Event 'wakeup' kommt. und dann nur, wenn sich der Wert von HeizungTestSlider auch wirklich geändert hat.

Also musst du irgendwie vergleichen ob sich der Wert geändert hat.

mMn:
([ThermostatBad:"wakeup"] and [?HeizungTestSlider] ne [knobdummy]) ode halt mit != statt ne

Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: igami am 12 Dezember 2016, 13:16:57
Guck dir mal das Attribut checkReadingEvent an.
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: tomspatz am 12 Dezember 2016, 20:24:46
SORRY igami aber
ZitatHabe zwar checkReadingEvent eingebaut aber ohne Erfolg.

Mit vergleichen geht es, doch dachte ich es mir etwas einfacher.
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: automatisierer am 12 Dezember 2016, 20:29:34
das checkReadingEvent, verstehe ich so, dass das DOIF nur getriggert wird, wenn genau das abgefragte Reading aktualisiert wird. Ansonstenn wird DOIF ja bei jedem Event des Device getriggert
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: tomspatz am 12 Dezember 2016, 20:44:04
Vielleicht geht das nur wenn man ein device überwacht, bei mir sind es ja zwei eigentlich.
Und das ändert sich ja sowieso nicht. Es wird halt nur immer wieder getriggert
Titel: Antw:zwei Werte DOIF triggert immer wieder
Beitrag von: igami am 12 Dezember 2016, 22:18:24
Zitat von: tomspatz am 12 Dezember 2016, 20:24:46
SORRY igami aber
[...]
irgendwie überlesen  ::)