[gelöst] Beregnung/mehrere Kreise schaltbar/Sonnenstandabhängig/Pumpen gesteuert

Begonnen von holle75, 03 April 2017, 17:43:09

Vorheriges Thema - Nächstes Thema

holle75

Klar ist das ne Einladung. Und wenn du noch nicht in Italien warst dringend überfällig! Ist halt im Moment noch ein wenig baustellig :D ... aber wenn ein Camper oder Zelt dir zu unkommod ist, es gibt zum Schlafen hier rundrum ein paar nette Agriturismi.... oder du wartest noch ein Jahr, dann sollte fertig sein.

Per

Zitat von: holle75 am 12 Mai 2017, 12:32:14ein Camper
Bin selbst Camper (3x Esterel ;)), will sogar den Großen "verFHEMen" ;D ;D ;D.

holle75

wie jetzt? Camper und nicht regelmäßig in IT? Na dann auf bald!

holle75

Per, habe das ganze noch ein wenig aufgebohrt und bin im Teststadium. Läuft ganz nett, nur meine Tiefenpumpe macht komische Sachen :)

Problem, sie schaltet sich beim Kreiswechsel zwischendurch ab.

Das ist der Beregnungs Log

2017-07-10_08:48:47 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-10_08:48:47 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 on
2017-07-10_08:48:47 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 on
2017-07-10_08:48:47 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 on
2017-07-10_08:48:47 PozzoHauptOben_PUMPE_Cisterna on
2017-07-10_08:48:47 PozzoHauptOben_PUMPE_Pozzo on
2017-07-10_08:58:42 PozzoHauptOben_PUMPE_Cisterna on   << addLog
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 off
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 off
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 off
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 off
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_HinterKueche_12_7_MEQ0064131_15 on
2017-07-10_09:18:47 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-10_09:19:07 PozzoHauptOben_PUMPE_Pozzo off
2017-07-10_09:19:15 PozzoHauptOben_PUMPE_Pozzo on
2017-07-10_09:28:42 PozzoHauptOben_PUMPE_Cisterna on   << addLog
2017-07-10_09:48:47 BEREGNUNG_SCHALTER_HinterKueche_12_7_MEQ0064131_15 off
2017-07-10_09:48:47 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 off
2017-07-10_09:48:47 BEREGNUNG_SCHALTER_Waschhaus_12_7_MEQ0064131_16 on
2017-07-10_09:48:47 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 on
2017-07-10_09:48:47 PozzoHauptOben_PUMPE_Pozzo on
2017-07-10_09:49:07 PozzoHauptOben_PUMPE_Pozzo off
2017-07-10_09:49:16 PozzoHauptOben_PUMPE_Pozzo on
2017-07-10_09:58:42 PozzoHauptOben_PUMPE_Cisterna on   << addLog
2017-07-10_10:18:47 BEREGNUNG_SCHALTER_Waschhaus_12_7_MEQ0064131_16 off
2017-07-10_10:18:47 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 off
2017-07-10_10:18:47 BEREGNUNG_SCHALTER_CampeggioOben_12_7_MEQ0064131_13 on
2017-07-10_10:18:48 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 on
2017-07-10_10:19:07 PozzoHauptOben_PUMPE_Pozzo off
2017-07-10_10:19:18 PozzoHauptOben_PUMPE_Pozzo on
2017-07-10_10:28:42 PozzoHauptOben_PUMPE_Cisterna on   << addLog
2017-07-10_10:48:48 BEREGNUNG_SCHALTER_CampeggioOben_12_7_MEQ0064131_13 off
2017-07-10_10:48:48 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 off
2017-07-10_10:48:58 PozzoHauptOben_PUMPE_Cisterna off
2017-07-10_10:49:08 PozzoHauptOben_PUMPE_Pozzo off


und das die fhem.cfg für die Pumpe

