FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kenneth am 16 Juni 2019, 13:19:21

Titel: [erledigt] DOIF wait timer ?
Beitrag von: Kenneth am 16 Juni 2019, 13:19:21
Moin Zusammen,


ich habe folgenden DOIF. Da ich auf eine Salzwasserelektrolyseanlage umgestellt habe möchte die Anlage ebenfalls mit dem jetztigen DOIF einschalten allerdings etwas verzögert zur Pumpe.
Kann man das innherhalb des DOIF machen?  ???



([PoolCounter:pulseTimePerDay] >= 7200 and [09:00-13:05] and [Outdoor.Poolpumpe:state] eq "on" and (Value("D_Pool_Sommer") eq "aufgebaut"))(set Outdoor.Poolpumpe off,set Outdoor.Salzanlage off)
DOELSEIF ([MySHM:PV] < 700 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "on")(set Outdoor.Poolpumpe off,set Outdoor.Salzanlage off)
DOELSEIF ([MySHM:PV] > 900 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "off" and [PoolCounter:pulseTimePerDay] < 7200)(set Outdoor.Poolpumpe on,set Salzanlage on)



andere Lösungsansätze :) sind sehr willkommen
Titel: DOIF wait timer ?
Beitrag von: RaspiLED am 16 Juni 2019, 14:45:55
Hi,
statt direkt einzuschalten benutzt du ein at.

Schau Dir die relativen Beispiele an:
https://fhem.de/commandref_DE.html#at


set Salzanlage on
wird zu

define atSalzanlage at +00:00:10 set Salzanlage on



Gruß Arnd


Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Titel: Antw:DOIF wait timer ?
Beitrag von: Kenneth am 16 Juni 2019, 15:04:09
Danke RaspiLED für den Hinweis..

Hab in der Zwischenzeit schon einen Dummy erstellt den ich dirket mit dem oben genannten DOIF schalte.
Mit einem zweiten DOIF frage ich den Status des Dummys ab und schalte damit dann die Salzanlage. Über den Parameter "WAIT" in dem zweiten DOIF habe ich die benötigte Verzögerung.



([D_Salzanlage:state] eq "on")(set Salzanlage on)
DOELSEIF ([D_Salzanlage:state] eq "off") (set Salzanlage off)




MFG
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: amenomade am 16 Juni 2019, 16:30:43
Das passt auch direkt im ersten DOIF rein:
([PoolCounter:pulseTimePerDay] >= 7200 and [09:00-13:05] and [Outdoor.Poolpumpe:state] eq "on" and (Value("D_Pool_Sommer") eq "aufgebaut"))
    (set Outdoor.Poolpumpe off)    # hier wirkt wait 11
    (set Outdoor.Salzanlage off)   # hier wirkt wait 12
DOELSEIF ([MySHM:PV] < 700 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "on")
    (set Outdoor.Poolpumpe off)    # hier wirkt wait 21
    (set Outdoor.Salzanlage off)   # hier wirkt wait 22
DOELSEIF ([MySHM:PV] > 900 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "off" and [PoolCounter:pulseTimePerDay] < 7200)
    (set Outdoor.Poolpumpe on)    # hier wirkt wait 31
    (set Salzanlage on)           # hier wirkt wait 32

wait 11,12:21,22:31,32
oder nur für on
wait ::0,32
     
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: Otto123 am 17 Juni 2019, 09:35:31
Moin,

darf ich fragen warum (Value("D_Pool_Sommer") eq "aufgebaut") anstatt [D_Pool_Sommer:state] eq "aufgebaut"verwendet wird?
Oder warum nicht (Value("Outdoor.Poolpumpe") eq "on")anstatt [Outdoor.Poolpumpe:state] eq "on"verwendet wird? ;D ;D ;D

Gruß Otto
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: Kenneth am 17 Juni 2019, 15:37:05
Zitat von: Otto123 am 17 Juni 2019, 09:35:31
Moin,

darf ich fragen warum (Value("D_Pool_Sommer") eq "aufgebaut") anstatt [D_Pool_Sommer:state] eq "aufgebaut"verwendet wird?
Oder warum nicht (Value("Outdoor.Poolpumpe") eq "on")anstatt [Outdoor.Poolpumpe:state] eq "on"verwendet wird? ;D ;D ;D

Gruß Otto

nee darfst du nicht  :o :P

Frag mich bitte nicht mehr warum ich das vor zwei Jahren unterschiedlich gemacht habe, denke mal das war einfach CopyPaste ..
Es funktioniert und der Rest ist schöner wohnen :). (werd es aber bei Gelegenheit ändern  8) )


Grüße nach Leipzig aus dem Saalekreis
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: Kenneth am 17 Juni 2019, 15:56:13
Zitat von: amenomade am 16 Juni 2019, 16:30:43
Das passt auch direkt im ersten DOIF rein:
([PoolCounter:pulseTimePerDay] >= 7200 and [09:00-13:05] and [Outdoor.Poolpumpe:state] eq "on" and (Value("D_Pool_Sommer") eq "aufgebaut"))
    (set Outdoor.Poolpumpe off)    # hier wirkt wait 11
    (set Outdoor.Salzanlage off)   # hier wirkt wait 12
DOELSEIF ([MySHM:PV] < 700 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "on")
    (set Outdoor.Poolpumpe off)    # hier wirkt wait 21
    (set Outdoor.Salzanlage off)   # hier wirkt wait 22
DOELSEIF ([MySHM:PV] > 900 and [09:00-13:00] and  (Value("D_Pool_Sommer") eq "aufgebaut") and [Outdoor.Poolpumpe:state] eq "off" and [PoolCounter:pulseTimePerDay] < 7200)
    (set Outdoor.Poolpumpe on)    # hier wirkt wait 31
    (set Salzanlage on)           # hier wirkt wait 32

wait 11,12:21,22:31,32
oder nur für on
wait ::0,32
   

nur zur Sicherheit das ich das richtig verstanden habe:

wait 11,12:21,22:31,32

wait 11,12 = cmd_1 ... 11 Sekunden Verzögerung für den ersten Schaltbefehlt, 12 Sekunden für den zweiten Schaltbefehl die Trennung erfolgt über das Komma
Zitatcmd_1:cmd_2:cmd_3
Trennung erfolgt durch den Doppelpunkt


wait ::0,32
cmd_1 keine Verzögerung, cmd_2 keine Verzögerung, cmd_3 32 Sekunden Verzögerung für den zweiten Schaltbefehl ?
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: amenomade am 17 Juni 2019, 16:26:49
Richtig
Oder anders gesagt: https://www.fhem.de/commandref_DE.html#DOIF_wait
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: Otto123 am 17 Juni 2019, 16:34:54
ZitatGrüße nach Leipzig aus dem Saalekreis
OT:
Der Saalekreis fängt ja quasi Luftlinie 4 km von hier an :)
https://forum.fhem.de/index.php/topic,52727.msg948858.html#msg948858

Gruß Otto
Titel: Antw:[erledigt] DOIF wait timer ?
Beitrag von: Kenneth am 18 Juni 2019, 09:24:49
Zitat von: amenomade am 17 Juni 2019, 16:26:49
Richtig
Oder anders gesagt: https://www.fhem.de/commandref_DE.html#DOIF_wait

DANKE DIR!!