[Gelöst]Dummy-Schalter mit Zwangspause nach dem Umschalten

Begonnen von privat58, 27 Februar 2018, 15:37:10

Vorheriges Thema - Nächstes Thema

privat58

Hallo, ich habe eine Steuerung für meinen Radiatorkreis von Thermomatic. Die EC-Home ist sehr gut, nur kann man diese nicht in fhem einbinden. Der Mischerteil und die Pumpensteuerung schicken die Signale per Modbus zur Zentrale und aus dieser bekommt man nichts raus.
Daher war der Gedanke geboren, nur die Tasten mit Relais anzusteuern, damit man aus der Ferne zwischen Uhr/Tag/Nacht/Frost-Modus wechseln kann. Ich habe das Ganze mit einem Dummy und einem DOIF umgesetzt. Das klappt super und eventuell kann ich die Relais mal noch gegen Optokoppler tauschen.
Das Problem ist aber, das ich immer von einem definierten Zustand der Steuerung ausgehen muss und dieser erst nach 60s, nach abschalten der Displaybeleuchtung, erreicht ist. Wenn der Dummy vorher noch einmal geschalten wird, ist es immer ein Tastendruck zuviel, da der erste Tastendruck immer erst das Display einschaltet.
Daher die Frage, gibt es die Möglichkeit bei einem Dummy, zwischen den Befehlen eine Zwangspause einzulegen? Das heißt: Befehl ausführen, 60s warten und dann erst wieder Befehl annehmen. Wenn möglich, kann man dies ja dann über einen "roten"Icon darstellen.
Ich füge noch ein list vom Dummy und vom DOIF bei.
Dank erst einmal
Steffen
Internals:
   NAME       Thermomatic_Dummy
   NR         879
   STATE      Nacht
   TYPE       dummy
   READINGS:
     2018-02-27 15:00:20   Zustand         Nacht
     2018-02-27 14:59:09   state           Nacht
Attributes:
   devStateIcon Uhr:status_automatic@green Tag:status_comfort@green Nacht:status_night@green Frost:status_frost@green
   setList    Uhr Tag Nacht Frost
   webCmd     Uhr:Tag:Nacht:Frost

