mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 01:06:04 +00:00
93_DbRep: contrib 8.40.7
git-svn-id: https://svn.fhem.de/fhem/trunk@22732 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
606ed9fab1
commit
56c34776f4
@ -1107,8 +1107,7 @@ sub DbRep_Get {
|
||||
$ret .= "</div>";
|
||||
}
|
||||
|
||||
# Notes
|
||||
if(!$prop || $prop =~ /rel/) {
|
||||
if(!$prop || $prop =~ /rel/) { # Notes
|
||||
$ret .= sprintf("<div class=\"makeTable wide\"; style=\"text-align:left\">$header <br>");
|
||||
$ret .= "<table class=\"block wide internals\">";
|
||||
$ret .= "<tbody>";
|
||||
@ -1119,8 +1118,7 @@ sub DbRep_Get {
|
||||
$ret .= sprintf("<td style=\"vertical-align:top\"><b>$key</b> </td><td style=\"vertical-align:top\">$val0 </td><td>$val1</td>" );
|
||||
$ret .= "</tr>";
|
||||
$i++;
|
||||
if ($i & 1) {
|
||||
# $i ist ungerade
|
||||
if ($i & 1) { # $i ist ungerade
|
||||
$ret .= "<tr class=\"odd\">";
|
||||
} else {
|
||||
$ret .= "<tr class=\"even\">";
|
||||
@ -13436,7 +13434,7 @@ return;
|
||||
<br><br>
|
||||
|
||||
<a name="dbstatus"></a>
|
||||
<li><b> dbstatus </b> - lists global informations about MySQL server status (e.g. informations related to cache, threads, bufferpools, etc. ).
|
||||
<li><b> dbstatus </b> - lists global information about MySQL server status (e.g. informations related to cache, threads, bufferpools, etc. ).
|
||||
Initially all available informations are reported. Using the <a href="#DbRepattr">attribute</a> "showStatus" the quantity of
|
||||
results can be limited to show only the desired values. Further detailed informations of items meaning are
|
||||
explained <a href=http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html>there</a>. <br><br>
|
||||
@ -13452,8 +13450,20 @@ return;
|
||||
|
||||
<a name="sqlCmdBlocking"></a>
|
||||
<li><b> sqlCmdBlocking <SQL-statement></b> -
|
||||
Executes the specified SQL-statement in <b>blocking</b> manner. Because of its mode of operation
|
||||
this function is particular convenient for user own perl scripts. <br>
|
||||
Executes the specified SQL-statement in <b>blocking</b> manner.
|
||||
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Examples:</b> <br>
|
||||
{ fhem("get <name> sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device") } <br>
|
||||
{ CommandGet(undef,"Rep.LogDB1 sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device") } <br>
|
||||
get <name> sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device <br>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
Because of its mode of operation this function is particular convenient for user own perl scripts. <br>
|
||||
The input accepts multi line commands and delivers multi line results as well.
|
||||
This command also accept the setting of SQL session variables like "SET @open:=NULL,
|
||||
@closed:=NULL;". <br>
|
||||
@ -13461,15 +13471,6 @@ return;
|
||||
by <a href="#DbRepattr">attribute</a> "sqlResultFieldSep" (default "|"). Several result lines
|
||||
are separated by newline ("\n"). <br>
|
||||
This function only set/update status readings, the userExitFn function isn't called.
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<b>Examples:</b> <br>
|
||||
{ fhem("get <name> sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device") } <br>
|
||||
{ CommandGet(undef,"Rep.LogDB1 sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device") } <br>
|
||||
get <name> sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device <br>
|
||||
</ul>
|
||||
</li>
|
||||
<br><br>
|
||||
|
||||
If you create a little routine in 99_myUtils, for example:
|
||||
@ -13568,24 +13569,29 @@ sub dbval {
|
||||
|
||||
<a name="versionNotes"></a>
|
||||
<li><b> versionNotes [hints | rel | <key>] </b> -
|
||||
Shows realease informations and/or hints about the module. It contains only main release
|
||||
informations for module users. <br>
|
||||
If no options are specified, both release informations and hints will be shown. "rel" shows
|
||||
only release informations and "hints" shows only hints. By the <key>-specification only
|
||||
the hint with the specified number is shown.
|
||||
Shows realease informations and/or hints about the module.
|
||||
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> rel </td><td>: zeigt nur Release Informationen </td></tr>
|
||||
<tr><td> hints </td><td>: zeigt nur Hinweise an </td></tr>
|
||||
<tr><td> <key> </td><td>: es wird der Hinweis mit der angegebenen Nummer angezeigt </td></tr>
|
||||
</table>
|
||||
<table>
|
||||
<colgroup> <col width=5%> <col width=95%> </colgroup>
|
||||
<tr><td> rel </td><td>: shows only release information </td></tr>
|
||||
<tr><td> hints </td><td>: shows only hints </td></tr>
|
||||
<tr><td> <key> </td><td>: the note with the specified number is displayed </td></tr>
|
||||
</table>
|
||||
</ul>
|
||||
|
||||
</li>
|
||||
|
||||
<br>
|
||||
|
||||
It contains only main release informations for module users. <br>
|
||||
If no options are specified, both release informations and hints will be shown. "rel" shows
|
||||
only release informations and "hints" shows only hints. By the <key>-specification only
|
||||
the hint with the specified number is shown.
|
||||
<br>
|
||||
|
||||
</ul></ul>
|
||||
|
||||
</ul>
|
||||
@ -14634,23 +14640,24 @@ sub bdump {
|
||||
|
||||
<ul><ul>
|
||||
|
||||
|
||||
<li><b> adminCredentials <User> <Passwort> </b>
|
||||
- Speichert einen User / Passwort für den privilegierten bzw. administrativen
|
||||
Datenbankzugriff. Er wird bei Datenbankoperationen benötigt, die mit einem privilegierten User
|
||||
ausgeführt werden müssen. Siehe auch Attribut <a href="#useAdminCredentials">'useAdminCredentials'</a>. <br>
|
||||
(nur gültig bei Datenbanktyp MYSQL und DbRep-Typ "Client")
|
||||
|
||||
</li> <br>
|
||||
|
||||
|
||||
<li><b> averageValue [display | writeToDB | writeToDBSingle | writeToDBInTime]</b>
|
||||
- berechnet einen Durchschnittswert des Datenbankfelds "VALUE" in den Zeitgrenzen
|
||||
der möglichen time.*-Attribute. <br><br>
|
||||
</li>
|
||||
|
||||
Es muss das auszuwertende Reading im Attribut <a href="#reading">reading</a>
|
||||
angegeben sein.
|
||||
Mit dem Attribut <a href="#averageCalcForm">averageCalcForm</a> wird die Berechnungsvariante zur
|
||||
Mittelwertermittlung definiert. <br><br>
|
||||
|
||||
Mittelwertermittlung definiert. <br>
|
||||
Ist keine oder die Option <b>display</b> angegeben, werden die Ergebnisse nur angezeigt. Mit
|
||||
den Optionen <b>writeToDB</b>, <b>writeToDBSingle</b> bzw. <b>writeToDBInTime</b> werden die Berechnungsergebnisse
|
||||
mit einem neuen Readingnamen in der Datenbank gespeichert. <br><br>
|
||||
@ -14698,38 +14705,42 @@ sub bdump {
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</li> <br>
|
||||
<br>
|
||||
|
||||
|
||||
<li><b> cancelDump </b> - bricht einen laufenden Datenbankdump ab. </li> <br>
|
||||
|
||||
|
||||
<li><b> changeValue </b> - ändert den gespeicherten Wert eines Readings.
|
||||
Ist die Selektion auf bestimmte Device/Reading-Kombinationen durch die
|
||||
<a href="#DbRepattr">Attribute</a> "device" bzw. "reading" beschränkt, werden sie genauso
|
||||
Ist die Selektion auf bestimmte Device/Reading-Kombinationen durch die Attribute
|
||||
<a href="#device">device</a> bzw. <a href="#reading">reading</a> beschränkt, werden sie genauso
|
||||
berücksichtigt wie gesetzte Zeitgrenzen (Attribute time.*). <br>
|
||||
Fehlen diese Beschränkungen, wird die gesamte Datenbank durchsucht und der angegebene Wert
|
||||
geändert. <br><br>
|
||||
</li>
|
||||
|
||||
<ul>
|
||||
<b>Syntax: </b> <br>
|
||||
set <name> changeValue "<alter String>","<neuer String>" <br><br>
|
||||
<b>Syntax: </b> <br>
|
||||
set <name> changeValue "<alter String>","<neuer String>" <br><br>
|
||||
|
||||
Die Strings werden in Doppelstrich eingeschlossen und durch Komma getrennt.
|
||||
Dabei kann "String" sein: <br>
|
||||
"String" kann sein: <br>
|
||||
|
||||
<table>
|
||||
<colgroup> <col width=15%> <col width=85%> </colgroup>
|
||||
<tr><td><b><alter String> :</b> </td><td><li>ein einfacher String mit/ohne Leerzeichen, z.B. "OL 12" </li>
|
||||
<table>
|
||||
<colgroup> <col width=15%> <col width=85%> </colgroup>
|
||||
<tr><td><b><alter String> :</b> </td><td><li>ein einfacher String mit/ohne Leerzeichen, z.B. "OL 12" </li>
|
||||
<li>ein String mit Verwendung von SQL-Wildcard, z.B. "%OL%" </li> </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td><b><neuer String> :</b> </td><td><li>ein einfacher String mit/ohne Leerzeichen, z.B. "12 kWh" </li>
|
||||
<li>Perl Code eingeschlossen in "{}" inkl. Quotes, z.B. "{($VALUE,$UNIT) = split(" ",$VALUE)}".
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td><b><neuer String> :</b> </td><td><li>ein einfacher String mit/ohne Leerzeichen, z.B. "12 kWh" </li>
|
||||
<li>Perl Code eingeschlossen in "{}" inkl. Quotes, z.B. "{($VALUE,$UNIT) = split(" ",$VALUE)}".
|
||||
Dem Perl-Ausdruck werden die Variablen $VALUE und $UNIT übergeben. Sie können innerhalb
|
||||
des Perl-Code geändert werden. Der zurückgebene Wert von $VALUE und $UNIT wird in dem Feld
|
||||
VALUE bzw. UNIT des Datensatzes gespeichert. </li></td></tr>
|
||||
</table>
|
||||
</table>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<b>Beispiele: </b> <br>
|
||||
set <name> changeValue "OL","12 OL" <br>
|
||||
# der alte Feldwert "OL" wird in "12 OL" geändert. <br><br>
|
||||
@ -14764,15 +14775,18 @@ sub bdump {
|
||||
<b>Hinweis:</b> <br>
|
||||
Obwohl die Funktion selbst non-blocking ausgelegt ist, sollte das zugeordnete DbLog-Device
|
||||
im asynchronen Modus betrieben werden um ein Blockieren von FHEMWEB zu vermeiden (Tabellen-Lock). <br><br>
|
||||
</li> <br>
|
||||
<br>
|
||||
</ul>
|
||||
|
||||
|
||||
<li><b> countEntries [history | current] </b>
|
||||
- liefert die Anzahl der Tabelleneinträge (default: history) in den gegebenen
|
||||
Zeitgrenzen (siehe <a href="#DbRepattr">Attribute</a>).
|
||||
Sind die Timestamps nicht gesetzt, werden alle Einträge der Tabelle gezählt.
|
||||
Beschränkungen durch die <a href="#DbRepattr">Attribute</a> Device bzw. Reading
|
||||
Beschränkungen durch die Attribute <a href="#device">device</a> bzw. <a href="#reading">reading</a>
|
||||
gehen in die Selektion mit ein. <br>
|
||||
</li>
|
||||
|
||||
Standardmäßig wird die Summe aller Datensätze, gekennzeichnet mit "ALLREADINGS", erstellt.
|
||||
Ist das Attribut "countEntriesDetail" gesetzt, wird die Anzahl jedes einzelnen Readings
|
||||
zusätzlich ausgegeben. <br><br>
|
||||
@ -14793,7 +14807,8 @@ sub bdump {
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
</li> <br>
|
||||
<br>
|
||||
|
||||
|
||||
<li><b> delDoublets [adviceDelete | delete]</b> - zeigt bzw. löscht doppelte / mehrfach vorkommende Datensätze.
|
||||
Dazu wird Timestamp, Device,Reading und Value ausgewertet. <br>
|
||||
@ -14801,6 +14816,7 @@ sub bdump {
|
||||
berücksichtigt. Ist das Attribut "aggregation" nicht oder auf "no" gesetzt, wird im Standard die Aggregation
|
||||
"day" verwendet.
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<ul>
|
||||
<table>
|
||||
@ -14811,15 +14827,15 @@ sub bdump {
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
Aus Sicherheitsgründen muss das <a href="#DbRepattr">Attribut</a> "allowDeletion" für die "delete" Option
|
||||
Aus Sicherheitsgründen muss das Attribut <a href="#allowDeletion">allowDeletion</a> für die "delete" Option
|
||||
gesetzt sein. <br>
|
||||
Die Anzahl der anzuzeigenden Datensätze des Kommandos "delDoublets adviceDelete" ist zunächst
|
||||
begrenzt (default 1000) und kann durch das <a href="#DbRepattr">Attribut</a> "limit" angepasst
|
||||
begrenzt (default 1000) und kann durch das Attribut <a href="#limit">limit</a> angepasst
|
||||
werden.
|
||||
Die Einstellung von "limit" hat keinen Einfluss auf die "delDoublets delete" Funktion, sondern
|
||||
beeinflusst <b>NUR</b> die Anzeige der Daten. <br>
|
||||
Vor und nach der Ausführung von "delDoublets" kann ein FHEM-Kommando bzw. Perl-Routine ausgeführt
|
||||
werden. (siehe <a href="#DbRepattr">Attribute</a> "executeBeforeProc", "executeAfterProc")
|
||||
werden. (siehe Attribute <a href="#executeBeforeProc">executeBeforeProc</a>, <a href="#executeAfterProc">executeAfterProc</a>)
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
@ -14855,8 +14871,6 @@ sub bdump {
|
||||
<br>
|
||||
<br>
|
||||
|
||||
</li>
|
||||
|
||||
<li><b> delEntries [<no>[:<nn>]] </b> - löscht alle oder die durch die <a href="#DbRepattr">Attribute</a> device und/oder
|
||||
reading definierten Datenbankeinträge. Die Eingrenzung über Timestamps erfolgt
|
||||
folgendermaßen: <br><br>
|
||||
@ -16067,8 +16081,8 @@ sub bdump {
|
||||
|
||||
<ul>
|
||||
<b>Beispiel</b> <br>
|
||||
get <name> dbstatus <br>
|
||||
attr <name> showStatus %uptime%,%qcache% <br>
|
||||
get <name> dbstatus <br>
|
||||
# Es werden nur Readings erzeugt die im Namen "uptime" und "qcache" enthaltenen
|
||||
</ul>
|
||||
</li>
|
||||
@ -16077,19 +16091,6 @@ sub bdump {
|
||||
<a name="sqlCmdBlocking"></a>
|
||||
<li><b> sqlCmdBlocking <SQL-Statement></b> -
|
||||
Führt das angegebene SQL-Statement <b>blockierend</b> mit einem Standardtimeout von 10 Sekunden aus.
|
||||
Der Timeout kann mit dem Attribut <a href="#dbreptimeout">timeout</a> verändert werden.
|
||||
<br>
|
||||
|
||||
Diese Funktion ist durch ihre Arbeitsweise
|
||||
speziell für den Einsatz in benutzerspezifischen Scripten geeignet. <br>
|
||||
Die Eingabe akzeptiert Mehrzeiler und gibt ebenso mehrzeilige Ergebisse zurück.
|
||||
Dieses Kommando akzeptiert ebenfalls das Setzen von SQL Session Variablen wie z.B.
|
||||
"SET @open:=NULL, @closed:=NULL;". <br>
|
||||
Werden mehrere Felder selektiert und zurückgegeben, erfolgt die Feldtrennung mit dem Trenner
|
||||
des <a href="#DbRepattr">Attributes</a> "sqlResultFieldSep" (default "|"). Mehrere Ergebniszeilen
|
||||
werden mit Newline ("\n") separiert. <br>
|
||||
Diese Funktion setzt/aktualisiert nur Statusreadings, die Funktion im Attribut "userExitFn"
|
||||
wird nicht aufgerufen.
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
@ -16099,6 +16100,20 @@ sub bdump {
|
||||
get <name> sqlCmdBlocking select device,count(*) from history where timestamp > '2018-04-01' group by device <br>
|
||||
</ul>
|
||||
</li>
|
||||
<br>
|
||||
|
||||
Der Timeout kann mit dem Attribut <a href="#dbreptimeout">timeout</a> verändert werden.
|
||||
<br>
|
||||
|
||||
Diese Funktion ist durch ihre Arbeitsweise speziell für den Einsatz in benutzerspezifischen Scripten geeignet. <br>
|
||||
Die Eingabe akzeptiert Mehrzeiler und gibt ebenso mehrzeilige Ergebisse zurück.
|
||||
Dieses Kommando akzeptiert ebenfalls das Setzen von SQL Session Variablen wie z.B.
|
||||
"SET @open:=NULL, @closed:=NULL;". <br>
|
||||
Werden mehrere Felder selektiert und zurückgegeben, erfolgt die Feldtrennung mit dem Trenner
|
||||
des <a href="#DbRepattr">Attributes</a> "sqlResultFieldSep" (default "|"). Mehrere Ergebniszeilen
|
||||
werden mit Newline ("\n") separiert. <br>
|
||||
Diese Funktion setzt/aktualisiert nur Statusreadings, die Funktion im Attribut "userExitFn"
|
||||
wird nicht aufgerufen.
|
||||
<br><br>
|
||||
|
||||
Erstellt man eine kleine Routine in 99_myUtils, wie z.B.:
|
||||
@ -16132,8 +16147,8 @@ sub dbval {
|
||||
|
||||
<ul>
|
||||
<b>Beispiel</b> <br>
|
||||
get <name> dbvars <br>
|
||||
attr <name> showVariables %version%,%query_cache% <br>
|
||||
get <name> dbvars <br>
|
||||
# Es werden nur Readings erzeugt die im Namen "version" und "query_cache" enthalten
|
||||
</ul>
|
||||
</li>
|
||||
@ -16173,8 +16188,8 @@ sub dbval {
|
||||
|
||||
<ul>
|
||||
<b>Beispiel</b> <br>
|
||||
get <name> svrinfo <br>
|
||||
attr <name> showSvrInfo %SQL_CATALOG_TERM%,%NAME% <br>
|
||||
get <name> svrinfo <br>
|
||||
# Es werden nur Readings erzeugt die im Namen "SQL_CATALOG_TERM" und "NAME" enthalten
|
||||
</ul>
|
||||
</li>
|
||||
@ -16188,8 +16203,8 @@ sub dbval {
|
||||
|
||||
<ul>
|
||||
<b>Beispiel</b> <br>
|
||||
get <name> tableinfo <br>
|
||||
attr <name> showTableInfo current,history <br>
|
||||
get <name> tableinfo <br>
|
||||
# Es werden nur Information der Tabellen "current" und "history" angezeigt
|
||||
</ul>
|
||||
</li>
|
||||
@ -16197,9 +16212,7 @@ sub dbval {
|
||||
|
||||
<a name="versionNotes"></a>
|
||||
<li><b> versionNotes [hints | rel | <key>] </b> -
|
||||
Zeigt Release Informationen und/oder Hinweise zum Modul an. Es sind nur Release Informationen mit
|
||||
Bedeutung für den Modulnutzer enthalten. <br>
|
||||
Sind keine Optionen angegben, werden sowohl Release Informationen als auch Hinweise angezeigt.
|
||||
Zeigt Release Informationen und/oder Hinweise zum Modul an.
|
||||
<br><br>
|
||||
|
||||
<ul>
|
||||
@ -16213,6 +16226,11 @@ sub dbval {
|
||||
|
||||
</li>
|
||||
|
||||
<br>
|
||||
Sind keine Optionen angegeben, werden sowohl Release Informationen als auch Hinweise angezeigt.
|
||||
Es sind nur Release Informationen mit Bedeutung für den Modulnutzer enthalten. <br>
|
||||
|
||||
|
||||
<br>
|
||||
</ul></ul>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user