mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-25 16:05:19 +00:00
93_DbLog: contrib 5.7.0
git-svn-id: https://svn.fhem.de/fhem/trunk@27122 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
b46442210b
commit
87a5f3a0c4
@ -9002,6 +9002,8 @@ return;
|
||||
<li>-: identical to "history"</li>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><out><br>
|
||||
A dummy parameter for FileLog compatibility. Setting by default to <code>-</code>
|
||||
to check the output for plot-computing.<br>
|
||||
@ -9014,48 +9016,81 @@ return;
|
||||
<li>-: default</li>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><from> / <to><br>
|
||||
Used to select the data. Please use the following timeformat or
|
||||
an initial substring of it:<br>
|
||||
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
||||
<ul>
|
||||
<code>YYYY-MM-DD_HH24:MI:SS</code>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><column_spec><br>
|
||||
For each column_spec return a set of data separated by
|
||||
a comment line on the current connection.<br>
|
||||
<br>
|
||||
|
||||
Syntax: <device>:<reading>:<default>:<fn>:<regexp> <br>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<li><device><br>
|
||||
The name of the device. Case sensitive. Using a the joker "%" is supported.</li>
|
||||
The name of the device. Case sensitive. Using a the joker "%" is supported.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><reading><br>
|
||||
The reading of the given device to select. Case sensitive. Using a the joker "%" is supported.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><default><br>
|
||||
no implemented yet
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><fn>
|
||||
One of the following:
|
||||
<ul>
|
||||
<li>int<br>
|
||||
Extract the integer at the beginning of the string. Used e.g.
|
||||
for constructs like 10%</li>
|
||||
for constructs like 10%
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li>int<digit><br>
|
||||
Extract the decimal digits including negative character and
|
||||
decimal point at the beginning og the string. Used e.g.
|
||||
for constructs like 15.7°C</li>
|
||||
for constructs like 15.7°C
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li>delta-h / delta-d<br>
|
||||
Return the delta of the values for a given hour or a given day.
|
||||
Used if the column contains a counter, as is the case for the
|
||||
KS300 rain column.</li>
|
||||
KS300 rain column.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li>delta-ts<br>
|
||||
Replaced the original value with a measured value of seconds since
|
||||
the last and the actual logentry.
|
||||
</li>
|
||||
</ul></li>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><regexp><br>
|
||||
The string is evaluated as a perl expression. The regexp is executed
|
||||
before <fn> parameter.<br>
|
||||
Note: The string/perl expression cannot contain spaces,
|
||||
as the part after the space will be considered as the
|
||||
next column_spec.<br>
|
||||
<br>
|
||||
|
||||
<b>Keywords</b>
|
||||
<li>$val is the current value returned from the Database.</li>
|
||||
<li>$ts is the current timestamp returned from the Database.</li>
|
||||
@ -9063,28 +9098,55 @@ return;
|
||||
<li>This Logentry will not print out and not used in the following processing
|
||||
if $val contains th keyword "ignore". </li>
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<br><br>
|
||||
|
||||
Examples:
|
||||
<ul>
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
||||
<li><code>get myDbLog current ALL - - %:temperature</code></li><br>
|
||||
<li>
|
||||
<code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog current ALL - - %:temperature</code><br>
|
||||
you will get all actual readings "temperature" from all logged devices.
|
||||
Be careful by using "history" as inputfile because a long execution time will be expected!
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10_10 2012-11-10_20 KS300:temperature::int1</code><br>
|
||||
like from 10am until 08pm at 10.11.2012</li>
|
||||
<li><code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code></li>
|
||||
like from 10am until 08pm at 10.11.2012
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li>
|
||||
<code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li>
|
||||
<code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 MyFS20:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg</code><br>
|
||||
return 1 for all occurance of on* (on|on-for-timer etc) and 0 for all off*</li>
|
||||
return 1 for all occurance of on* (on|on-for-timer etc) and 0 for all off*
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 Bodenfeuchte:data:::$val=~s/.*B:\s([-\.\d]+).*/$1/eg</code><br>
|
||||
Example of OWAD: value like this: <code>"A: 49.527 % B: 66.647 % C: 9.797 % D: 0.097 V"</code><br>
|
||||
and output for port B is like this: <code>2012-11-20_10:23:54 66.647</code></li>
|
||||
and output for port B is like this: <code>2012-11-20_10:23:54 66.647</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get DbLog - - 2013-05-26 2013-05-28 Pumpe:data::delta-ts:$val=~s/on/hide/</code><br>
|
||||
Setting up a "Counter of Uptime". The function delta-ts gets the seconds between the last and the
|
||||
actual logentry. The keyword "hide" will hide the logentry of "on" because this time
|
||||
is a "counter of Downtime"</li>
|
||||
is a "counter of Downtime"
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
@ -9102,17 +9164,27 @@ return;
|
||||
<ul>
|
||||
<li><name><br>
|
||||
The name of the defined DbLog, like it is given in fhem.cfg.</li>
|
||||
<br>
|
||||
|
||||
<li><in><br>
|
||||
A dummy parameter for FileLog compatibility. Always set to <code>-</code></li>
|
||||
<br>
|
||||
|
||||
<li><out><br>
|
||||
A dummy parameter for FileLog compatibility. Set it to <code>webchart</code>
|
||||
to use the charting related get function.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><from> / <to><br>
|
||||
Used to select the data. Please use the following timeformat:<br>
|
||||
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
||||
<br>
|
||||
|
||||
<li><device><br>
|
||||
A string which represents the device to query.</li>
|
||||
<br>
|
||||
|
||||
<li><querytype><br>
|
||||
A string which represents the method the query should use. Actually supported values are: <br>
|
||||
<code>getreadings</code> to retrieve the possible readings for a given device<br>
|
||||
@ -9128,20 +9200,33 @@ return;
|
||||
<code>monthstats</code> to get statistics for a given value (yaxis) for a month.<br>
|
||||
<code>yearstats</code> to get statistics for a given value (yaxis) for a year.<br>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><xaxis><br>
|
||||
A string which represents the xaxis</li>
|
||||
<br>
|
||||
|
||||
<li><yaxis><br>
|
||||
A string which represents the yaxis</li>
|
||||
<br>
|
||||
|
||||
<li><savename><br>
|
||||
A string which represents the name a chart will be saved with</li>
|
||||
<br>
|
||||
|
||||
<li><chartconfig><br>
|
||||
A jsonstring which represents the chart to save</li>
|
||||
<br>
|
||||
|
||||
<li><pagingstart><br>
|
||||
An integer used to determine the start for the sql used for query 'getTableData'</li>
|
||||
<br>
|
||||
|
||||
<li><paginglimit><br>
|
||||
An integer used to set the limit for the sql used for query 'getTableData'</li>
|
||||
<br>
|
||||
</ul>
|
||||
<br><br>
|
||||
|
||||
<b>Examples:</b>
|
||||
<ul>
|
||||
<li><code>get logdb - webchart "" "" "" getcharts</code><br>
|
||||
@ -10692,6 +10777,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>-: identisch wie "history"</li>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><out><br>
|
||||
Ein Parameter um eine Kompatibilität zum Filelog herzustellen.
|
||||
@ -10705,29 +10791,45 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>-: default</li>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><from> / <to><br>
|
||||
Wird benutzt um den Zeitraum der Daten einzugrenzen. Es ist das folgende
|
||||
Zeitformat oder ein Teilstring davon zu benutzen:<br>
|
||||
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
||||
|
||||
<ul>
|
||||
<code>YYYY-MM-DD_HH24:MI:SS</code>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><column_spec><br>
|
||||
Für jede column_spec Gruppe wird ein Datenset zurückgegeben welches
|
||||
durch einen Kommentar getrennt wird. Dieser Kommentar repräsentiert
|
||||
die column_spec. <br>
|
||||
<br>
|
||||
Syntax: <device>:<reading>:<default>:<fn>:<regexp> <br>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<li><device><br>
|
||||
Der Name des Devices. Achtung: Gross/Kleinschreibung beachten!<br>
|
||||
Es kann ein % als Jokerzeichen angegeben werden.</li>
|
||||
Es kann ein % als Jokerzeichen angegeben werden.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><reading><br>
|
||||
Das Reading des angegebenen Devices zur Datenselektion.<br>
|
||||
Es kann ein % als Jokerzeichen angegeben werden.<br>
|
||||
Achtung: Gross/Kleinschreibung beachten!
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><default><br>
|
||||
Zur Zeit noch nicht implementiert.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><fn>
|
||||
Angabe einer speziellen Funktion:
|
||||
<ul>
|
||||
@ -10750,7 +10852,10 @@ attr SMA_Energymeter DbLogValueFn
|
||||
Ermittelt die vergangene Zeit zwischen dem letzten und dem aktuellen Logeintrag
|
||||
in Sekunden und ersetzt damit den originalen Wert.
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><regexp><br>
|
||||
Diese Zeichenkette wird als Perl Befehl ausgewertet.
|
||||
Die regexp wird vor dem angegebenen <fn> Parameter ausgeführt.
|
||||
@ -10759,8 +10864,10 @@ attr SMA_Energymeter DbLogValueFn
|
||||
enthalten da diese sonst als <column_spec> Trennung
|
||||
interpretiert werden und alles nach dem Leerzeichen als neue
|
||||
<column_spec> gesehen wird. <br>
|
||||
<br>
|
||||
|
||||
<b>Schlüsselwörter</b>
|
||||
|
||||
<li>$val ist der aktuelle Wert die die Datenbank für ein Device/Reading ausgibt.</li>
|
||||
<li>$ts ist der aktuelle Timestamp des Logeintrages.</li>
|
||||
<li>Wird als $val das Schlüsselwort "hide" zurückgegeben, so wird dieser Logeintrag nicht
|
||||
@ -10768,36 +10875,51 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>Wird als $val das Schlüsselwort "ignore" zurückgegeben, so wird dieser Logeintrag
|
||||
nicht für eine Folgeberechnung verwendet.</li>
|
||||
</li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<br><br>
|
||||
<b>Beispiele:</b>
|
||||
<ul>
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature</code></li><br>
|
||||
|
||||
<li><code>get myDbLog current ALL - - %:temperature</code></li><br>
|
||||
<li><code>get myDbLog current ALL - - %:temperature</code> <br>
|
||||
Damit erhält man alle aktuellen Readings "temperature" von allen in der DB geloggten Devices.
|
||||
Achtung: bei Nutzung von Jokerzeichen auf die history-Tabelle kann man sein FHEM aufgrund langer Laufzeit lahmlegen!
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10_10 2012-11-10_20 KS300:temperature::int1</code><br>
|
||||
gibt Daten aus von 10Uhr bis 20Uhr am 10.11.2012</li>
|
||||
gibt Daten aus von 10Uhr bis 20Uhr am 10.11.2012
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
||||
<li><code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code></li>
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 MyFS20:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg</code><br>
|
||||
gibt 1 zurück für alle Ausprägungen von on* (on|on-for-timer etc) und 0 für alle off*</li>
|
||||
gibt 1 zurück für alle Ausprägungen von on* (on|on-for-timer etc) und 0 für alle off*
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 Bodenfeuchte:data:::$val=~s/.*B:\s([-\.\d]+).*/$1/eg</code><br>
|
||||
Beispiel von OWAD: Ein Wert wie z.B.: <code>"A: 49.527 % B: 66.647 % C: 9.797 % D: 0.097 V"</code><br>
|
||||
und die Ausgabe ist für das Reading B folgende: <code>2012-11-20_10:23:54 66.647</code></li>
|
||||
und die Ausgabe ist für das Reading B folgende: <code>2012-11-20_10:23:54 66.647</code>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><code>get DbLog - - 2013-05-26 2013-05-28 Pumpe:data::delta-ts:$val=~s/on/hide/</code><br>
|
||||
Realisierung eines Betriebsstundenzählers. Durch delta-ts wird die Zeit in Sek zwischen den Log-
|
||||
Einträgen ermittelt. Die Zeiten werden bei den on-Meldungen nicht ausgegeben welche einer Abschaltzeit
|
||||
entsprechen würden.</li>
|
||||
entsprechen würden.
|
||||
</li>
|
||||
<br>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -10814,24 +10936,36 @@ attr SMA_Energymeter DbLogValueFn
|
||||
|
||||
<ul>
|
||||
<li><name><br>
|
||||
Der Name des definierten DbLogs, so wie er in der fhem.cfg angegeben wurde.</li>
|
||||
Der Name des definierten DbLogs, so wie er in der fhem.cfg angegeben wurde.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><in><br>
|
||||
Ein Dummy Parameter um eine Kompatibilität zum Filelog herzustellen.
|
||||
Dieser Parameter ist immer auf <code>-</code> zu setzen.</li>
|
||||
Dieser Parameter ist immer auf <code>-</code> zu setzen.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><out><br>
|
||||
Ein Dummy Parameter um eine Kompatibilität zum Filelog herzustellen.
|
||||
Dieser Parameter ist auf <code>webchart</code> zu setzen um die Charting Get Funktion zu nutzen.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><from> / <to><br>
|
||||
Wird benutzt um den Zeitraum der Daten einzugrenzen. Es ist das folgende
|
||||
Zeitformat zu benutzen:<br>
|
||||
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
||||
|
||||
<ul>
|
||||
<code>YYYY-MM-DD_HH24:MI:SS</code>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><device><br>
|
||||
Ein String, der das abzufragende Device darstellt.</li>
|
||||
Ein String, der das abzufragende Device darstellt.
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><querytype><br>
|
||||
Ein String, der die zu verwendende Abfragemethode darstellt. Zur Zeit unterstützte Werte sind: <br>
|
||||
@ -10848,26 +10982,39 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<code>monthstats</code> um Statistiken für einen Wert (yaxis) für einen Monat abzufragen.<br>
|
||||
<code>yearstats</code> um Statistiken für einen Wert (yaxis) für ein Jahr abzufragen.<br>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><xaxis><br>
|
||||
Ein String, der die X-Achse repräsentiert</li>
|
||||
Ein String, der die X-Achse repräsentiert
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><yaxis><br>
|
||||
Ein String, der die Y-Achse repräsentiert</li>
|
||||
Ein String, der die Y-Achse repräsentiert
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><savename><br>
|
||||
Ein String, unter dem ein Chart in der Datenbank gespeichert werden soll</li>
|
||||
Ein String, unter dem ein Chart in der Datenbank gespeichert werden soll
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><chartconfig><br>
|
||||
Ein jsonstring der den zu speichernden Chart repräsentiert</li>
|
||||
Ein jsonstring der den zu speichernden Chart repräsentiert
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><pagingstart><br>
|
||||
Ein Integer um den Startwert für die Abfrage 'getTableData' festzulegen</li>
|
||||
Ein Integer um den Startwert für die Abfrage 'getTableData' festzulegen
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<li><paginglimit><br>
|
||||
Ein Integer um den Limitwert für die Abfrage 'getTableData' festzulegen</li>
|
||||
Ein Integer um den Limitwert für die Abfrage 'getTableData' festzulegen
|
||||
</li>
|
||||
<br>
|
||||
</ul>
|
||||
<br><br>
|
||||
<br>
|
||||
|
||||
<b>Beispiele:</b>
|
||||
<ul>
|
||||
|
Loading…
x
Reference in New Issue
Block a user