git-svn-id: https://svn.fhem.de/fhem/trunk@6552 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
tpoitzsch
2014-09-14 10:03:05 +00:00
parent a4c41f9236
commit fab70210c6

View File

@@ -519,6 +519,7 @@ statistics_doStatisticMinMaxSingle ($$$$$$$)
$statReadingName .= ucfirst($readingName).$period; $statReadingName .= ucfirst($readingName).$period;
my @hidden; my @hidden;
my @stat; my @stat;
my $lastValue;
my $firstRun = not exists($hash->{READINGS}{$hiddenReadingName}); my $firstRun = not exists($hash->{READINGS}{$hiddenReadingName});
if ( $firstRun ) { if ( $firstRun ) {
@@ -557,13 +558,16 @@ statistics_doStatisticMinMaxSingle ($$$$$$$)
# Store single readings # Store single readings
my $singularReadings = AttrVal($name, "singularReadings", ""); my $singularReadings = AttrVal($name, "singularReadings", "");
if ($singularReadings ne "") { if ($singularReadings ne "") {
# statistics_storeSingularReadings $hashName,$singleReading,$dev,$statReadingName,$readingName,$statType,$period,$statValue,$value,$saveLast # statistics_storeSingularReadings $hashName,$singularReadings,$dev,$statReadingName,$readingName,$statType,$period,$statValue,$lastValue,$saveLast
my $statValue = sprintf "%.".$decPlaces."f", $stat[1]; my $statValue = sprintf "%.".$decPlaces."f", $stat[1];
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Min",$period,$statValue,$value,$saveLast); if ($saveLast) { $lastValue = $statValue; $statValue = $value; }
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Min",$period,$statValue,$lastValue,$saveLast);
$statValue = sprintf "%.".$decPlaces."f", $stat[3]; $statValue = sprintf "%.".$decPlaces."f", $stat[3];
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Avg",$period,$statValue,$value,$saveLast); if ($saveLast) { $lastValue = $statValue; $statValue = $value; }
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Avg",$period,$statValue,$lastValue,$saveLast);
$statValue = sprintf "%.".$decPlaces."f", $stat[5]; $statValue = sprintf "%.".$decPlaces."f", $stat[5];
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Max",$period,$statValue,$value,$saveLast); if ($saveLast) { $lastValue = $statValue; $statValue = $value; }
statistics_storeSingularReadings ($name,$singularReadings,$dev,$statReadingName,$readingName,"Max",$period,$statValue,$lastValue,$saveLast);
} }
# Store hidden reading # Store hidden reading
@@ -1096,12 +1100,20 @@ statistics_UpdateDevReading($$$$)
<ul style="width:800px"> <ul style="width:800px">
Dieses Modul wertet von den angegebenen Ger&auml;ten (als regul&auml;rer Ausdruck) bestimmte Werte statistisch aus und f&uuml;gt das Ergebnis den jeweiligen Ger&auml;ten als neue Werte hinzu. Dieses Modul wertet von den angegebenen Ger&auml;ten (als regul&auml;rer Ausdruck) bestimmte Werte statistisch aus und f&uuml;gt das Ergebnis den jeweiligen Ger&auml;ten als neue Werte hinzu.
<br> <br>
Derzeit werden Statistiken f&uuml;r folgende Ger&auml;tewerte vom Modul automatisch berechnet: Derzeit werden die folgenden Statistik-Typen f&uuml;r bestimmte Ger&auml;tewerte vom Modul automatisch berechnet:
<ul> <ul>
<li><b>Minimum, Durchschnitt und Maximum von Momentanwerten:</b> brightness, current, energy_current, humidity, temperature, voltage, wind, wind_speed, windSpeed</li> <li><b>Min|Avg|Max</b> Minimum, Durchschnitt und Maximum von Momentanwerten:
<li><b>Tendenz &uuml;ber 1h, 2h, 3h und 6h:</b> pressure</li> <br>
<li><b>Deltawerte von kumulierten Ger&auml;tewerten:</b> count, energy, energy_total, power, total, rain, rain_rate, rain_total</li> Zeitraum Tag, Monat, Jahr: <i>brightness, current, energy_current, humidity, temperature, voltage</i>
<li><b>Dauer der Status:</b> lightsensor, lock, motion, Window, window, state <i>(wenn kein anderer Ger&auml;tewert g&uuml;ltig)</i></li> <br>
Zeitraum Stunde, Tag, Monat, Jahr: <i>wind, wind_speed, windSpeed</i></li>
<li><b>Tendency</b> Tendenz &uuml;ber 1h, 2h, 3h und 6h: <i>pressure</i></li>
<li><b>Delta</b> Differenz zwischen Anfangs- und Endwerte innerhalb eines Zeitraums (Stunde, Tag, Monat, Jahr):
<br>
<i>count, energy, energy_total, power, total, rain, rain_rate, rain_total</i></li>
<li><b>Duration</b>Dauer der Status innerhalb eines Zeitraums (Tag, Monat, Jahr):
<br>
<i>lightsensor, lock, motion, Window, window, state (wenn kein anderer Ger&auml;tewert g&uuml;ltig)</i></li>
</ul> </ul>
Weitere Ger&auml;tewerte k&ouml;nnen &uuml;ber die entsprechenden <a href="#statisticsattr">Attribute</a> hinzugef&uuml;gt werden Weitere Ger&auml;tewerte k&ouml;nnen &uuml;ber die entsprechenden <a href="#statisticsattr">Attribute</a> hinzugef&uuml;gt werden
<br>&nbsp; <br>&nbsp;
@@ -1152,11 +1164,11 @@ statistics_UpdateDevReading($$$$)
</li><br> </li><br>
<li><code>deltaReadings &lt;Ger&auml;tewerte&gt;</code> <li><code>deltaReadings &lt;Ger&auml;tewerte&gt;</code>
<br> <br>
Durch Kommas getrennte Liste von Ger&auml;tewerten Durch Kommas getrennte Liste von weiteren Ger&auml;tewerten, f<>r welche die Differenz zwischen den Werten am Anfang und Ende einer Periode (Stunde/Tag/Monat/Jahr) bestimmt wird.
</li><br> </li><br>
<li><code>durationReadings &lt;Ger&auml;tewerte&gt;</code> <li><code>durationReadings &lt;Ger&auml;tewerte&gt;</code>
<br> <br>
Durch Kommas getrennte Liste von Ger&auml;tewerten Durch Kommas getrennte Liste von weiteren Ger&auml;tewerten, f<>r welche die Dauer einzelner Ger<65>tewerte innerhalb bestimmte Zeitr<74>ume (Stunde/Tag/Monat/Jahr) erfasst wird.
</li><br> </li><br>
<li><code>excludedReadings &lt;Ger&auml;tenameRegExp:Ger&auml;tewertRegExp&gt;</code> <li><code>excludedReadings &lt;Ger&auml;tenameRegExp:Ger&auml;tewertRegExp&gt;</code>
<br> <br>
@@ -1164,9 +1176,13 @@ statistics_UpdateDevReading($$$$)
z.B. "<code>FritzDect:current|Sensor_.*:humidity</code>" z.B. "<code>FritzDect:current|Sensor_.*:humidity</code>"
<br> <br>
</li><br> </li><br>
<li><code>hideAllSummaryReadings &lt;0 | 1&gt;</code>
<br>
noch nicht implementiert - Es werden keine gesammelten Statistiken angezeigt, sondern nur die unter "singularReadings" definierten Einzelwerte
</li><br>
<li><code>minAvgMaxReadings &lt;Ger&auml;tewerte&gt;</code> <li><code>minAvgMaxReadings &lt;Ger&auml;tewerte&gt;</code>
<br> <br>
Durch Kommas getrennte Liste von Ger&auml;tewerten Durch Kommas getrennte Liste von Ger&auml;tewerten, f<>r die in bestimmten Zeitr<74>umen (Tag, Monat, Jahr) Minimum, Mittelwert und Maximum erfasst werden.
</li><br> </li><br>
<li><code>periodChangePreset &lt;Sekunden&gt;</code> <li><code>periodChangePreset &lt;Sekunden&gt;</code>
<br> <br>
@@ -1175,13 +1191,13 @@ statistics_UpdateDevReading($$$$)
Erlaubt die korrekte zeitliche Zuordnung in Plots, kann je nach Systemauslastung verringert oder vergr&ouml;&szlig;ert werden Erlaubt die korrekte zeitliche Zuordnung in Plots, kann je nach Systemauslastung verringert oder vergr&ouml;&szlig;ert werden
<br> <br>
</li><br> </li><br>
<li><code>singularReadings &lt;Ger&auml;teNameRegExp:Ger&auml;teWertRegExp:StatistikTypen:ZeitPeriode&gt;</code> <li><code>singularReadings &lt;Ger&auml;teNameRegExp:Ger&auml;teWertRegExp:StatistikTypen:ZeitRaum&gt;</code>
<ul> <ul>
<li>StatistikTypen: Min|Avg|Max|Delta|Duration|Tendency</li> <li>StatistikTypen: Min|Avg|Max|Delta|Duration|Tendency</li>
<li>ZeitPeriode: Hour|Day|Month|Year|1h|2h|3h|6h</li> <li>ZeitRaum: Hour|Day|Month|Year|1h|2h|3h|6h</li>
</ul> </ul>
Regul&auml;rer Ausdruck statistischer Werte, die nicht nur in zusammengefassten sondern auch als einzelne Werte gespeichert werden sollen. Regul&auml;rer Ausdruck statistischer Werte, die nicht nur in zusammengefassten sondern auch als einzelne Werte gespeichert werden sollen.
Erleichtert die Erzeugung von Plots. Erleichtert die Erzeugung von Plots und anderer Auswertungen (notify).
<br> <br>
z.B. <code>Wettersensor:rain:Delta:(Hour|Day)|FritzDect:power:Delta:Day</code> z.B. <code>Wettersensor:rain:Delta:(Hour|Day)|FritzDect:power:Delta:Day</code>
</li><br> </li><br>
@@ -1191,7 +1207,7 @@ statistics_UpdateDevReading($$$$)
</li><br> </li><br>
<li><code>tendencyReadings &lt;Ger&auml;tewerte&gt;</code> <li><code>tendencyReadings &lt;Ger&auml;tewerte&gt;</code>
<br> <br>
Durch Kommas getrennte Liste von Ger&auml;tewerten Durch Kommas getrennte Liste von weiteren Ger&auml;tewerten, f<>r die innerhalb bestimmter Zeitr<74>ume (1h, 2h, 3h, 6h) die Differenz zwischen Anfangs- und Endwert ermittelt wird.
</li><br> </li><br>
<li><a href="#readingFnAttributes">readingFnAttributes</a> <li><a href="#readingFnAttributes">readingFnAttributes</a>
</li><br> </li><br>