diff --git a/fhem/FHEM/98_DOIF.pm b/fhem/FHEM/98_DOIF.pm
index 186556ccf..c8956a721 100644
--- a/fhem/FHEM/98_DOIF.pm
+++ b/fhem/FHEM/98_DOIF.pm
@@ -1020,8 +1020,8 @@ sub AggrIntDoIf
$num++;
push (@devices,$devname);
} elsif (defined $value) {
+ $num++;
if ($type eq "sum" or $type eq "average") {
- $num++;
push (@devices,$devname);
$sum+=$number;
} elsif ($type eq "max") {
@@ -1035,7 +1035,6 @@ sub AggrIntDoIf
@devices=($devname);
}
} elsif ($type eq "median") {
- $num++;
push @median_values, $number;
push (@devices,$devname);
}
@@ -7409,6 +7408,7 @@ Eine ausführliche Erläuterung der obigen Anwendungsbeispiele kann hier nachgel
Indirekten Zeitangaben
Zeitsteuerung mit Zeitberechnung
Intervall-Timer
+ Zeittrigger alle X Tage
Kombination von Ereignis- und Zeitsteuerung mit logischen Abfragen
Zeitintervalle, Readings und Status ohne Trigger
Nutzung von Readings, Status oder Internals im Ausführungsteil
@@ -8259,7 +8259,7 @@ DOELSEIF ([([23:00]+int(rand(600)))])
Perl-Modus:
define di_light DOIF
-{[({sunset()}+900+int(rand(600)))];fhem_set"lamp on"}
+{[({sunset()}+900+int(rand(600)))];;fhem_set"lamp on"}
{[([23:00]+int(rand(600)))];;fhem_set"lamp off"}
@@ -8293,7 +8293,7 @@ Für die Zeitberechnung wird der Perlinterpreter benutzt, daher sind für die Be
Syntax:
-[<begin>-<end>,<relative timer>]
+[<begin>-<end>,<relative timer>]
Innerhalb des definierten Zeitintervalls, triggert der definierte Timer. Außerhalb des Zeitintervall wird kein Timer gesetzt.
@@ -8303,7 +8303,7 @@ Innerhalb des definierten Zeitintervalls, triggert der definierte Timer. Außerh
attr di_pump do always
Perl-Modus:
-define di_pump DOIF {[08:00-22:00,+:30];fhem_set"pump on-for-timer 300"}
+define di_pump DOIF {[08:00-22:00,+:30];;fhem_set"pump on-for-timer 300"}
Es wird um 08:00, 08:30, 09:00, ..., 21:30 Uhr die Anweisung ausgeführt. Um 22:00 wird das letzte Mal getriggert, das Zeitintervall ist zu diesem Zeitpunkt nicht mehr wahr.
@@ -8313,7 +8313,24 @@ Es lassen sich ebenso indirekte Timer, Timer-Funktionen, Zeitberechnungen sowie
attr di_rand_lamp do always
Perl-Modus:
-define di_rand_lamp DOIF {[{sunset()}-[end:state],+(rand(600)+900)|Sa So];fhem_set"lamp on-for-timer 300"}
+define di_rand_lamp DOIF {[{sunset()}-[end:state],+(rand(600)+900)|Sa So];;fhem_set"lamp on-for-timer 300"}
+
+
+Zeittrigger alle X Tage back
+
+Mit Hilfe der Zeitberechnung kann ein Zeitpunkt statt täglich alle X Tage triggern.
+
+Syntax:
+
+[([<time>]+<days>*[24:00])]
+
+Anwendungsbeispiel: Alle zwei Tage sollen Pflanzen um 21:00 Uhr gewässert werden:
+
+define di_water_plants DOIF ([([21:00]+2*[24:00])])(set water on-for-timer 60)
+attr di_water_plants do always
+
+Perl-Modus:
+define di_water_plants DOIF {[([21:00]+2*[24:00])];;fhem_set"water on-for-timer 60"}
Kombination von Ereignis- und Zeitsteuerung mit logischen Abfragen back