define PozzoHauptOben_PUMPE_PozzoDOIF DOIF ([12:30-14:00] and [Xtender_AC_out:Power__W:d] < 1200 and [?$SELF:Laufzeit] < 7200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
(set $SELF cmd_4) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] ne "0" and [Xtender_AC_out:Power__W:d] < 1200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] eq "0" and [$SELF:cmd] eq "2") \
(sleep 20;;set $SELF cmd_4) \
DOELSEIF ([Xtender_AC_out:Power__W:d] > 2500 and ([$SELF:cmd_seqnr] eq "1" or [$SELF:cmd] eq "2")) \
(set $SELF Laufzeit {([$SELF:Laufzeit] + [PozzoHauptOben_PUMPE_Pozzo:state:sec])}, set PozzoHauptOben_PUMPE_Pozzo off) \
DOELSEIF ([04:00]) (set $SELF Laufzeit 0)
attr PozzoHauptOben_PUMPE_PozzoDOIF devStateIcon disabled:general_aus@red:initialize initialize:general_an@yellow:disable initialized:general_an@yellow:disable cmd_1:general_an@yellow:disable cmd_1_2:general_an@yellow:disable cmd_3:general_an@yellow:disable cmd_4:general_an@yellow:disable cmd_5:general_an@yellow:disable cmd_1_1:general_an@green:disable cmd_2:general_an@green:disable
attr PozzoHauptOben_PUMPE_PozzoDOIF group Beregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF readingList Laufzeit mitBeregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF room System
attr PozzoHauptOben_PUMPE_PozzoDOIF setList mitBeregnung:mit_Beregnung,Mittags
attr PozzoHauptOben_PUMPE_PozzoDOIF sortby 7
attr PozzoHauptOben_PUMPE_PozzoDOIF wait 180,7200-[$SELF:Laufzeit]:0:0:15:0
attr PozzoHauptOben_PUMPE_PozzoDOIF webCmd mitBeregnung


ich glaube das Problem ist, dass ja alle Beregner erstmal an, aber dann auch alle off geschaltet werden .... im selben Moment der nächste Kreis on geschaltet wird. Heißt aber, dass es einen Moment mit allen off gibt. Das scheint cmd 3 zu triggern. Dann dachte ich, vezögere ich halt den Befehl im Ausführungsteil von cmd 3, dass der DOELSEIF Fall im cmd 2 dann cmd 3 abbricht. Scheinbar macht er das nicht. Ich frage mich, warum? Glaube, Xtender_AC_out:Power__W, von cmd 2 triggert dann erst, wenn cmd 3 abgearbeitet ist. Davon ausgehend, dass [#"^BEREGNUNG_SCHALTER_":state:"^on$"] nur abgearbeitet wird, wenn ein anderes Device den DO-Fall triggert?

Idee?

Per

Zitat von: holle75 am 10 Juli 2017, 11:48:23Ich frage mich, warum?
Weil
(sleep 20;;set $SELF cmd_4)
ein Mini-at ergibt, welches unabhängig vom DOIF arbeitet, wenn es einmal angestartet wurde.
Vorteil: es geht auch mit set xxx cmd_3
Nachteil: es geht nicht weg, wenn DOIF umschaltet
Stell doch mal auf wait um.



holle75

ich schau mal, was morgen passiert. Wenn ich mich recht erinnere, hatte ich es mit wait probiert, mit ähnlichem Ergebnis. Kann aber auch sein, dass ich das wait für den Fall nicht lange genug gewählt hatte. Ich schau. Danke dir.

holle75

(fast) selbes Ergebnis:

beregnung log
017-07-11_08:48:50 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-11_08:48:50 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 on
2017-07-11_08:48:50 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 on
2017-07-11_08:48:50 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 on
2017-07-11_08:48:50 PozzoHauptOben_PUMPE_Cisterna on
2017-07-11_08:48:50 PozzoHauptOben_PUMPE_Pozzo on
2017-07-11_09:08:43 PozzoHauptOben_PUMPE_Cisterna on   << addLog
2017-07-11_09:18:50 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 off
2017-07-11_09:18:51 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 off
2017-07-11_09:18:51 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 off
2017-07-11_09:18:51 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 off
2017-07-11_09:18:51 BEREGNUNG_SCHALTER_HinterKueche_12_7_MEQ0064131_15 on
2017-07-11_09:18:51 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-11_09:19:36 PozzoHauptOben_PUMPE_Pozzo off
2017-07-11_09:19:46 PozzoHauptOben_PUMPE_Pozzo on


jetzt mit
define PozzoHauptOben_PUMPE_PozzoDOIF DOIF ([12:30-14:00] and [Xtender_AC_out:Power__W:d] < 1200 and [?$SELF:Laufzeit] < 7200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
(set $SELF cmd_4) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] ne "0" and [Xtender_AC_out:Power__W:d] < 1200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] eq "0" and [$SELF:cmd] eq "2") \
(set $SELF cmd_4) \
DOELSEIF ([Xtender_AC_out:Power__W:d] > 2500 and ([$SELF:cmd_seqnr] eq "1" or [$SELF:cmd] eq "2")) \
(set $SELF Laufzeit {([$SELF:Laufzeit] + [PozzoHauptOben_PUMPE_Pozzo:state:sec])}, set PozzoHauptOben_PUMPE_Pozzo off) \
DOELSEIF ([04:00]) (set $SELF Laufzeit 0)
attr PozzoHauptOben_PUMPE_PozzoDOIF devStateIcon disabled:general_aus@red:initialize initialize:general_an@yellow:disable initialized:general_an@yellow:disable cmd_1:general_an@yellow:disable cmd_1_2:general_an@yellow:disable cmd_3:general_an@yellow:disable cmd_4:general_an@yellow:disable cmd_5:general_an@yellow:disable cmd_1_1:general_an@green:disable cmd_2:general_an@green:disable
attr PozzoHauptOben_PUMPE_PozzoDOIF group Beregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF readingList Laufzeit mitBeregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF room System
attr PozzoHauptOben_PUMPE_PozzoDOIF setList mitBeregnung:mit_Beregnung,Mittags
attr PozzoHauptOben_PUMPE_PozzoDOIF sortby 7
attr PozzoHauptOben_PUMPE_PozzoDOIF wait 180,7200-[$SELF:Laufzeit]:0:45:0:0
attr PozzoHauptOben_PUMPE_PozzoDOIF webCmd mitBeregnung
#set PozzoHauptOben_PUMPE_PozzoDOIF Laufzeit 0


