FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Ralli am 04 März 2016, 13:27:20

Titel: DOIF löst nicht aus bei Setzen eines Dummys mit gleichem Wert
Beitrag von: Ralli am 04 März 2016, 13:27:20
Hallo Damian,

nächstes Problem mit der aktuellen Version von heute: Ich habe einen Dummy wie folgt definiert:


Internals:
   NAME       Tueroeffner_Dummy
   NR         728
   STATE      Auf
   TYPE       dummy
   Helper:
     Dblog:
       State:
         Eventlog:
           TIME       1457093875.43308
           VALUE      Auf
   Readings:
     2016-03-04 13:17:55   state           Auf
Attributes:
   alias      Türöffner
   devStateIcon .*:control_x:Auf
   fm_type    smarttogglebutton
   group      Relais
   icon       fts_door_right_open
   room       Flur
   webCmd     Auf


Und dazu passend das folgende DOIF:


Internals:
   DEF        ([GarageToggle_Dummy]) (set GEN_4SW_GarageToggle prep)(set GEN_4SW_GarageToggle on)(set GarageToggle_Dummy off)
DOELSEIF ([GarageHoch_Dummy]) (set GEN_4SW_GarageHoch prep)(set GEN_4SW_GarageHoch on)(set GarageHoch_Dummy off)
DOELSEIF ([GarageRunter_Dummy]) (set GEN_4SW_GarageRunter prep)(set GEN_4SW_GarageRunter on)(set GarageRunter_Dummy off)
DOELSEIF ([Tueroffner_Dummy]) (set GEN_4SW_Tueroeffner prep)(set GEN_4SW_Tueroeffner on)(set Tueroeffner_Dummy off)
   NAME       DOIF_GEN_4SW
   NR         732
   NTFY_ORDER 50-DOIF_GEN_4SW
   STATE      cmd_3
   TYPE       DOIF
   Readings:
     2015-11-24 16:58:11   Device          GarageRunter_Dummy
     2015-11-24 16:58:13   cmd_event       GarageRunter_Dummy
     2015-11-24 16:58:13   cmd_nr          3
     2015-11-24 16:58:13   cmd_seqnr       3
     2015-11-24 16:57:55   e_GarageHoch_Dummy_STATE Hoch
     2015-11-24 16:58:11   e_GarageRunter_Dummy_STATE Runter
     2015-11-24 16:58:03   e_GarageToggle_Dummy_STATE Schalten
     2015-11-24 16:58:13   state           cmd_3
   Condition:
     0          InternalDoIf($hash,'GarageToggle_Dummy','STATE','','',AttrVal($hash->{NAME},'notexist',undef))
     1          InternalDoIf($hash,'GarageHoch_Dummy','STATE','','',AttrVal($hash->{NAME},'notexist',undef))
     2          InternalDoIf($hash,'GarageRunter_Dummy','STATE','','',AttrVal($hash->{NAME},'notexist',undef))
     3          InternalDoIf($hash,'Tueroffner_Dummy','STATE','','',AttrVal($hash->{NAME},'notexist',undef))
   Devices:
     0           GarageToggle_Dummy
     1           GarageHoch_Dummy
     2           GarageRunter_Dummy
     3           Tueroffner_Dummy
     all         GarageToggle_Dummy GarageHoch_Dummy GarageRunter_Dummy Tueroffner_Dummy
   Do:
     0:
       0          set GEN_4SW_GarageToggle prep
       1          set GEN_4SW_GarageToggle on
       2          set GarageToggle_Dummy off
     1:
       0          set GEN_4SW_GarageHoch prep
       1          set GEN_4SW_GarageHoch on
       2          set GarageHoch_Dummy off
     2:
       0          set GEN_4SW_GarageRunter prep
       1          set GEN_4SW_GarageRunter on
       2          set GarageRunter_Dummy off
     3:
       0          set GEN_4SW_Tueroeffner prep
       1          set GEN_4SW_Tueroeffner on
       2          set Tueroeffner_Dummy off
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
     0           GarageToggle_Dummy:STATE
     1           GarageHoch_Dummy:STATE
     2           GarageRunter_Dummy:STATE
     3           Tueroffner_Dummy:STATE
     all         GarageToggle_Dummy:STATE GarageHoch_Dummy:STATE GarageRunter_Dummy:STATE Tueroffner_Dummy:STATE
   Itimer:
   Regexp:
     All:
   State:
Attributes:
   do         always


Führe ich nun ein "set Tueroeffner_Dummy Auf" aus (zB über das WebIF), sehe ich im Event-Monitor den Eintrag


2016-03-04 13:24:52 dummy Tueroeffner_Dummy Auf


Nach meinem Verständnis wird also korrekt wegen nicht gesetzten Attributen event-change-reading oder event-update-reading ein Event jedes mal generiert, wenn ich den Dummy mit Auf setze, auch wenn er den Wert schon hat.

Normalerweise müsste doch nun das DOIF darauf reagieren? Es tut aber nicht (mehr). Hat definitiv schon mal geklappt ...
Titel: Antw:DOIF löst nicht aus bei Setzen eines Dummys mit gleichem Wert
Beitrag von: Damian am 04 März 2016, 14:32:01
Ich kann keinen Fehler feststellen. Bei mir funktioniert ein nachgestellter Fall wie es soll.

Gruß

Damian

Edit: Dein Dummy heißt auch Tueroeffner_Dummy und nicht Tueroffner_Dummy

Titel: Antw:DOIF löst nicht aus bei Setzen eines Dummys mit gleichem Wert
Beitrag von: Ralli am 04 März 2016, 14:54:21
Verdammt. Danke Damian. So ein blöder Typo. Manchmal ist man einfach betriebsblind.