Internals:
   DEF        ([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##Auf Uhr von Tag##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Uhr)
DOELSEIF
([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Nacht"  )
##Auf Uhr von Nacht##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Uhr)
DOELSEIF
([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Frost" )
##Auf Uhr von Frost##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Uhr)
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##Auf Tag von Uhr##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Tag)
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Nacht" )
##Auf Tag von Nacht##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Tag)
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Frost"  )
##Auf Tag von Frost##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Tag)
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##Auf Nacht von Uhr##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Nacht)
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##Auf Nacht von Tag##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Nacht)
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Frost" )
##Auf Nacht von Frost##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Nacht)
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##Auf Frost von Uhr##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Frost)
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##Auf Frost von Tag##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Frost)
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Nacht" )
##Auf Frost von Nacht##
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 100)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 100)
(setreading Thermomatic_Dummy Zustand Frost)
   NAME       Thermomatic_DOIF
   NR         881
   NTFY_ORDER 50-Thermomatic_DOIF
   STATE      cmd_7
   TYPE       DOIF
   READINGS:
     2018-02-27 14:59:09   Device          Thermomatic_Dummy
     2018-02-27 15:00:20   cmd             7.11
     2018-02-27 15:00:20   cmd_event       Thermomatic_Dummy
     2018-02-27 15:00:20   cmd_nr          7
     2018-02-27 15:00:20   cmd_seqnr       11
     2018-02-27 14:59:09   e_Thermomatic_Dummy_Zustand Uhr
     2018-02-27 14:59:09   e_Thermomatic_Dummy_state Nacht
     2018-02-27 10:53:20   mode            enabled
     2018-02-27 15:00:20   state           cmd_7
     2018-02-27 15:00:20   wait_timer      no timer
   Regex:
   condition:
     0          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Uhr" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Tag"
     1          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Uhr" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Nacht" 
     10         ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Frost" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Tag"
     11         ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Frost" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Nacht"
     2          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Uhr" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Frost"
     3          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Tag" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Uhr"
     4          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Tag" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Nacht"
     5          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Tag" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Frost" 
     6          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Nacht" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Uhr"
     7          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Nacht" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Tag"
     8          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Nacht" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Frost"
     9          ReadingValDoIf($hash,'Thermomatic_Dummy','state') eq "Frost" and ReadingValDoIf($hash,'Thermomatic_Dummy','Zustand') eq "Uhr"
   devices:
     0           Thermomatic_Dummy
     1           Thermomatic_Dummy
     10          Thermomatic_Dummy
     11          Thermomatic_Dummy
     2           Thermomatic_Dummy
     3           Thermomatic_Dummy
     4           Thermomatic_Dummy
     5           Thermomatic_Dummy
     6           Thermomatic_Dummy
     7           Thermomatic_Dummy
     8           Thermomatic_Dummy
     9           Thermomatic_Dummy
     all         Thermomatic_Dummy
   do:
     0:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       8          setreading Thermomatic_Dummy Zustand Uhr
     1:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       5          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       8          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       9          setreading Thermomatic_Dummy Zustand Uhr
     10:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       5          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       8          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       9          setreading Thermomatic_Dummy Zustand Frost
     11:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       8          setreading Thermomatic_Dummy Zustand Frost
     12:
     2:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       5          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       8          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       9          setreading Thermomatic_Dummy Zustand Uhr
     3:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       5          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       8          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       9          setreading Thermomatic_Dummy Zustand Tag
     4:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       8          setreading Thermomatic_Dummy Zustand Tag
     5:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       8          setreading Thermomatic_Dummy Zustand Tag
     6:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       10         setreading Thermomatic_Dummy Zustand Nacht
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       5          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       6          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       7          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       8          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       9          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
     7:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       4          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       7          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       8          setreading Thermomatic_Dummy Zustand Nacht
     8:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       2          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       5          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       6          set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       7          setreading Thermomatic_Dummy Zustand Nacht
     9:
       0          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       1          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       10         set ESPEasy_Thermomatic_Taster3 pulse 13 on 100
       11         setreading Thermomatic_Dummy Zustand Frost
       2          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       3          set ESPEasy_Thermomatic_Taster1 pulse 14 on 100
       4          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       5          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       6          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       7          set ESPEasy_Thermomatic_Taster2 pulse 12 on 100
       8          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
       9          set ESPEasy_Thermomatic_Taster4 pulse 15 on 100
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      Nacht
     globalinit 1
     last_timer 0
     sleepdevice Thermomatic_Dummy
     sleepsubtimer -1
     sleeptimer -1
     timerdev   Thermomatic_Dummy
     timerevent Nacht
     triggerDev Thermomatic_Dummy
     timerevents:
       Nacht
     timereventsState:
       state: Nacht
     triggerEvents:
       Nacht
     triggerEventsState:
       state: Nacht
   internals:
   itimer:
   readings:
     0           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     1           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     10          Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     11          Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     2           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     3           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     4           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     5           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     6           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     7           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     8           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     9           Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
     all         Thermomatic_Dummy:state Thermomatic_Dummy:Zustand
   trigger:
   uiState:
   uiTable:
Attributes:
   wait       0,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,1,60:0,1,1,1,1,1,1,1,60

privat58

Moin, habe es jetzt erst einmal so gelöst, das im DOIF der Dummy "disabled" wird und nach 60s wieder eingeschalten wird. Was besseres ist mir erst einmal nicht eingefallen.

...
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
...
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Uhr)
{fhem ("attr Thermomatic_Dummy disable 0")}
(save config)
....

Falls doch noch jemand einen Vorschlag, ich bin offen.
:-)

amenomade

Vielleicht eher im DOIF etwas machen? Ich bin mir nicht sicher, dass ich deine Problematik ganz verstanden habe, aber könnte nicht das helfen?
https://fhem.de/commandref_DE.html#DOIF_cmdpause
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

privat58

Im DOIF gibt es das attr wait, was ich nun genutzt habe.  Dazu ein eigenes reading, was den Ausgangspunkt darstellt.
([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##cmd_1 Auf Uhr von Tag##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Uhr)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Nacht"  )
##cmd_2 Auf Uhr von Nacht##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Uhr)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Uhr" and [Thermomatic_Dummy:Zustand] eq "Frost" )
##cmd_3 Auf Uhr von Frost##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Uhr)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##cmd_4 Auf Tag von Uhr##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Tag)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Nacht" )
##cmd_5 Auf Tag von Nacht##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Tag)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Tag" and [Thermomatic_Dummy:Zustand] eq "Frost"  )
##cmd_6 Auf Tag von Frost##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Tag)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##cmd_7 Auf Nacht von Uhr##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Nacht)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##cmd_8 Auf Nacht von Tag##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Nacht)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Nacht" and [Thermomatic_Dummy:Zustand] eq "Frost" )
##cmd_9 Auf Nacht von Frost##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Nacht)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Uhr" )
##cmd_10 Auf Frost von Uhr##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Frost)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Tag" )
##cmd_11 Auf Frost von Tag##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Frost)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}
DOELSEIF
([Thermomatic_Dummy:state] eq "Frost" and [Thermomatic_Dummy:Zustand] eq "Nacht" )
##cmd_12 Auf Frost von Nacht##
{fhem ("attr Thermomatic_Dummy disable 1 ")}
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster1 pulse 14 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster2 pulse 12 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster4 pulse 15 on 150)
(set ESPEasy_Thermomatic_Taster3 pulse 13 on 150)
(setreading Thermomatic_Dummy Zustand Frost)
{fhem ("attr Thermomatic_Dummy disable 0")}
{fhem ("save config")}

dazu das attr wait damit jeder Befehl/Tastendruck abgearbeitet werden kann.
0,0,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,2,60,0,0:0,0,2,2,2,2,2,2,2,60,0,0
Sieht zwar etwas komisch aus, ist aber die einzige Möglichkeit, was ich gesehen habe um die Heizungssteuerung zu manipulieren.
Das funktioniert erst einmal
:-)

KernSani

Zitat von: privat58 am 23 März 2018, 21:23:14

Das funktioniert erst einmal
:-)
Schreibst du dann noch ein [Gelöst] vor das Subject des ersten Posts? Danke und Schönes Wochenende :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

privat58

ist gemacht :-)
Nun muss ich nur noch schauen, wie ich die zwei Readings (Zustand und state) miteinander vergleichen kann und mit readingsgroup die farbe des icon wechseln kann, damit man sieht, das das DOIF noch am laufen ist.
Auch schönes WE

privat58

Hallo, leider muss ich den Fred noch einmal hochholen.
Ich habe zu dem DOIF einen Dummy gemacht, damit ich eine Darstellung im Flurplan habe. Es sollen die Readings  "Zustand" und  "state" des Dummys verglichen werden. Wenn Wert gleich dann Farbe grün, wenn unterschiedlich Farbe rot.
Das passt so weit, nur das ich den Flurplan erst aktualisieren muss, damit ich die Farbänderung angezeigt bekomme.
Woran kann dies liegen? longpoll ist ein.

valueStyle {ReadingsVal("Thermomatic_Dummy","Zustand","") eq ReadingsVal("Thermomatic_Dummy","state","")?'style="color:green"':'style="color:red"'}

Dank erst einmal