2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00
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 247f0ee35e
commit 3489fa262e

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ätewerte innerhalb bestimmte Zeiträ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ä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ä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>