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
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, ...
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
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
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
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
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 ?
Richtig
Oder anders gesagt: https://www.fhem.de/commandref_DE.html#DOIF_wait
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
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!!