FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Helmi55 am 05 Juni 2016, 19:35:31

Titel: [gelöst] DOIF mit "wait" Problem
Beitrag von: Helmi55 am 05 Juni 2016, 19:35:31
Hallo guten Abend,
ich habe 3 DOIFs die meine Poolpumpe und Solarpumpe steuern.
1) DOIF schaltet die Poolumwälzpume für eine fixe Zeit ein (PoolMaster definiert = es ist Sommer-Poolbetrieb)
([11:00-19:00] and [PoolMaster] eq "on") (set PoolPumpe on) DOELSE (set PoolPumpe off)

2) DOIF wenn die Poolpumpe läuft und der eingestellte Hysteresewert (im Moment 5 Grad) tritt zu, schalte Solar dazu und warte beim Ausschalten 180
([PoolMaster] eq "on" and [PoolPumpe] eq "on" and ([SolarDiff]>[Hysterese:state])) (set SolarPumpe on) DOELSE (set SolarPumpe off)
3) das Problemkind - wenn vor oder nach der Hauptpumpenzeit (vor 11 oder nach 19 Uhr) noch genügend Solarwärme dazu kommt, schalte bitte die Poolpumpe und die Solarpumpe ein und warte auch 180 beim ausschalten
([PoolMaster] eq "on" and [PoolPumpe] eq "off" and ([SolarDiff]>[Hysterese:state])) (set SolarPumpe on, set PoolPumpe on) DOELSE (set SolarPumpe off, set PoolPumpe off))

Im Logfile sieht es aber so aus:

2016.06.04 09:37:29 3: CUL_HM set SolarPumpe on
2016.06.04 09:37:29 3: CUL_HM set PoolPumpe on
2016.06.04 09:37:30 3: CUL_HM set SolarPumpe on
2016.06.04 09:40:31 3: CUL_HM set SolarPumpe off
2016.06.04 09:40:31 3: CUL_HM set PoolPumpe off
2016.06.04 09:42:30 3: CUL_HM set SolarPumpe off


Bei DOIF 2 und 3 ist das attr  wait 0:180 gesetzt

Wieso schaltet dieses DOIF für meine Begriffe komisch?

Danke für eure Hilfe
Gruß
Helmut
Titel: Antw:DOIF mit "wait" Problem
Beitrag von: Helmi55 am 06 Juni 2016, 10:55:01
Jetzt nochmals ins Log geschaut
2016.06.06 10:43:22 3: CUL_HM set SolarPumpe on
2016.06.06 10:43:22 3: CUL_HM set PoolPumpe on
2016.06.06 10:43:23 3: CUL_HM set SolarPumpe on
2016.06.06 10:46:26 3: CUL_HM set SolarPumpe off
2016.06.06 10:46:26 3: CUL_HM set PoolPumpe off
2016.06.06 10:48:24 3: CUL_HM set SolarPumpe off


Kann es sein dass die Solarpumpe hier aus dem 2. DOIF den Befehl ausführt?
Das müsste heissen ich muss im 2ten DOIF auch noch den Zeitbefehl  11-19 Uhr einbauen??
Kann das jemand von den Experten bestätigen?

Nur wie bekomme ich es hin, dass die Pumpen nach dem Trigger auf die Hysterie noch 3 Minuten nachlaufen - damit die ganze Wärme von oben runter kommt

Danke
Helmut
Titel: Antw:DOIF mit "wait" Problem
Beitrag von: CoolTux am 06 Juni 2016, 11:34:00
Du hast 3 DOIFs welche das selbe Gerät mit Ähnlichen Abhängigkeiten schaltet? Warum machst Du das nicht erstmal in ein DOIF und arbeitest mit DOELSEIF abfragen.
Titel: Antw:DOIF mit "wait" Problem
Beitrag von: Helmi55 am 06 Juni 2016, 12:16:43
Ganz ehrlich .....
weil ich froh war es so hinzubekommen.
Aber du hast recht, werde mir das ansehen müssen
Danke
Helmut
Titel: Antw:DOIF mit "wait" Problem
Beitrag von: CoolTux am 06 Juni 2016, 12:21:02
Schau Dir mal an was Deine DOIF's genau machen.
Wenn das erste zuschlägt schaltest Du die Pumle an, darauf reagiert Dein zweites und schaltet auch wieder die Pumpe an.
Am besten noch mal in Ruhe sortieren.



Grüße
Titel: Antw:DOIF mit "wait" Problem
Beitrag von: Helmi55 am 07 Juni 2016, 09:52:18
Servus
ich hab mal klein angefangen -
Ich habe dem 2. DOIF auch die Zeitangabe dazugegeben
[/co([11:00-19:00] and [PoolMaster] eq "on" and [PoolPumpe] eq "on" and ([SolarDiff]>[Hysterese:state])) (set SolarPumpe on) DOELSE (set SolarPumpe off)]
Jetzt sieht das Ganze so aus:
[code]2016.06.07 09:40:16 3: CUL_HM set PoolPumpe on
2016.06.07 09:40:16 3: CUL_HM set SolarPumpe on
2016.06.07 09:45:17 3: CUL_HM set SolarPumpe off
2016.06.07 09:45:18 3: CUL_HM set PoolPumpe off

Ja, das Wait habe ich auf auf 0:300 gesetzt - dadurch wird das warme Wasser vollständig getauscht

Jetzt funktioniert es so wie ich es wollte. Irgendwann werde ich versuchen die DOIFs in EINES zusammenzufügen.

Danke
Schönen Tag