Autor Thema: [gelöst] Beregnung/mehrere Kreise schaltbar/Sonnenstandabhängig/Pumpen gesteuert  (Gelesen 4622 mal)

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
Antw:Beregnung/mehrere Kreise schaltbar/Sonnenstandabhängig
« Antwort #120 am: 12 Mai 2017, 12:32:14 »
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.

Offline Per

  • Sr. Member
  • ****
  • Beiträge: 925
Antw:Beregnung/mehrere Kreise schaltbar/Sonnenstandabhängig
« Antwort #121 am: 12 Mai 2017, 13:45:07 »
ein Camper
Bin selbst Camper (3x Esterel ;)), will sogar den Großen "verFHEMen" ;D ;D ;D.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
Antw:Beregnung/mehrere Kreise schaltbar/Sonnenstandabhängig
« Antwort #122 am: 12 Mai 2017, 14:04:21 »
wie jetzt? Camper und nicht regelmäßig in IT? Na dann auf bald!

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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?
« Letzte Änderung: 10 Juli 2017, 11:51:53 von holle75 »

Offline Per

  • Sr. Member
  • ****
  • Beiträge: 925
Ich 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.



Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
(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

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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
« Letzte Änderung: 14 Juli 2017, 19:39:00 von holle75 »

Offline Per

  • Sr. Member
  • ****
  • Beiträge: 925
Stimmt, da war noch was. Muss mir dazu aber nochmal den Thread durchlesen, um zu wissen, was ich mir damals dabei gedacht hatte.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
... kam dir der Gedanke noch?

Offline Per

  • Sr. Member
  • ****
  • Beiträge: 925
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.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
probiert. Das löst nicht das Problem. Ist aber trotzdem richtig. Ich mach jetzt mal ein eigenes DOIF für die Beregner.

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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

Offline holle75

  • Full Member
  • ***
  • Beiträge: 381
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
« Letzte Änderung: 19 Juli 2017, 10:03:22 von holle75 »