sleep raus, wait rein

holle75


2017-07-14_17:46:16 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-14_17:46:16 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 on
2017-07-14_17:46:16 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 on
2017-07-14_17:46:16 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 on
2017-07-14_17:46:16 PozzoHauptOben_PUMPE_Pozzo on
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 off
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 off
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 off
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 off
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_HinterKueche_12_7_MEQ0064131_15 on
2017-07-14_17:56:17 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 on
2017-07-14_18:06:17 BEREGNUNG_SCHALTER_HinterKueche_12_7_MEQ0064131_15 off
2017-07-14_18:06:17 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14 off
2017-07-14_18:06:17 BEREGNUNG_SCHALTER_Waschhaus_12_7_MEQ0064131_16 on
2017-07-14_18:06:17 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 on

2017-07-14_18:10:17 PozzoHauptOben_PUMPE_Pozzo off
2017-07-14_18:10:24 PozzoHauptOben_PUMPE_Pozzo on

2017-07-14_18:16:17 BEREGNUNG_SCHALTER_Waschhaus_12_7_MEQ0064131_16 off
2017-07-14_18:16:17 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04 off
2017-07-14_18:16:17 BEREGNUNG_SCHALTER_CampeggioOben_12_7_MEQ0064131_13 on
2017-07-14_18:16:17 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 on

2017-07-14_18:20:17 PozzoHauptOben_PUMPE_Pozzo off
2017-07-14_18:20:25 PozzoHauptOben_PUMPE_Pozzo on

2017-07-14_18:26:17 BEREGNUNG_SCHALTER_CampeggioOben_12_7_MEQ0064131_13 off
2017-07-14_18:26:17 BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18 off

2017-07-14_18:30:17 PozzoHauptOben_PUMPE_Pozzo off


wait habe ich jetzt mal übetrieben auf 4 Min. gesetzt. Wieso wird das wait komplett durchgeführt obwohl ein anderer DOIF-Fall definitiv eingetreten ist? ... und wieso tritt dann der DOIF-Fall eben doch nach Ablauf des waits ein?

das wait sollte doch "überschrieben" werden?

define PozzoHauptOben_PUMPE_PozzoDOIF DOIF ([12:30-14:00] and [Xtender_AC_out:Power__W:d] < 1200 and [?$SELF:Laufzeit] < 7200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
(set $SELF cmd_4) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] ne "0" and [Xtender_AC_out:Power__W:d] < 1200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] eq "0" and [$SELF:cmd] eq "2") \
(set $SELF cmd_4) \
DOELSEIF ([Xtender_AC_out:Power__W:d] > 2500 and ([$SELF:cmd_seqnr] eq "1" or [$SELF:cmd] eq "2")) \
(set $SELF Laufzeit {([$SELF:Laufzeit] + [PozzoHauptOben_PUMPE_Pozzo:state:sec])}, set PozzoHauptOben_PUMPE_Pozzo off) \
DOELSEIF ([04:00]) (set $SELF Laufzeit 0)
attr PozzoHauptOben_PUMPE_PozzoDOIF devStateIcon disabled:general_aus@red:initialize initialize:general_an@yellow:disable initialized:general_an@yellow:disable cmd_1:general_an@yellow:disable cmd_1_2:general_an@yellow:disable cmd_3:general_an@yellow:disable cmd_4:general_an@yellow:disable cmd_5:general_an@yellow:disable cmd_1_1:general_an@green:disable cmd_2:general_an@green:disable
attr PozzoHauptOben_PUMPE_PozzoDOIF group Beregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF readingList Laufzeit mitBeregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF room System
attr PozzoHauptOben_PUMPE_PozzoDOIF setList mitBeregnung:mit_Beregnung,Mittags
attr PozzoHauptOben_PUMPE_PozzoDOIF sortby 7
attr PozzoHauptOben_PUMPE_PozzoDOIF wait 180,7200-[$SELF:Laufzeit]:0:240:0:0
attr PozzoHauptOben_PUMPE_PozzoDOIF webCmd mitBeregnung
#set PozzoHauptOben_PUMPE_PozzoDOIF Laufzeit 0

