zwei Werte DOIF triggert immer wieder

Begonnen von tomspatz, 10 Dezember 2016, 20:16:14

Vorheriges Thema - Nächstes Thema

tomspatz

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

CoolTux

Bau das DOIF mal so um das es auf Events hört. Näheres dazu in der Doku
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

tomspatz

SORRY aber ich stehe auf dem Schlauch.
Habe zwar checkReadingEvent eingebaut aber ohne Erfolg.
Im Moment bin ich da ziemlich Planlos. DOIF schafft mich  :'(

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net


tomspatz

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

Per

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.

automatisierer

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


igami

Guck dir mal das Attribut checkReadingEvent an.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

tomspatz

#9
SORRY igami aber
ZitatHabe zwar checkReadingEvent eingebaut aber ohne Erfolg.

Mit vergleichen geht es, doch dachte ich es mir etwas einfacher.

automatisierer

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

tomspatz

#11
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

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED