mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-30 18:12:28 +00:00
93_DbLog: contrib 5.8.4
git-svn-id: https://svn.fhem.de/fhem/trunk@27265 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a133971e5e
commit
6b3509675c
@ -38,7 +38,8 @@ no if $] >= 5.017011, warnings => 'experimental::smartmatch';
|
||||
|
||||
# Version History intern by DS_Starter:
|
||||
my %DbLog_vNotesIntern = (
|
||||
"5.8.4" => "20.02.2023 new attr plotInputFieldLength, improve Plot Editor ",
|
||||
"5.8.4" => "20.02.2023 new attr plotInputFieldLength, improve Plot Editor, delete attr noNotifyDev ".
|
||||
"move notifyRegexpChanged fron Define to initOnStart ",
|
||||
"5.8.3" => "19.02.2023 adapt DbLog_configcheck, new get ... configCheck, commandref edited ",
|
||||
"5.8.2" => "18.02.2023 adapt DbLog_configcheck, Forum: https://forum.fhem.de/index.php/topic,132163.msg1264320.html#msg1264320 ",
|
||||
"5.8.1" => "13.02.2023 change field type of DbLogInclude, DbLogExclude to textField-long, configCheck evaluate collation ".
|
||||
@ -192,7 +193,6 @@ sub DbLog_Initialize {
|
||||
"exportCacheAppend:1,0 ".
|
||||
"insertMode:1,0 ".
|
||||
"noSupportPK:1,0 ".
|
||||
"noNotifyDev:1,0 ".
|
||||
"plotInputFieldLength ".
|
||||
"showproctime:1,0 ".
|
||||
"suppressAddLogV3:1,0 ".
|
||||
@ -236,15 +236,14 @@ sub DbLog_Define {
|
||||
|
||||
if($DbLogMMDBI) {
|
||||
$err = "Perl module ".$DbLogMMDBI." is missing. On Debian you can install it with: sudo apt-get install libdbi-perl";
|
||||
Log3($name, 1, "DbLog $name - ERROR - $err");
|
||||
Log3 ($name, 1, "DbLog $name - ERROR - $err");
|
||||
return "Error: $err";
|
||||
}
|
||||
|
||||
if ($storabs) {
|
||||
$err = "Perl module ".$storabs." is missing. On Debian you can install it with: sudo apt-get install libstorable-perl";
|
||||
Log3($name, 1, "DbLog $name - ERROR - $err");
|
||||
Log3 ($name, 1, "DbLog $name - ERROR - $err");
|
||||
return "Error: $err";
|
||||
|
||||
}
|
||||
|
||||
return "wrong syntax: define <name> DbLog configuration regexp" if(int(@a) != 4);
|
||||
@ -261,7 +260,6 @@ sub DbLog_Define {
|
||||
$hash->{HELPER}{MODMETAABSENT} = 1 if($modMetaAbsent); # Modul Meta.pm nicht vorhanden
|
||||
|
||||
DbLog_setVersionInfo ($hash); # Versionsinformationen setzen
|
||||
notifyRegexpChanged ($hash, $regexp); # nur Events dieser Devices an NotifyFn weiterleiten, NOTIFYDEV wird gesetzt wenn möglich
|
||||
|
||||
$hash->{PID} = $$; # remember PID for plotfork
|
||||
$data{DbLog}{$name}{cache}{index} = 0; # CacheIndex für Events zum asynchronen Schreiben in DB
|
||||
@ -311,8 +309,8 @@ sub _DbLog_initOnStart {
|
||||
readingsDelete ($hash, $r);
|
||||
}
|
||||
|
||||
DbLog_setSchemeTable ($hash);
|
||||
|
||||
DbLog_setSchemeTable ($hash);
|
||||
notifyRegexpChanged ($hash, $hash->{REGEXP}); # nur Events dieser Devices an NotifyFn weiterleiten, NOTIFYDEV wird gesetzt wenn möglich
|
||||
DbLog_SBP_CheckAndInit ($hash);
|
||||
|
||||
my $rst = DbLog_SBP_sendConnectionData ($hash); # Verbindungsdaten an SubProzess senden
|
||||
@ -418,8 +416,10 @@ sub DbLog_Attr {
|
||||
my $hash = $defs{$name};
|
||||
my $do = 0;
|
||||
|
||||
if ($aName eq "traceHandles") {
|
||||
return;
|
||||
if ($aName =~ /^(traceHandles|noNotifyDev)$/xs) {
|
||||
my $msg = "$name - The attribute >$aName< is deprecated and is not set anymore.";
|
||||
Log3 ($name, 1, "DbLog $name $msg");
|
||||
return $msg;
|
||||
}
|
||||
|
||||
if($cmd eq "set") {
|
||||
@ -505,17 +505,6 @@ sub DbLog_Attr {
|
||||
}
|
||||
}
|
||||
|
||||
if($aName eq "noNotifyDev") {
|
||||
my $regexp = $hash->{REGEXP};
|
||||
|
||||
if ($cmd eq "set" && $aVal) {
|
||||
delete($hash->{NOTIFYDEV});
|
||||
}
|
||||
else {
|
||||
notifyRegexpChanged($hash, $regexp);
|
||||
}
|
||||
}
|
||||
|
||||
if ($aName eq "disable") {
|
||||
my $async = AttrVal($name, 'asyncMode', 0);
|
||||
|
||||
@ -7222,20 +7211,23 @@ sub DbLog_configcheck {
|
||||
|
||||
### Check Plot Erstellungsmodus
|
||||
#######################################################################
|
||||
$check .= "<u><b>Result of plot generation method check</u></b><br><br>";
|
||||
my @webdvs = devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized");
|
||||
my ($forks,$lpseb) = (1,1);
|
||||
my $wall = "";
|
||||
$check .= "<u><b>Result of plot generation method check</u></b><br><br>";
|
||||
my @webdvs = devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized");
|
||||
my $forks = 1;
|
||||
my $lpseb = 1;
|
||||
my $noemb = 1;
|
||||
my $wall = "";
|
||||
|
||||
for my $web (@webdvs) {
|
||||
my $pf = AttrVal ($web, 'plotfork', 0);
|
||||
my $lps = AttrVal ($web, 'longpollSVG', 0);
|
||||
my $pe = AttrVal ($web, 'plotEmbed', 0);
|
||||
|
||||
$forks = 0 if(!$pf);
|
||||
$lpseb = 0 if($lps && $pe != 1);
|
||||
$forks = 0 if(!$pf);
|
||||
$lpseb = 0 if($lps && $pe != 1);
|
||||
$noemb = 0 if($pf && !$pe);
|
||||
|
||||
if(!$pf || ($lps && $pe != 1)) {
|
||||
if (!$pf || ($lps && $pe != 1) || ($pf && !$pe)) {
|
||||
$wall .= "<b>".$web.": plotfork=".$pf." / plotEmbed=".$pe." / longpollSVG=".$lps."</b><br>";
|
||||
}
|
||||
else {
|
||||
@ -7243,7 +7235,7 @@ sub DbLog_configcheck {
|
||||
}
|
||||
}
|
||||
|
||||
if (!$forks || !$lpseb) {
|
||||
if (!$forks || !$lpseb || !$noemb) {
|
||||
$rec = q{};
|
||||
|
||||
if (!$forks) {
|
||||
@ -7253,6 +7245,10 @@ sub DbLog_configcheck {
|
||||
if (!$lpseb) {
|
||||
$check .= "WARNING - at least one of your FHEMWEB devices has attribute 'longpollSVG = 1' but not 'plotEmbed = 1' set. <br>";
|
||||
}
|
||||
|
||||
if (!$noemb) {
|
||||
$check .= "WARNING - at least one of your FHEMWEB devices has attribute 'plotEmbed' not set. <br>";
|
||||
}
|
||||
|
||||
$check .= "<br>";
|
||||
$check .= $wall;
|
||||
@ -7266,6 +7262,12 @@ sub DbLog_configcheck {
|
||||
"See also global attribute <a href=\"http://fhem.de/commandref.html#blockingCallMax\">blockingCallMax</a>. <br>"
|
||||
}
|
||||
|
||||
if (!$noemb) {
|
||||
$rec .= "You should set attribute 'plotEmbed = (1 | 2)' in relevant devices. ".
|
||||
"If this attribute is not set, blocking situations may occure when creating plots. <br>".
|
||||
"Refer to <a href=\"http://fhem.de/commandref.html#FHEMWEB-attr-plotEmbed\">plotEmbed</a> for further information.<br>";
|
||||
}
|
||||
|
||||
if (!$lpseb) {
|
||||
$rec .= "You have to set the attribute 'plotEmbed = 1' in FHEMWEB devices where 'longpollSVG' should be used. ".
|
||||
"Refer to <a href=\"http://fhem.de/commandref.html#FHEMWEB-attr-longpollSVG\">longpollSVG</a> for further information.<br>";
|
||||
@ -8445,7 +8447,7 @@ return $ret;
|
||||
# Datenlieferung für SVG EDitor
|
||||
#
|
||||
# Beispiel Input Zeile: sysmon:ram:::$val=~s/^Total..([\d.]*).*/$1/eg
|
||||
# 0 1 23 4
|
||||
# 0 1 23 4
|
||||
# $ret .= SVG_txt("par_${r}_0", "", $f[0], 40); # Device (Column bei FileLog)
|
||||
# $ret .= SVG_txt("par_${r}_1", "", $f[1], 40); # Reading (RegExp bei FileLog)
|
||||
# $ret .= SVG_txt("par_${r}_2", "", $f[2], 1); # Default not yet implemented
|
||||
@ -8474,8 +8476,8 @@ sub DbLog_sampleDataFn {
|
||||
my $dbh = $hash->{DBHU};
|
||||
my $ccount = 0;
|
||||
my $dblt = AttrVal ($dlName, 'DbLogType', 'History');
|
||||
my $pifl = AttrVal ($dlName, 'plotInputFieldLength', $dblog_pifl);
|
||||
|
||||
my $pifl = AttrVal ($dlName, 'plotInputFieldLength', $dblog_pifl);
|
||||
|
||||
if ($dblt =~ m/Current|SampleFill/xs) {
|
||||
$ccount = eval {$dbh->selectrow_array("select count(*) from $current");} || 0;
|
||||
}
|
||||
@ -8483,9 +8485,9 @@ sub DbLog_sampleDataFn {
|
||||
if ($ccount) { # Table Current present, use it for sample data
|
||||
$desc = "Device:Reading:".
|
||||
"<br>Function"; # Beschreibung über Eingabezeile
|
||||
|
||||
|
||||
my $query = "select device,reading from $current where device <> '' group by device,reading";
|
||||
my $sth = $dbh->prepare( $query );
|
||||
my $sth = $dbh->prepare( $query );
|
||||
$sth->execute();
|
||||
|
||||
while (my @line = $sth->fetchrow_array()) {
|
||||
@ -8495,17 +8497,17 @@ sub DbLog_sampleDataFn {
|
||||
}
|
||||
|
||||
my $cols = join ",", sort { "\L$a" cmp "\L$b" } @colregs;
|
||||
|
||||
|
||||
for (my $r = 0; $r < $max; $r++) {
|
||||
my @f = split ":", ($dlog->[$r] ? $dlog->[$r] : ":::"), 4; # Beispiel Input Zeile: sysmon:ram:::$val=~s/^Total..([\d.]*).*/$1/eg
|
||||
my $ret = "";
|
||||
|
||||
|
||||
no warnings 'uninitialized'; # Forum:74690, bug unitialized
|
||||
$ret .= SVG_sel("par_${r}_0", $cols, "$f[0]:$f[1]"); # par_<Zeile>_<Spalte>, <Auswahl>, <Vorbelegung>
|
||||
use warnings;
|
||||
|
||||
|
||||
$ret .= SVG_sel("par_${r}_2", ":", ":"); # nur ein Trenner -> wird zu ":::"
|
||||
|
||||
|
||||
$f[3] =~ /^(:+)?(.*)/xs;
|
||||
$ret .= SVG_txt("par_${r}_3", "<br>", "$2", $pifl); # RegExp (z.B. $val=~s/^Total..([\d.]*).*/$1/eg)
|
||||
|
||||
@ -8514,10 +8516,10 @@ sub DbLog_sampleDataFn {
|
||||
}
|
||||
else { # Table Current not present, so create an empty input field
|
||||
push @example, '<Device>:<Reading>::[Function]';
|
||||
|
||||
|
||||
$desc = "Device:Reading::".
|
||||
"<br>Function"; # Beschreibung über Eingabezeile
|
||||
|
||||
|
||||
for (my $r = 0; $r < $max; $r++) {
|
||||
my @f = split ":", ($dlog->[$r] ? $dlog->[$r] : ":::"), 4;
|
||||
my $ret = "";
|
||||
@ -8525,10 +8527,10 @@ sub DbLog_sampleDataFn {
|
||||
no warnings 'uninitialized'; # Forum:74690, bug unitialized
|
||||
$ret .= SVG_txt("par_${r}_0", "", "$f[0]:$f[1]::", $pifl); # letzter Wert -> Breite der Eingabezeile
|
||||
use warnings;
|
||||
|
||||
|
||||
$f[3] =~ /^(:+)?(.*)/xs;
|
||||
$ret .= SVG_txt("par_${r}_3", "<br>", "$2", $pifl); # RegExp (z.B. $val=~s/^Total..([\d.]*).*/$1/eg)
|
||||
|
||||
|
||||
push @htmlArr, $ret;
|
||||
}
|
||||
}
|
||||
@ -9862,12 +9864,12 @@ return;
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-convertTimezone"></a>
|
||||
<li><b>convertTimezone [UTC | none] </b> <br><br>
|
||||
<ul>
|
||||
|
||||
|
||||
UTC - the local timestamp of the event will be converted to UTC. <br>
|
||||
(default: none) <br><br>
|
||||
|
||||
@ -10205,17 +10207,6 @@ attr SMA_Energymeter DbLogValueFn
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-noNotifyDev"></a>
|
||||
<li><b>noNotifyDev [1|0] </b> <br><br>
|
||||
<ul>
|
||||
|
||||
Enforces that NOTIFYDEV won't set and hence won't used. <br>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-noSupportPK"></a>
|
||||
<li><b>noSupportPK [1|0] </b> <br><br>
|
||||
@ -10225,13 +10216,13 @@ attr SMA_Energymeter DbLogValueFn
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-plotInputFieldLength"></a>
|
||||
<li><b>plotInputFieldLength <Ganzzahl> </b> <br><br>
|
||||
<ul>
|
||||
Width of the Plot Editor input fields for Device:Reading and Function. <br>
|
||||
If the drop-down list is used as input help for Device:Reading, the width of the field is
|
||||
If the drop-down list is used as input help for Device:Reading, the width of the field is
|
||||
set automatically. <br>
|
||||
(default: 40)
|
||||
</ul>
|
||||
@ -10815,9 +10806,9 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-clearReadings"></a>
|
||||
<b>set <name> clearReadings </b> <br><br>
|
||||
<ul>
|
||||
Leert Readings die von verschiedenen DbLog-Funktionen angelegt wurden.
|
||||
|
||||
<ul>
|
||||
Leert Readings die von verschiedenen DbLog-Funktionen angelegt wurden.
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
@ -10834,6 +10825,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-commitCache"></a>
|
||||
<b>set <name> commitCache </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Im asynchronen Modus (<a href="#DbLog-attr-asyncMode">asyncMode=1</a>), werden die im Cache gespeicherten
|
||||
Daten in die Datenbank geschrieben und danach der Cache geleert. <br>
|
||||
@ -10845,10 +10837,11 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-configCheck"></a>
|
||||
<b>set <name> configCheck </b> <br><br>
|
||||
<ul>
|
||||
Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen
|
||||
identifiziert wurden. <br>
|
||||
(<b>Hinweis:</b> Dieser Befehl ist abgekündigt und wird in den nächsten Versionen entfernt werden. Verwenden Sie stattdessen "get <name> configCheck".)
|
||||
|
||||
<ul>
|
||||
Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen
|
||||
identifiziert wurden. <br>
|
||||
(<b>Hinweis:</b> Dieser Befehl ist abgekündigt und wird in den nächsten Versionen entfernt werden. Verwenden Sie stattdessen "get <name> configCheck".)
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
@ -10856,6 +10849,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-count"></a>
|
||||
<b>set <name> count </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ermittelt die Anzahl der Datensätze in den Tabellen current und history und schreibt die Ergebnisse in die Readings
|
||||
countCurrent und countHistory.
|
||||
@ -10880,6 +10874,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-deleteOldDays"></a>
|
||||
<b>set <name> deleteOldDays <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Löscht Datensätze älter als <n> Tage in Tabelle history.
|
||||
Die Anzahl der gelöschten Datensätze wird im Reading lastRowsDeleted protokolliert.
|
||||
@ -10905,6 +10900,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-exportCache"></a>
|
||||
<b>set <name> exportCache [nopurge | purgecache] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn DbLog im asynchronen Modus betrieben wird, kann der Cache mit diesem Befehl in ein Textfile geschrieben
|
||||
werden. <br>
|
||||
@ -10928,6 +10924,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-importCachefile"></a>
|
||||
<b>set <name> importCachefile <file> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Importiert ein mit "exportCache" geschriebenes File in die Datenbank. <br>
|
||||
Die verfügbaren Dateien werden per Default im Verzeichnis (global->modpath)/log/ gesucht und eine Drop-Down Liste
|
||||
@ -10954,6 +10951,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-listCache"></a>
|
||||
<b>set <name> listCache </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Listet die im Memory Cache zwischengespeicherten Daten auf.
|
||||
</li>
|
||||
@ -10974,6 +10972,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-reduceLog"></a>
|
||||
<b>set <name> reduceLog <no>[:<nn>] [average[=day]] [exclude=device1:reading1,device2:reading2,...] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Reduziert historische Datensätze, die älter sind als <no> Tage und (optional) neuer sind als <nn> Tage
|
||||
auf einen Eintrag (den ersten) pro Stunde je Device & Reading.<br>
|
||||
@ -11005,6 +11004,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-reduceLogNbl"></a>
|
||||
<b>set <name> reduceLogNbl <no>[:<nn>] [average[=day]] [exclude=device1:reading1,device2:reading2,...] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Funktion ist identisch zu "set <name> reduceLog" und wird demnächst entfernt.
|
||||
</ul>
|
||||
@ -11014,7 +11014,8 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-reopen"></a>
|
||||
<b>set <name> reopen [n] </b> <br><br>
|
||||
<ul>
|
||||
|
||||
<ul>
|
||||
Schließt die Datenbank und öffnet sie danach sofort wieder wenn keine Zeit [n] in Sekunden angegeben wurde. <br>
|
||||
Wurde eine optionale Verzögerungszeit [n] in Sekunden angegeben, wird die Verbindung zur Datenbank geschlossen und
|
||||
erst nach Ablauf von [n] Sekunden wieder neu verbunden. <br>
|
||||
@ -11027,6 +11028,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-rereadcfg"></a>
|
||||
<b>set <name> rereadcfg </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Konfigurationsdatei wird neu eingelesen. <br>
|
||||
Nach dem Einlesen wird eine bestehende Datenbankverbindung beendet und mit den konfigurierten Verbindungsdaten
|
||||
@ -11038,6 +11040,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-stopSubProcess"></a>
|
||||
<b>set <name> stopSubProcess </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ein laufender SubProzess wird beendet. <br>
|
||||
Sobald durch eine Operation ein neuer SubProzess benötigt wird, erfolgt die automatische Neuinitialisierung
|
||||
@ -11054,6 +11057,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<li>
|
||||
<a id="DbLog-set-userCommand"></a>
|
||||
<b>set <name> userCommand <validSelectStatement> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Führt einfache SQL Select Befehle auf der Datenbank aus. <br>
|
||||
Das Ergebnis des Statements wird in das Reading "userCommandResult" geschrieben.
|
||||
@ -11079,7 +11083,8 @@ attr SMA_Energymeter DbLogValueFn
|
||||
|
||||
<li>
|
||||
<a id="DbLog-get-configCheck"></a>
|
||||
<b>get <name> configCheck </b> <br>
|
||||
<b>get <name> configCheck </b> <br> <br><br>
|
||||
|
||||
<ul>
|
||||
Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen
|
||||
identifiziert wurden.
|
||||
@ -11089,8 +11094,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
|
||||
<li>
|
||||
<a id="DbLog-get-ReadingsMaxVal" data-pattern="ReadingsMaxVal.*"></a>
|
||||
<b>get <name> ReadingsMaxVal[Timestamp] <Device> <Reading> <default> </b>
|
||||
<br>
|
||||
<b>get <name> ReadingsMaxVal[Timestamp] <Device> <Reading> <default> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ermittelt den Datensatz mit dem größten Wert der angegebenen Device / Reading Kombination aus der history Tabelle. <br>
|
||||
@ -11112,8 +11116,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<li>
|
||||
<a id="DbLog-get-ReadingsMinVal" data-pattern="ReadingsMinVal.*"></a>
|
||||
<b>get <name> ReadingsMinVal[Timestamp] <Device> <Reading> <default> </b>
|
||||
<br>
|
||||
<b>get <name> ReadingsMinVal[Timestamp] <Device> <Reading> <default> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ermittelt den Datensatz mit dem kleinsten Wert der angegebenen Device / Reading Kombination aus der history Tabelle. <br>
|
||||
@ -11135,8 +11138,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<li>
|
||||
<a id="DbLog-get-ReadingsAvgVal"></a>
|
||||
<b>get <name> ReadingsAvgVal <Device> <Reading> <default> </b>
|
||||
<br>
|
||||
<b>get <name> ReadingsAvgVal <Device> <Reading> <default> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ermittelt den Durchschnittswert der angegebenen Device / Reading Kombination aus der history Tabelle. <br>
|
||||
@ -11157,8 +11159,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<li>
|
||||
<a id="DbLog-get-ReadingsVal" data-pattern="ReadingsVal.*"></a>
|
||||
<b>get <name> ReadingsVal[Timestamp] <Device> <Reading> <default> </b>
|
||||
<br>
|
||||
<b>get <name> ReadingsVal[Timestamp] <Device> <Reading> <default> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Liest den letzten (neuesten) in der history Tabelle gespeicherten Datensatz der angegebenen Device / Reading
|
||||
@ -11181,8 +11182,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<li>
|
||||
<a id="DbLog-get-ReadingsTimestamp"></a>
|
||||
<b>get <name> ReadingsTimestamp <Device> <Reading> <default> </b>
|
||||
<br>
|
||||
<b>get <name> ReadingsTimestamp <Device> <Reading> <default> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Liest den Zeitstempel des letzten (neuesten) in der history Tabelle gespeicherten Datensatzes der angegebenen
|
||||
@ -11203,8 +11203,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<li>
|
||||
<a id="DbLog-get-retrieve"></a>
|
||||
<b>get <name> retrieve <querytype> <device|table> <reading> <from> <to> <offset> <limit> </b>
|
||||
<br>
|
||||
<b>get <name> retrieve <querytype> <device|table> <reading> <from> <to> <offset> <limit> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Liest Daten aus der Datenbank Tabelle history und gibt die Ergebnisse als JSON formatiert zurück. <br>
|
||||
@ -11458,9 +11457,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
|
||||
<ul>
|
||||
<li><b>get <name> <in> <out> <from>
|
||||
<to> <device> <querytype> <xaxis> <yaxis> <savename> <chartconfig> <pagingstart> <paginglimit> </b>
|
||||
<br>
|
||||
<br>
|
||||
<to> <device> <querytype> <xaxis> <yaxis> <savename> <chartconfig> <pagingstart> <paginglimit> </b> <br><br>
|
||||
|
||||
Liest Daten aus der Datenbank aus und gibt diese in JSON formatiert aus. Wird für das Charting Frontend
|
||||
(<a href="https://wiki.fhem.de/wiki/Neues_Charting_Frontend">Wiki: Neues Charting Frontend</a>) genutzt.
|
||||
@ -11583,6 +11580,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<a id="DbLog-attr-addStateEvent"></a>
|
||||
<li><b>addStateEvent [0|1] </b> <br><br>
|
||||
<ul>
|
||||
|
||||
Bekanntlich wird normalerweise bei einem Event mit dem Reading "state" der state-String entfernt, d.h.
|
||||
der Event ist nicht zum Beispiel "state: on" sondern nur "on". <br>
|
||||
Meistens ist es aber hilfreich in DbLog den kompletten Event verarbeiten zu können. Deswegen übernimmt DbLog per Default
|
||||
@ -11599,6 +11597,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-asyncMode"></a>
|
||||
<li><b>asyncMode [0|1] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Dieses Attribut stellt den Verarbeitungsprozess ein nach dessen Verfahren das DbLog Device die Daten in die
|
||||
Datenbank schreibt. <br>
|
||||
@ -11641,6 +11640,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-cacheEvents"></a>
|
||||
<li><b>cacheEvents [2|1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
<ul>
|
||||
<table>
|
||||
@ -11662,6 +11662,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-cacheLimit"></a>
|
||||
<li><b>cacheLimit <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Im asynchronen Logmodus wird der Cache in die Datenbank weggeschrieben und geleert wenn die Anzahl <n> Datensätze
|
||||
im Cache erreicht ist. <br>
|
||||
@ -11676,6 +11677,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-cacheOverflowThreshold"></a>
|
||||
<li><b>cacheOverflowThreshold <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Legt im asynchronen Logmodus den Schwellenwert von <n> Datensätzen fest, ab dem der Cacheinhalt in ein File
|
||||
exportiert wird anstatt die Daten in die Datenbank zu schreiben. <br>
|
||||
@ -11697,6 +11699,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-colEvent"></a>
|
||||
<li><b>colEvent <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Feldlänge für das DB-Feld EVENT wird userspezifisch angepasst. Mit dem Attribut kann der Default-Wert im Modul
|
||||
verändert werden wenn die Feldlänge in der Datenbank manuell geändert wurde. Mit colEvent=0 wird das Datenbankfeld
|
||||
@ -11711,6 +11714,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-colReading"></a>
|
||||
<li><b>colReading <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Feldlänge für das DB-Feld READING wird userspezifisch angepasst. Mit dem Attribut kann der Default-Wert im Modul
|
||||
verändert werden wenn die Feldlänge in der Datenbank manuell geändert wurde. Mit colReading=0 wird das Datenbankfeld
|
||||
@ -11725,6 +11729,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-colValue"></a>
|
||||
<li><b>colValue <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Feldlänge für das DB-Feld VALUE wird userspezifisch angepasst. Mit dem Attribut kann der Default-Wert im Modul
|
||||
verändert werden wenn die Feldlänge in der Datenbank manuell geändert wurde. Mit colValue=0 wird das Datenbankfeld
|
||||
@ -11739,6 +11744,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-commitMode"></a>
|
||||
<li><b>commitMode [basic_ta:on | basic_ta:off | ac:on_ta:on | ac:on_ta:off | ac:off_ta:on] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Ändert die Verwendung der Datenbank Autocommit- und/oder Transaktionsfunktionen.
|
||||
Wird Transaktion "aus" verwendet, werden im asynchronen Modus nicht gespeicherte Datensätze nicht an den Cache zurück
|
||||
@ -11760,6 +11766,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-convertTimezone"></a>
|
||||
<li><b>convertTimezone [UTC | none] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
UTC - der lokale Timestamp des Events wird nach UTC konvertiert. <br>
|
||||
(default: none) <br><br>
|
||||
@ -11774,6 +11781,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-DbLogType"></a>
|
||||
<li><b>DbLogType [Current|History|Current/History|SampleFill/History] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Dieses Attribut legt fest, welche Tabelle oder Tabellen in der Datenbank genutzt werden sollen. Ist dieses Attribut nicht gesetzt, wird
|
||||
per default die Einstellung <i>history</i> verwendet. <br><br>
|
||||
@ -11809,6 +11817,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-DbLogSelectionMode"></a>
|
||||
<li><b>DbLogSelectionMode [Exclude|Include|Exclude/Include] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Dieses für DbLog-Devices spezifische Attribut beeinflußt, wie die Device-spezifischen Attribute
|
||||
<a href="#DbLog-attr-DbLogExclude">DbLogExclude</a> und <a href="#DbLog-attr-DbLogInclude">DbLogInclude</a>
|
||||
@ -11841,6 +11850,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-DbLogInclude"></a>
|
||||
<li><b>DbLogInclude Regex[:MinInterval][:force],[Regex[:MinInterval][:force]], ... </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Mit dem Attribut DbLogInclude werden die Readings definiert, die in der Datenbank gespeichert werden sollen. <br>
|
||||
Die Definition der zu speichernden Readings erfolgt über einen regulären Ausdruck und alle Readings, die mit dem
|
||||
@ -11886,6 +11896,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-DbLogExclude"></a>
|
||||
<li><b>DbLogExclude Regex[:MinInterval][:force],[regex[:MinInterval][:force]] ... </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Mit dem Attribut DbLogExclude werden die Readings definiert, die <b>nicht</b> in der Datenbank gespeichert werden
|
||||
sollen. <br>
|
||||
@ -11933,6 +11944,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-DbLogValueFn"></a>
|
||||
<li><b>DbLogValueFn {} </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wird DbLog genutzt, wird in allen Devices das Attribut <i>DbLogValueFn</i> propagiert.
|
||||
Dieses Attribut wird in den <b>Quellendevices</b> gesetzt und erlaubt die Veränderung der Werte vor dem Logging
|
||||
@ -11971,6 +11983,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-dbSchema"></a>
|
||||
<li><b>dbSchema <schema> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Dieses Attribut ist setzbar für die Datenbanken MySQL/MariaDB und PostgreSQL. Die Tabellennamen (current/history) werden
|
||||
durch das angegebene Datenbankschema ergänzt. Das Attribut ist ein advanced Feature und nomalerweise nicht nötig zu setzen.
|
||||
@ -11981,7 +11994,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-defaultMinInterval"></a>
|
||||
<a id="DbLog-attr-defaultMinInterval"></a>
|
||||
<li><b>defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ... </b> <br><br>
|
||||
<ul>
|
||||
Mit diesem Attribut wird ein Standard Minimum Intervall für <a href="http://fhem.de/commandref_DE.html#devspec">devspec</a> festgelegt.
|
||||
@ -12008,6 +12021,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-excludeDevs"></a>
|
||||
<li><b>excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Die Device/Reading-Kombinationen "devspec1#Reading", "devspec2#Reading" bis "devspec..." werden vom Logging in die
|
||||
Datenbank global ausgeschlossen. <br>
|
||||
@ -12039,6 +12053,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-expimpdir"></a>
|
||||
<li><b>expimpdir <directory> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
In diesem Verzeichnis wird das Cachefile beim Export angelegt bzw. beim Import gesucht. Siehe set-Kommandos
|
||||
<a href="#DbLog-set-exportCache">exportCache</a> bzw. <a href="#DbLog-set-importCachefile">importCachefile</a>.
|
||||
@ -12057,6 +12072,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-exportCacheAppend"></a>
|
||||
<li><b>exportCacheAppend [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn gesetzt, wird beim Export des Cache ("set <device> exportCache") der Cacheinhalt an das neueste bereits vorhandene
|
||||
Exportfile angehängt. Ist noch kein Exportfile vorhanden, wird es neu angelegt. <br>
|
||||
@ -12069,6 +12085,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-insertMode"></a>
|
||||
<li><b>insertMode [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Schaltet den Insert-Modus der Datenbankschnittstelle um. <br><br>
|
||||
|
||||
@ -12088,32 +12105,24 @@ attr SMA_Energymeter DbLogValueFn
|
||||
</li>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-noNotifyDev"></a>
|
||||
<li><b>noNotifyDev [1|0] </b> <br><br>
|
||||
<ul>
|
||||
Erzwingt dass NOTIFYDEV nicht gesetzt und somit nicht verwendet wird.<br>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-noSupportPK"></a>
|
||||
<li><b>noSupportPK [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Deaktiviert die programmtechnische Unterstützung eines gesetzten Primary Key durch das Modul.<br>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<ul>
|
||||
<a id="DbLog-attr-plotInputFieldLength"></a>
|
||||
<li><b>plotInputFieldLength <Ganzzahl> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Breite der Plot Editor Eingabefelder für Device:Reading und Funktion. <br>
|
||||
Wird die Drop-Down Liste als Eingabehilfe für Device:Reading verwendet, wird die Breite des Feldes
|
||||
Wird die Drop-Down Liste als Eingabehilfe für Device:Reading verwendet, wird die Breite des Feldes
|
||||
automatisch eingestellt. <br>
|
||||
(default: 40)
|
||||
</ul>
|
||||
@ -12124,6 +12133,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-showproctime"></a>
|
||||
<li><b>showproctime [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn gesetzt, zeigt das Reading "sql_processing_time" die benötigte Abarbeitungszeit (in Sekunden) für die
|
||||
SQL-Ausführung der durchgeführten Funktion.
|
||||
@ -12138,6 +12148,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-showNotifyTime"></a>
|
||||
<li><b>showNotifyTime [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn gesetzt, zeigt das Reading "notify_processing_time" die benötigte Abarbeitungszeit (in Sekunden) für die
|
||||
Abarbeitung der DbLog Notify-Funktion. <br>
|
||||
@ -12158,6 +12169,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-SQLiteCacheSize"></a>
|
||||
<li><b>SQLiteCacheSize <Anzahl Memory Pages für Cache> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Standardmäßig werden ca. 4MB RAM für Caching verwendet (page_size=1024bytes, cache_size=4000).<br>
|
||||
Bei Embedded Devices mit wenig RAM genügen auch 1000 Pages - zu Lasten der Performance. <br>
|
||||
@ -12170,6 +12182,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-SQLiteJournalMode"></a>
|
||||
<li><b>SQLiteJournalMode [WAL|off] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Moderne SQLite Datenbanken werden mit einem Write-Ahead-Log (<b>WAL</b>) geöffnet, was optimale Datenintegrität
|
||||
und gute Performance gewährleistet.<br>
|
||||
@ -12186,6 +12199,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-syncEvents"></a>
|
||||
<li><b>syncEvents [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
es werden Events für Reading NextSync erzeugt. <br>
|
||||
</ul>
|
||||
@ -12196,6 +12210,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-syncInterval"></a>
|
||||
<li><b>syncInterval <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn im DbLog-Device der asynchrone Modus eingestellt ist (asyncMode=1), wird mit diesem Attribut das Intervall
|
||||
(Sekunden) zum Wegschreiben der zwischengespeicherten Daten in die Datenbank festgelegt. <br>
|
||||
@ -12208,6 +12223,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-suppressAddLogV3"></a>
|
||||
<li><b>suppressAddLogV3 [1|0] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Wenn gesetzt werden verbose 3 Logeinträge durch die addLog-Funktion unterdrückt. <br>
|
||||
</ul>
|
||||
@ -12218,6 +12234,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-suppressUndef"></a>
|
||||
<li><b>suppressUndef</b> <br><br>
|
||||
|
||||
<ul>
|
||||
Unterdrückt alle undef Werte die durch eine Get-Anfrage, z.B. Plot, aus der Datenbank selektiert werden.
|
||||
</ul>
|
||||
@ -12228,6 +12245,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-timeout"></a>
|
||||
<li><b>timeout <n> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Setzt den Timeout-Wert für die Operationen im SubProzess in Sekunden. <br>
|
||||
Ist eine gestartete Operation (Logging, Kommando) nicht innerhalb des Timeout-Wertes beendet,
|
||||
@ -12241,6 +12259,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-traceFlag"></a>
|
||||
<li><b>traceFlag <ALL|SQL|CON|ENC|DBD|TXN> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Bestimmt das Tracing von bestimmten Aktivitäten innerhalb des Datenbankinterfaces und Treibers. Das Attribut ist nur
|
||||
für den Fehler- bzw. Supportfall gedacht. <br><br>
|
||||
@ -12267,6 +12286,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-traceLevel"></a>
|
||||
<li><b>traceLevel <0|1|2|3|4|5|6|7> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Schaltet die Trace-Funktion des Moduls ein. <br>
|
||||
<b>Achtung !</b> Das Attribut ist nur für den Fehler- bzw. Supportfall gedacht. Es werden <b>sehr viele Einträge</b> in
|
||||
@ -12296,6 +12316,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-useCharfilter"></a>
|
||||
<li><b>useCharfilter [0|1] </b> <br><br>
|
||||
|
||||
<ul>
|
||||
wenn gesetzt, werden nur ASCII Zeichen von 32 bis 126 im Event akzeptiert. (default: 0) <br>
|
||||
Das sind die Zeichen " A-Za-z0-9!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~". <br>
|
||||
@ -12308,6 +12329,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-valueFn"></a>
|
||||
<li><b>valueFn {} </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Dieses Attribut wird im <b>DbLog-Device</b> gesetzt und erlaubt die Veränderung der Werte vor dem Logging
|
||||
oder den Ausschluß des Datensatzes vom Logging. <br><br>
|
||||
@ -12344,6 +12366,7 @@ attr SMA_Energymeter DbLogValueFn
|
||||
<ul>
|
||||
<a id="DbLog-attr-verbose4Devs"></a>
|
||||
<li><b>verbose4Devs <device1>,<device2>,<device..> </b> <br><br>
|
||||
|
||||
<ul>
|
||||
Mit verbose Level 4/5 werden nur Ausgaben bezüglich der in diesem Attribut aufgeführten Devices im Logfile
|
||||
protokolliert. Ohne dieses Attribut werden mit verbose 4/5 Ausgaben aller relevanten Devices im Logfile protokolliert.
|
||||
|
Loading…
x
Reference in New Issue
Block a user