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

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

Vorheriges Thema - Nächstes Thema

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

holle75

was wäre der Vorteil gegenüber readingList ?

geht ja gerade. Ich test jetzt nochmal ein bißchen, pack das vom Testsystem wenn ich zurück bin in meine große Config, teste dann nochmal ein paar Tage und dann schreib ich hier am Anfang des Threads eine Zusammenfassung.

Wobei das ein bißchen dauern kann, weil ich vom Raspi 2 auf den Raspi 3 dann gleich umziehe, fhem von 5.7 auf 5.8 update, dann wahrscheinlich haareraufend ein paar Tage mit Problemen verbringe und dann erst testen kann.

Per

Zitat von: Damian am 28 April 2017, 16:34:08
myreadings gibt es noch nicht, es ist nur ein Ausblick.
Ups, ok, dann halt ein beliebiges Dummy.

holle75

Ich bin begeistert! Es funktioniert sogar mit Sonnenstand. Tausend Dank Per!

wie geschrieben fasse ich das später alles nochmal zusammen wenn eingebaut.

Jetzt hatte ich aber gerade noch eine Idee. Sorry ;)

Ursprünglich habe ich ja, wenn es die Pumpe schafft, Kreise zusammengefasst. Das kann man jetzt im Code auch recht luxuriös immer noch machen.

Was wäre aber, wenn man Kreise zusammenfassen könnte über eine SetList?

Hab mal angefangen, aber natürlich ist das unfertig gedacht: erstens kann man nur 2 Kreise zusammenfassen und wie man die setList dann entsprechend bastelt habe ich mir auch noch keine Gedanken gemacht.

define BeregnungDOIF_Trigger DOIF ([BeregnungDurchlauf_AN_AUS_AUTO] eq "on" or ([?BeregnungDurchlauf_AN_AUS_AUTO] eq "auto" and [BeregnungDOIF_NachSonne] eq "cmd_1")) \
() \
() \
(set SqueezeBoxPlayer.* talk Durchlauf Beregnung gestartet, set $SELF cmd_2) \
DOELSEIF (0) \
(set BeregnungDummy_Helper Beregner_01_Zitronen, IF ([Beregner_01_Zitronen:verbunden] ne "unlinked") (set BeregnungDummy_Helper [Beregner_01_Zitronen:verbunden], set ([Beregner_01_Zitronen:verbunden]:gelaufen) gelaufen) ) \
(set BeregnungDummy_Helper Beregner_01_Zitronen, IF ([Beregner_01_Zitronen:verbunden] ne "unlinked") set BeregnungDummy_Helper [Beregner_01_Zitronen:verbunden] ) \
(set $SELF cmd_3) \
DOELSEIF (0) \
(IF ([Beregner_02_CampeggioUnten:gelaufen] ne "gelaufen") (set BeregnungDummy_Helper Beregner_02_CampeggioUnten) )\
(set BeregnungDummy_Helper Beregner_02_CampeggioUnten) \
(set $SELF cmd_4) \

usw.....


aber ich bin jetzt schon völlig glücklich wenns dir mit den Gedankenspielen reicht! ....

Per

Unter welchen Bedingungen sind denn zwei Pumpen möglich und wann nur eine?

holle75

#65
da bräuchte es dann eine manuelle Logik. Also ich bin verantwortlich wie ich sie kombiniere.

Aber wie man das umsetzen könnte?

Ich dachte an eine Auswahlmöglichkeit pro Beregner-Dummy für einen verknüpften Beregner. Wenn dann der im ersten Dummy ausgewählte zweite Beregner auch eine Verknüpfung hat, läuft eben auch der verknüpfte dritte Beregner an.
Wenn der dritte keine Verknüpfung hat ist da eben Schluß und dann läufts die Auto-Reihe durch (bei der man dann abfragen muß ob schon gelaufen). Nicht Supergalant, aber ansonsten keine Idee wie man das visuell aufbereiten soll/kann. Man kann sozusagen nur den als erstes laufenden Block (die ersten x Minuten) verknüpfen.