Per

Stimmt, da war noch was. Muss mir dazu aber nochmal den Thread durchlesen, um zu wissen, was ich mir damals dabei gedacht hatte.

holle75


Per

Was mir als erstes auffällt: in Bedingung 3 und 4 wird abgefragt, ob $SELF:cmd(_seqnr) 1 bzw 2 ist. Aber triggernd, nicht mit "?". Muss das so? Darf eigentlich nicht, da attr selftrigger nicht aktiviert ist (was wiederum richtig ist).
Weiss aber nicht, wie sich das auswirkt, ob die Abfrage dennoch stattfindet, wenn auch nicht triggern, dazu kenne ich DOIF viel zu wenig. Aber mit den "?" machst du nix falsch.
Kannst du den status des "PozzoHauptOben_PUMPE_PozzoDOIF" mit loggen?
Für lists werden die Zeiten nicht reichen.

holle75

Leider, wie immer, ein sehr guter Punkt von dir mit dem ? ..... das könnte das Problem sein. Ich probiere und berichte.... man ist aber auch manchmal blind.

holle75

probiert. Das löst nicht das Problem. Ist aber trotzdem richtig. Ich mach jetzt mal ein eigenes DOIF für die Beregner.

holle75

selbst wenn ich den Part

[#"^BEREGNUNG_SCHALTER_":state:"^on$"]

in ein anderes DOIF lege und dann über eine "Variable" abfrage, also den Trigger aus PozzoHauptOben_PUMPE_PozzoDOIF rausnehme, macht er, trotz jetzt den Fragezeichen, den selben Mist. Ich logge jetzt mal den status mit

holle75

2017-07-19_08:53:43 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: 19.07.2017 08:53:45 cmd_2 BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14
2017-07-19_08:53:45 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: no timer
2017-07-19_08:53:45 PozzoHauptOben_PUMPE_PozzoDOIF cmd_nr: 2
2017-07-19_08:53:45 PozzoHauptOben_PUMPE_PozzoDOIF cmd: 2
2017-07-19_08:53:45 PozzoHauptOben_PUMPE_PozzoDOIF cmd_event: BEREGNUNG_SCHALTER_Zitronen_12_7_MEQ0064131_14
2017-07-19_08:53:45 PozzoHauptOben_PUMPE_PozzoDOIF cmd_2
2017-07-19_09:23:43 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: 19.07.2017 09:23:53 cmd_3 BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: no timer
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF Laufzeit: 1808
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_nr: 4
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd: 4
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_event: set_cmd_4
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_4
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_nr: 3
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd: 3
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_event: BEREGNUNG_SCHALTER_ZirkusUnten_2_2_MEQ0726012_04
2017-07-19_09:23:53 PozzoHauptOben_PUMPE_PozzoDOIF cmd_3
2017-07-19_09:23:57 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: 19.07.2017 09:23:59 cmd_2 Xtender_AC_out
2017-07-19_09:23:59 PozzoHauptOben_PUMPE_PozzoDOIF wait_timer: no timer
2017-07-19_09:23:59 PozzoHauptOben_PUMPE_PozzoDOIF cmd_nr: 2
2017-07-19_09:23:59 PozzoHauptOben_PUMPE_PozzoDOIF cmd: 2
2017-07-19_09:23:59 PozzoHauptOben_PUMPE_PozzoDOIF cmd_event: Xtender_AC_out
2017-07-19_09:23:59 PozzoHauptOben_PUMPE_PozzoDOIF cmd_2


log für einmal Beregner-Kreis umschalten. Und so geht es dann immer.

DOIF
define PozzoHauptOben_PUMPE_PozzoDOIF DOIF ([12:30-14:00] and [Xtender_AC_out:Power__W:d] < 1200 and [?$SELF:Laufzeit] < 7200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
(set $SELF cmd_4) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] ne "0" and [Xtender_AC_out:Power__W:d] < 1200) \
(set PozzoHauptOben_PUMPE_Pozzo on) \
DOELSEIF ([?$SELF:mitBeregnung] eq "mit_Beregnung" and [#"^BEREGNUNG_SCHALTER_":state:"^on$"] eq "0" and [?$SELF:cmd] eq "2") \
(set $SELF cmd_4) \
DOELSEIF ([Xtender_AC_out:Power__W:d] > 2500 and ([?$SELF:cmd_seqnr] eq "1" or [?$SELF:cmd] eq "2")) \
(set $SELF Laufzeit {([$SELF:Laufzeit] + [PozzoHauptOben_PUMPE_Pozzo:state:sec])}, set PozzoHauptOben_PUMPE_Pozzo off) \
DOELSEIF ([04:00]) (set $SELF Laufzeit 0)
attr PozzoHauptOben_PUMPE_PozzoDOIF devStateIcon disabled:general_aus@red:initialize initialize:general_an@yellow:disable initialized:general_an@yellow:disable cmd_1:general_an@yellow:disable cmd_1_2:general_an@yellow:disable cmd_3:general_an@yellow:disable cmd_4:general_an@yellow:disable cmd_5:general_an@yellow:disable cmd_1_1:general_an@green:disable cmd_2:general_an@green:disable
attr PozzoHauptOben_PUMPE_PozzoDOIF group Beregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF readingList Laufzeit mitBeregnung
attr PozzoHauptOben_PUMPE_PozzoDOIF room System
attr PozzoHauptOben_PUMPE_PozzoDOIF setList mitBeregnung:mit_Beregnung,Mittags
attr PozzoHauptOben_PUMPE_PozzoDOIF sortby 7
attr PozzoHauptOben_PUMPE_PozzoDOIF wait 180,7200-[$SELF:Laufzeit]:2:10:0:0
attr PozzoHauptOben_PUMPE_PozzoDOIF webCmd mitBeregnung
#set PozzoHauptOben_PUMPE_PozzoDOIF Laufzeit 0


was wahrscheinlich reinspielt, ist, dass ich mehrere Kreise gleichzeitig laufen lasse. Somit auch beim Kreiswechsel mehrere Beregner sowohl on als auch off geschaltet werden (im Log sieht man nur den ersten/letzten?). Im Moment wird cmd 3 komplett ausgeführt (weil vielleicht der letzte Beregner in der Abarbeitung off geht?) und dann triggert Xtender_AC_out (Abfrageintervall 10sek) wieder cmd 2. so entsteht die Pause. Aber was ich dann nicht verstehe: Selbst wenn ich das wait auf zb 4 Minuten stelle sollte  Xtender_AC_out innerhalb der 10 sek. cmd 2 triggern und das wait für cmd 3 überschreiben. Wieso passiert das nicht? Wieso wird das wait für cmd 3 komplett ausgeführt und dann darf  Xtender_AC_out erst triggern?

edit: Das DOIF für die cisterna läuft sauber durch.

define BeregnungDOIF_PumpeCisterna DOIF ([#"^BEREGNUNG_SCHALTER_":state:"^on$"] ne "0" or [?$SELF:manu] eq "on") \
(set PozzoHauptOben_PUMPE_Cisterna on) \
DOELSEIF  (["^PozzoHauptOben_PUMPE_Cisterna$:^off$"] and [?$SELF:cmd] ne "4") \
(set $SELF manu off) \
DOELSEIF  (["^PozzoHauptOben_PUMPE_Cisterna$:^on$"] and [?$SELF:cmd] ne "1") \
(set $SELF manu on) \
DOELSEIF ([#"^BEREGNUNG_SCHALTER_":state:"^on$"] eq "0") \
(set PozzoHauptOben_PUMPE_Cisterna off)
attr BeregnungDOIF_PumpeCisterna devStateIcon disabled:general_aus@red:initialize initialize:general_an@yellow:disable initialized:general_an@yellow:disable cmd_2:general_an@yellow:disable cmd_4:general_an@yellow:disable cmd_1:general_an@green:disable cmd_3:general_an@green:disable
attr BeregnungDOIF_PumpeCisterna group Beregnung
attr BeregnungDOIF_PumpeCisterna readingList manu
attr BeregnungDOIF_PumpeCisterna room System
attr BeregnungDOIF_PumpeCisterna wait 0:0:0:10