Edit: Wobei wenn erstmal unterbrochen könnte der nächste dann auch wieder eine Gruppe bilden ... jetzt mal in Blaue gesprochen ohne groß nachzudenken.

pro Dummy attr setList mit allen Beregnern und einem unlinked.

Für andere, falls mal jemand 10 Kreise hat, wäre eine frei Verknüpfbarkeit klar cool .... wo man dann aber wieder visuell aufwendig wird und obs das wirklich so oft braucht?

Das wäre dann die Klickboxen-Lösung mit Gruppen

Ich kanns easy im Code machen, aber irgendwie nicht hübsch .... wenn vielleicht noch andere den Code nutzen wollen.

Per

Zwei (manuelle) Ansätze meinerseits:
Entweder ein Pulldown-Menü pro Pumpe mit der Position zur Auswahl oder (besser zu händeln, wird aber bei vielen Pumpen zu groß) ein Matrixfeld, wo du pro Pumpe mittels Radio-Button die Position auswählen kannst (dazu noch manuell an und aus).

holle75

Jup, Pulldown bei den Beregner Dummies (wie bei den Monaten) dachte ich auch. Hab schon ein bißchen gespielt, da wirds aber mit status:on:off:auto schwierig. Oder es gibt einen Trick den ich nicht kenne.

Matrix (Klickboxen?) hört sich spannend an. Mit Position meinst du wenn zwei/drei auf der selben Position sind laufen sie gleichzeitig?

Per

Pumpe an aus | Runde  1   2   3   4   5   6
1    ( ) ( )         (x) ( ) ( ) ( ) ( ) ( )
2    ( ) ( )         (x) ( ) ( ) ( ) ( ) ( )
3    ( ) ( )         (x) ( ) ( ) ( ) ( ) ( )
4    (x) ( )         ( ) ( ) ( ) ( ) ( ) ( )
5    ( ) (x)         ( ) ( ) ( ) ( ) ( ) ( )
6    ( ) ( )         ( ) ( ) ( ) ( ) ( ) (x)

holle75

#69
Zitat von: Per am 30 April 2017, 00:36:41
Pumpe an aus auto | Runde  1   2   3   4   5   6
1    ( ) ( )  ( )       (x) ( ) ( ) ( ) ( ) ( )
2    ( ) ( )  ( )       (x) ( ) ( ) ( ) ( ) ( )
3    ( ) ( )  ( )       (x) ( ) ( ) ( ) ( ) ( )
4    (x) ( )  ( )       ( ) ( ) ( ) ( ) ( ) ( )
5    ( ) (x)  ( )       ( ) ( ) ( ) ( ) ( ) ( )
6    ( ) ( )  ( )       ( ) ( ) ( ) ( ) ( ) (x)


so, oder

icon (an aus auto) wie jetzt plus runden-matrix wär auch lecker...

mhm, wobei so schneller zu Erfassen. Aber nicht so hübsch

Per


holle75


holle75

#72
Hallo Per, so jetzt sitz ich seit Tagen am Fehler lösen nach dem Umstieg Raspi2 -> Raspi3 und fhem 5.7 -> 5.8. Ich weiß schon, warum ich mir den Heckmeck versuche nur alle paar Jahre zu geben.

Wobei das mit dem jetzigen Problem nicht direkt etwas zu tun hat.

Da wir (resp. ich den Teil am Testsystem) die Schaltung der Cisternen Pumpe mit Dummies ausbaldowert haben, kommt jetzt im echen Leben die kleine Überraschung. Homematic Geräte haben ja die Eigenart beim Schalten diesen mir bis anhin sowieso nicht verständlichen Zwischenstand a la

PozzoHauptOben_PUMPE_Cisterna working: off

zu liefern. Dieser working state ist gerne mal das Gegenteil vom state direkt danach der uns interessiert.

Jetzt habe ich in

define BeregnungDOIF_PumpeCisterna DOIF ([#"^BEREGNUNG_SCHALTER_":state:"on"] != 0 or [?$SELF:manu] eq "on") \
(set PozzoHauptOben_PUMPE_Cisterna on) \
DOELSEIF  (["^PozzoHauptOben_PUMPE_Cisterna$:^off$"] and [?$SELF:cmd] != 4) \
(set $SELF manu off) \
DOELSEIF  (["^PozzoHauptOben_PUMPE_Cisterna$:^on$"] and [?$SELF:cmd] != 1) \
(set $SELF manu on) \
DOELSE \
(set PozzoHauptOben_PUMPE_Cisterna off)
attr BeregnungDOIF_PumpeCisterna group Beregnung
attr BeregnungDOIF_PumpeCisterna readingList manu
attr BeregnungDOIF_PumpeCisterna wait 0:0:0:10


schon mal cmd_2 und cmd_3 umgearbeitet. Das scheint zu funktionieren. Aber cmd_1 frisst leider auch den working: state.

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

versucht zu umgehen, will aber nicht.

Das blöde daran ist, das cmd_1 dadurch falsch getriggert wird.

Idee?

EDIT. scheint so, als bräuchte es die Änderung in cmd_2 und cmd_3 nicht. Habe mich im

matched_event_c1_1 working: off,off

matched_event_c2_1 off

matched_event_c3_1 on


matched event am Anfang verschaut. Die beiden werden sauber getriggert wenn man die Pumpe manuell anschaltet. Denke ich??!

cmd_1 fängt das working ....

Und ganz genau weiß ich jetzt nicht, was diese "working" Geschichte sonst noch so anrichtet im gesamten Code, da es mir die Pumpe immer ausschaltet :D

habe jetzt cmd_2 und cmd_3 zurückgebaut auf Original

define BeregnungDOIF_PumpeCisterna DOIF ([#"^BEREGNUNG_SCHALTER_":state:"on"] != 0 or [?$SELF:manu] eq "on") \
(set PozzoHauptOben_PUMPE_Cisterna on) \
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "off" and [?$SELF:cmd] != 4) \
(set $SELF manu off) \
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "on" and [?$SELF:cmd] != 1) \
(set $SELF manu on) \
DOELSE \
(set PozzoHauptOben_PUMPE_Cisterna off)
attr BeregnungDOIF_PumpeCisterna group Beregnung
attr BeregnungDOIF_PumpeCisterna readingList manu
attr BeregnungDOIF_PumpeCisterna wait 0:0:0:10


und ein List hätte ich auch noch

Internals:
   DEF        ([#"^BEREGNUNG_SCHALTER_":state:"on"] != 0 or [?$SELF:manu] eq "on")
(set PozzoHauptOben_PUMPE_Cisterna on)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "off" and [?$SELF:cmd] != 4)
(set $SELF manu off)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "on" and [?$SELF:cmd] != 1)
(set $SELF manu on)
DOELSE
(set PozzoHauptOben_PUMPE_Cisterna off)
   NAME       BeregnungDOIF_PumpeCisterna
   NR         612
   NTFY_ORDER 50-BeregnungDOIF_PumpeCisterna
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-05-04 15:51:42   Device          BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18
     2017-05-04 15:51:35   cmd             1
     2017-05-04 15:51:35   cmd_event       BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     2017-05-04 15:51:35   cmd_nr          1
     2017-05-04 15:51:39   e_PozzoHauptOben_PUMPE_Cisterna_STATE on
     2017-05-04 15:45:48   manu            on
     2017-05-04 15:51:42   matched_event_c1_1 working: off,off
     2017-05-04 15:31:26   matched_event_c2_1 off
     2017-05-04 15:31:16   matched_event_c3_1 on
     2017-05-04 15:51:35   state           cmd_1
     2017-05-04 15:51:42   wait_timer      no timer
   Condition:
     0          AggregateDoIf($hash,'#','^BEREGNUNG_SCHALTER_','state','"on"') != 0 or ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','manu') eq "on"
     1          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "off" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 4
     2          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "on" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 1
   Devices:
     1           PozzoHauptOben_PUMPE_Cisterna
     2           PozzoHauptOben_PUMPE_Cisterna
     all         PozzoHauptOben_PUMPE_Cisterna
   Do:
     0:
       0          set PozzoHauptOben_PUMPE_Cisterna on
     1:
       0          set BeregnungDOIF_PumpeCisterna manu off
     2:
       0          set BeregnungDOIF_PumpeCisterna manu on
     3:
       0          set PozzoHauptOben_PUMPE_Cisterna off
   Helper:
     event      working: off,off
     globalinit 1
     last_timer 0
     sleepdevice PozzoHauptOben_PUMPE_Cisterna
     sleepsubtimer 0
     sleeptimer -1
     timerdev   BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18
     timerevent working: off,off
     triggerDev BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18
     timerevents:
       working: off
       off
     timereventsState:
       working: off
       state: off
     triggerEvents:
       working: off
       off
     triggerEventsState:
       working: off
       state: off
   Internals:
     1           PozzoHauptOben_PUMPE_Cisterna:STATE
     2           PozzoHauptOben_PUMPE_Cisterna:STATE
     all         PozzoHauptOben_PUMPE_Cisterna:STATE
   Itimer:
   Readings:
   Regexp:
     0:
       0          ^BEREGNUNG_SCHALTER_
     1:
     2:
     All:
       0          ^BEREGNUNG_SCHALTER_
   State:
     State:
   Trigger:
Attributes:
   group      Beregnung
   readingList manu
   wait       0:0:0:10


und ein List nach Neustart und dem aktivieren eines Beregners

Internals:
   DEF        ([#"^BEREGNUNG_SCHALTER_":state:"on"] != 0 or [?$SELF:manu] eq "on")
(set PozzoHauptOben_PUMPE_Cisterna on)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "off" and [?$SELF:cmd] != 4)
(set $SELF manu off)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "on" and [?$SELF:cmd] != 1)
(set $SELF manu on)
DOELSE
(set PozzoHauptOben_PUMPE_Cisterna off)
   NAME       BeregnungDOIF_PumpeCisterna
   NR         612
   NTFY_ORDER 50-BeregnungDOIF_PumpeCisterna
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2017-05-04 16:01:30   Device          BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     2017-05-04 15:58:20   cmd             1
     2017-05-04 15:58:20   cmd_event       BEREGNUNG_SCHALTER_CampeggioUnten_12_7_MEQ0064131_18
     2017-05-04 15:58:20   cmd_nr          1
     2017-05-04 15:58:25   e_PozzoHauptOben_PUMPE_Cisterna_STATE on
     2017-05-04 15:45:48   manu            on
     2017-05-04 16:01:30   matched_event_c1_1 on,working: off
     2017-05-04 15:31:26   matched_event_c2_1 off
     2017-05-04 15:31:16   matched_event_c3_1 on
     2017-05-04 15:58:20   state           cmd_1
     2017-05-04 15:58:27   wait_timer      no timer
   Condition:
     0          AggregateDoIf($hash,'#','^BEREGNUNG_SCHALTER_','state','"on"') != 0 or ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','manu') eq "on"
     1          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "off" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 4
     2          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "on" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 1
   Devices:
     1           PozzoHauptOben_PUMPE_Cisterna
     2           PozzoHauptOben_PUMPE_Cisterna
     all         PozzoHauptOben_PUMPE_Cisterna
   Do:
     0:
       0          set PozzoHauptOben_PUMPE_Cisterna on
     1:
       0          set BeregnungDOIF_PumpeCisterna manu off
     2:
       0          set BeregnungDOIF_PumpeCisterna manu on
     3:
       0          set PozzoHauptOben_PUMPE_Cisterna off
   Helper:
     event      on,working: off
     globalinit 1
     last_timer 0
     sleepdevice PozzoHauptOben_PUMPE_Cisterna
     sleepsubtimer 0
     sleeptimer -1
     timerdev   BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     timerevent on,working: off
     triggerDev BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     timerevents:
       on
       working: off
     timereventsState:
       state: on
       working: off
     triggerEvents:
       on
       working: off
     triggerEventsState:
       state: on
       working: off
   Internals:
     1           PozzoHauptOben_PUMPE_Cisterna:STATE
     2           PozzoHauptOben_PUMPE_Cisterna:STATE
     all         PozzoHauptOben_PUMPE_Cisterna:STATE
   Itimer:
   Readings:
   Regexp:
     0:
       0          ^BEREGNUNG_SCHALTER_
     1:
     2:
     All:
       0          ^BEREGNUNG_SCHALTER_
   State:
     State:
   Trigger:
Attributes:
   group      Beregnung
   readingList manu
   wait       0:0:0:10

Per

Hättest du einen Auszug des EventViewers dieses Bereiches?
Evtl. kann man ja eine Abfrage hinzufügen, die speziell das "working" (ich kannte bisher nur "set_on" und "set_off" bei HM) abfängt, aber nix weiter macht.

holle75

Hallo Per, mit (.*BEREGNUNG.*|.*Beregner.*|.*BeregnungDOIF.*) im Event Monitor.

Das ist Pumpe (war an)  aus, ein Beregner ON

2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna wait_timer: 04.05.2017 17:08:48 cmd_4 PozzoHauptOben_PUMPE_Cisterna
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna wait_timer: no timer
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna manu: off
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna cmd_nr: 2
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna cmd: 2
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna cmd_event: PozzoHauptOben_PUMPE_Cisterna
2017-05-04 17:08:38 DOIF BeregnungDOIF_PumpeCisterna cmd_2
2017-05-04 17:09:20 DOIF BeregnungDOIF_Mapping cmd_nr: 1
2017-05-04 17:09:20 DOIF BeregnungDOIF_Mapping cmd: 1
2017-05-04 17:09:20 DOIF BeregnungDOIF_Mapping cmd_event: Beregner_03_Blauregen
2017-05-04 17:09:20 DOIF BeregnungDOIF_Mapping
2017-05-04 17:09:20 dummy Beregner_03_Blauregen on
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna cmd_nr: 1
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna cmd: 1
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna cmd_event: BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna cmd_1
2017-05-04 17:09:20 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 set_on
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna wait_timer: 04.05.2017 17:09:30 cmd_4 PozzoHauptOben_PUMPE_Cisterna
2017-05-04 17:09:20 HM485 BEREGNUNG_12_7_MEQ0064131 ACK
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna wait_timer: no timer
2017-05-04 17:09:20 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 on
2017-05-04 17:09:20 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 working: off
2017-05-04 17:09:20 DOIF BeregnungDOIF_PumpeCisterna wait_timer: 04.05.2017 17:09:30 cmd_4 PozzoHauptOben_PUMPE_Cisterna
2017-05-04 17:09:30 DOIF BeregnungDOIF_PumpeCisterna wait_timer: no timer
2017-05-04 17:09:30 DOIF BeregnungDOIF_PumpeCisterna cmd_nr: 4
2017-05-04 17:09:30 DOIF BeregnungDOIF_PumpeCisterna cmd: 4
2017-05-04 17:09:30 DOIF BeregnungDOIF_PumpeCisterna cmd_event: PozzoHauptOben_PUMPE_Cisterna
2017-05-04 17:09:30 DOIF BeregnungDOIF_PumpeCisterna cmd_4



Das ist direkt danach. Beregner OFF. Die Pumpe hat er schon oben nach 10 sek ausgeschaltet.

2017-05-04 17:11:26 DOIF BeregnungDOIF_Mapping cmd_nr: 2
2017-05-04 17:11:26 DOIF BeregnungDOIF_Mapping cmd: 2
2017-05-04 17:11:26 DOIF BeregnungDOIF_Mapping cmd_event: Beregner_03_Blauregen
2017-05-04 17:11:26 DOIF BeregnungDOIF_Mapping
2017-05-04 17:11:26 dummy Beregner_03_Blauregen off
2017-05-04 17:11:26 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 set_off
2017-05-04 17:11:26 HM485 BEREGNUNG_12_7_MEQ0064131 ACK
2017-05-04 17:11:26 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 working: off
2017-05-04 17:11:26 HM485 BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17 off


nach diesen beiden Vorgängen das list

Internals:
   DEF        ([#"^BEREGNUNG_SCHALTER_":state:"on"] != 0 or [?$SELF:manu] eq "on")
(set PozzoHauptOben_PUMPE_Cisterna on)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "off" and [?$SELF:cmd] != 4)
(set $SELF manu off)
DOELSEIF  ([PozzoHauptOben_PUMPE_Cisterna] eq "on" and [?$SELF:cmd] != 1)
(set $SELF manu on)
DOELSE
(set PozzoHauptOben_PUMPE_Cisterna off)
   NAME       BeregnungDOIF_PumpeCisterna
   NR         612
   NTFY_ORDER 50-BeregnungDOIF_PumpeCisterna
   STATE      cmd_4
   TYPE       DOIF
   Readings:
     2017-05-04 17:11:26   Device          BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     2017-05-04 17:09:30   cmd             4
     2017-05-04 17:09:30   cmd_event       PozzoHauptOben_PUMPE_Cisterna
     2017-05-04 17:09:30   cmd_nr          4
     2017-05-04 17:10:11   e_PozzoHauptOben_PUMPE_Cisterna_STATE off
     2017-05-04 17:08:38   manu            off
     2017-05-04 17:11:26   matched_event_c1_1 working: off,off
     2017-05-04 15:31:26   matched_event_c2_1 off
     2017-05-04 15:31:16   matched_event_c3_1 on
     2017-05-04 17:09:30   state           cmd_4
     2017-05-04 17:09:30   wait_timer      no timer
   Condition:
     0          AggregateDoIf($hash,'#','^BEREGNUNG_SCHALTER_','state','"on"') != 0 or ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','manu') eq "on"
     1          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "off" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 4
     2          InternalDoIf($hash,'PozzoHauptOben_PUMPE_Cisterna','STATE') eq "on" and ReadingValDoIf($hash,'BeregnungDOIF_PumpeCisterna','cmd') != 1
   Devices:
     1           PozzoHauptOben_PUMPE_Cisterna
     2           PozzoHauptOben_PUMPE_Cisterna
     all         PozzoHauptOben_PUMPE_Cisterna
   Do:
     0:
       0          set PozzoHauptOben_PUMPE_Cisterna on
     1:
       0          set BeregnungDOIF_PumpeCisterna manu off
     2:
       0          set BeregnungDOIF_PumpeCisterna manu on
     3:
       0          set PozzoHauptOben_PUMPE_Cisterna off
   Helper:
     event      working: off,off
     globalinit 1
     last_timer 0
     sleepdevice PozzoHauptOben_PUMPE_Cisterna
     sleepsubtimer -1
     sleeptimer -1
     timerdev   BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     timerevent working: off,off
     triggerDev BEREGNUNG_SCHALTER_Blauregen_12_7_MEQ0064131_17
     timerevents:
       working: off
       off
     timereventsState:
       working: off
       state: off
     triggerEvents:
       working: off
       off
     triggerEventsState:
       working: off
       state: off
   Internals:
     1           PozzoHauptOben_PUMPE_Cisterna:STATE
     2           PozzoHauptOben_PUMPE_Cisterna:STATE
     all         PozzoHauptOben_PUMPE_Cisterna:STATE
   Itimer:
   Readings:
   Regexp:
     0:
       0          ^BEREGNUNG_SCHALTER_
     1:
     2:
     All:
       0          ^BEREGNUNG_SCHALTER_
   State:
     State:
   Trigger:
Attributes:
   group      Beregnung
   readingList manu
   wait       0:0:0:10