diff --git a/fhem/contrib/DS_Starter/93_DbLog.pm b/fhem/contrib/DS_Starter/93_DbLog.pm index e05a14229..8a1327d70 100644 --- a/fhem/contrib/DS_Starter/93_DbLog.pm +++ b/fhem/contrib/DS_Starter/93_DbLog.pm @@ -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 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 .= "Result of plot generation method check

"; - my @webdvs = devspec2array("TYPE=FHEMWEB:FILTER=STATE=Initialized"); - my ($forks,$lpseb) = (1,1); - my $wall = ""; + $check .= "Result of plot generation method check

"; + 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 .= "".$web.": plotfork=".$pf." / plotEmbed=".$pe." / longpollSVG=".$lps."
"; } 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.
"; } + + if (!$noemb) { + $check .= "WARNING - at least one of your FHEMWEB devices has attribute 'plotEmbed' not set.
"; + } $check .= "
"; $check .= $wall; @@ -7266,6 +7262,12 @@ sub DbLog_configcheck { "See also global attribute blockingCallMax.
" } + 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.
". + "Refer to plotEmbed for further information.
"; + } + if (!$lpseb) { $rec .= "You have to set the attribute 'plotEmbed = 1' in FHEMWEB devices where 'longpollSVG' should be used. ". "Refer to longpollSVG for further information.
"; @@ -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:". "
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__, , use warnings; - + $ret .= SVG_sel("par_${r}_2", ":", ":"); # nur ein Trenner -> wird zu ":::" - + $f[3] =~ /^(:+)?(.*)/xs; $ret .= SVG_txt("par_${r}_3", "
", "$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::". "
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", "
", "$2", $pifl); # RegExp (z.B. $val=~s/^Total..([\d.]*).*/$1/eg) - + push @htmlArr, $ret; } } @@ -9862,12 +9864,12 @@ return;
- +
  • convertTimezone [UTC | none]

      - + UTC - the local timestamp of the event will be converted to UTC.
      (default: none)

      @@ -10205,17 +10207,6 @@ attr SMA_Energymeter DbLogValueFn
      -
        - -
      • noNotifyDev [1|0]

        -
          - - Enforces that NOTIFYDEV won't set and hence won't used.
          -
        -
      • -
      -
      -
      • noSupportPK [1|0]

        @@ -10225,13 +10216,13 @@ attr SMA_Energymeter DbLogValueFn

      - +
      • plotInputFieldLength <Ganzzahl>

          Width of the Plot Editor input fields for Device:Reading and Function.
          - 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.
          (default: 40)
        @@ -10815,9 +10806,9 @@ attr SMA_Energymeter DbLogValueFn
      • set <name> clearReadings

        -
          - Leert Readings die von verschiedenen DbLog-Funktionen angelegt wurden. +
            + Leert Readings die von verschiedenen DbLog-Funktionen angelegt wurden.

          @@ -10834,6 +10825,7 @@ attr SMA_Energymeter DbLogValueFn
        • set <name> commitCache

          +
            Im asynchronen Modus (asyncMode=1), werden die im Cache gespeicherten Daten in die Datenbank geschrieben und danach der Cache geleert.
            @@ -10845,10 +10837,11 @@ attr SMA_Energymeter DbLogValueFn
          • set <name> configCheck

            -
              - Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen - identifiziert wurden.
              - (Hinweis: Dieser Befehl ist abgekündigt und wird in den nächsten Versionen entfernt werden. Verwenden Sie stattdessen "get <name> configCheck".) + +
                + Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen + identifiziert wurden.
                + (Hinweis: Dieser Befehl ist abgekündigt und wird in den nächsten Versionen entfernt werden. Verwenden Sie stattdessen "get <name> configCheck".)

              @@ -10856,6 +10849,7 @@ attr SMA_Energymeter DbLogValueFn
            • set <name> count

              +
                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
              • set <name> deleteOldDays <n>

                +
                  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
                • set <name> exportCache [nopurge | purgecache]

                  +
                    Wenn DbLog im asynchronen Modus betrieben wird, kann der Cache mit diesem Befehl in ein Textfile geschrieben werden.
                    @@ -10928,6 +10924,7 @@ attr SMA_Energymeter DbLogValueFn
                  • set <name> importCachefile <file>

                    +
                      Importiert ein mit "exportCache" geschriebenes File in die Datenbank.
                      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
                    • set <name> listCache

                      +
                        Listet die im Memory Cache zwischengespeicherten Daten auf. @@ -10974,6 +10972,7 @@ attr SMA_Energymeter DbLogValueFn
                      • set <name> reduceLog <no>[:<nn>] [average[=day]] [exclude=device1:reading1,device2:reading2,...]

                        +
                          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.
                          @@ -11005,6 +11004,7 @@ attr SMA_Energymeter DbLogValueFn
                        • set <name> reduceLogNbl <no>[:<nn>] [average[=day]] [exclude=device1:reading1,device2:reading2,...]

                          +
                            Die Funktion ist identisch zu "set <name> reduceLog" und wird demnächst entfernt.
                          @@ -11014,7 +11014,8 @@ attr SMA_Energymeter DbLogValueFn
                        • set <name> reopen [n]

                          -
                            + +
                              Schließt die Datenbank und öffnet sie danach sofort wieder wenn keine Zeit [n] in Sekunden angegeben wurde.
                              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.
                              @@ -11027,6 +11028,7 @@ attr SMA_Energymeter DbLogValueFn
                            • set <name> rereadcfg

                              +
                                Die Konfigurationsdatei wird neu eingelesen.
                                Nach dem Einlesen wird eine bestehende Datenbankverbindung beendet und mit den konfigurierten Verbindungsdaten @@ -11038,6 +11040,7 @@ attr SMA_Energymeter DbLogValueFn
                              • set <name> stopSubProcess

                                +
                                  Ein laufender SubProzess wird beendet.
                                  Sobald durch eine Operation ein neuer SubProzess benötigt wird, erfolgt die automatische Neuinitialisierung @@ -11054,6 +11057,7 @@ attr SMA_Energymeter DbLogValueFn
                                • set <name> userCommand <validSelectStatement>

                                  +
                                    Führt einfache SQL Select Befehle auf der Datenbank aus.
                                    Das Ergebnis des Statements wird in das Reading "userCommandResult" geschrieben. @@ -11079,7 +11083,8 @@ attr SMA_Energymeter DbLogValueFn
                                  • - get <name> configCheck
                                    + get <name> configCheck


                                    +
                                      Es werden einige wichtige Einstellungen geprüft und Empfehlungen gegeben falls potentielle Verbesserungen identifiziert wurden. @@ -11089,8 +11094,7 @@ attr SMA_Energymeter DbLogValueFn
                                    • - get <name> ReadingsMaxVal[Timestamp] <Device> <Reading> <default> -
                                      + get <name> ReadingsMaxVal[Timestamp] <Device> <Reading> <default>

                                        Ermittelt den Datensatz mit dem größten Wert der angegebenen Device / Reading Kombination aus der history Tabelle.
                                        @@ -11112,8 +11116,7 @@ attr SMA_Energymeter DbLogValueFn
                                        • - get <name> ReadingsMinVal[Timestamp] <Device> <Reading> <default> -
                                          + get <name> ReadingsMinVal[Timestamp] <Device> <Reading> <default>

                                            Ermittelt den Datensatz mit dem kleinsten Wert der angegebenen Device / Reading Kombination aus der history Tabelle.
                                            @@ -11135,8 +11138,7 @@ attr SMA_Energymeter DbLogValueFn
                                            • - get <name> ReadingsAvgVal <Device> <Reading> <default> -
                                              + get <name> ReadingsAvgVal <Device> <Reading> <default>

                                                Ermittelt den Durchschnittswert der angegebenen Device / Reading Kombination aus der history Tabelle.
                                                @@ -11157,8 +11159,7 @@ attr SMA_Energymeter DbLogValueFn
                                                • - get <name> ReadingsVal[Timestamp] <Device> <Reading> <default> -
                                                  + get <name> ReadingsVal[Timestamp] <Device> <Reading> <default>

                                                    Liest den letzten (neuesten) in der history Tabelle gespeicherten Datensatz der angegebenen Device / Reading @@ -11181,8 +11182,7 @@ attr SMA_Energymeter DbLogValueFn
                                                    • - get <name> ReadingsTimestamp <Device> <Reading> <default> -
                                                      + get <name> ReadingsTimestamp <Device> <Reading> <default>

                                                        Liest den Zeitstempel des letzten (neuesten) in der history Tabelle gespeicherten Datensatzes der angegebenen @@ -11203,8 +11203,7 @@ attr SMA_Energymeter DbLogValueFn
                                                        • - get <name> retrieve <querytype> <device|table> <reading> <from> <to> <offset> <limit> -
                                                          + get <name> retrieve <querytype> <device|table> <reading> <from> <to> <offset> <limit>

                                                            Liest Daten aus der Datenbank Tabelle history und gibt die Ergebnisse als JSON formatiert zurück.
                                                            @@ -11458,9 +11457,7 @@ attr SMA_Energymeter DbLogValueFn
                                                            • get <name> <in> <out> <from> - <to> <device> <querytype> <xaxis> <yaxis> <savename> <chartconfig> <pagingstart> <paginglimit> -
                                                              -
                                                              + <to> <device> <querytype> <xaxis> <yaxis> <savename> <chartconfig> <pagingstart> <paginglimit>

                                                              Liest Daten aus der Datenbank aus und gibt diese in JSON formatiert aus. Wird für das Charting Frontend (Wiki: Neues Charting Frontend) genutzt. @@ -11583,6 +11580,7 @@ attr SMA_Energymeter DbLogValueFn
                                                            • addStateEvent [0|1]

                                                                + 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".
                                                                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
                                                                • asyncMode [0|1]

                                                                  +
                                                                    Dieses Attribut stellt den Verarbeitungsprozess ein nach dessen Verfahren das DbLog Device die Daten in die Datenbank schreibt.
                                                                    @@ -11641,6 +11640,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                    • cacheEvents [2|1|0]

                                                                      +
                                                                          @@ -11662,6 +11662,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                          • cacheLimit <n>

                                                                            +
                                                                              Im asynchronen Logmodus wird der Cache in die Datenbank weggeschrieben und geleert wenn die Anzahl <n> Datensätze im Cache erreicht ist.
                                                                              @@ -11676,6 +11677,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                              • cacheOverflowThreshold <n>

                                                                                +
                                                                                  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.
                                                                                  @@ -11697,6 +11699,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                  • colEvent <n>

                                                                                    +
                                                                                      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
                                                                                      • colReading <n>

                                                                                        +
                                                                                          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
                                                                                          • colValue <n>

                                                                                            +
                                                                                              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
                                                                                              • commitMode [basic_ta:on | basic_ta:off | ac:on_ta:on | ac:on_ta:off | ac:off_ta:on]

                                                                                                +
                                                                                                  Ä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
                                                                                                  • convertTimezone [UTC | none]

                                                                                                    +
                                                                                                      UTC - der lokale Timestamp des Events wird nach UTC konvertiert.
                                                                                                      (default: none)

                                                                                                      @@ -11774,6 +11781,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                      • DbLogType [Current|History|Current/History|SampleFill/History]

                                                                                                        +
                                                                                                          Dieses Attribut legt fest, welche Tabelle oder Tabellen in der Datenbank genutzt werden sollen. Ist dieses Attribut nicht gesetzt, wird per default die Einstellung history verwendet.

                                                                                                          @@ -11809,6 +11817,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                          • DbLogSelectionMode [Exclude|Include|Exclude/Include]

                                                                                                            +
                                                                                                              Dieses für DbLog-Devices spezifische Attribut beeinflußt, wie die Device-spezifischen Attribute DbLogExclude und DbLogInclude @@ -11841,6 +11850,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                              • DbLogInclude Regex[:MinInterval][:force],[Regex[:MinInterval][:force]], ...

                                                                                                                +
                                                                                                                  Mit dem Attribut DbLogInclude werden die Readings definiert, die in der Datenbank gespeichert werden sollen.
                                                                                                                  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
                                                                                                                  • DbLogExclude Regex[:MinInterval][:force],[regex[:MinInterval][:force]] ...

                                                                                                                    +
                                                                                                                      Mit dem Attribut DbLogExclude werden die Readings definiert, die nicht in der Datenbank gespeichert werden sollen.
                                                                                                                      @@ -11933,6 +11944,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                      • DbLogValueFn {}

                                                                                                                        +
                                                                                                                          Wird DbLog genutzt, wird in allen Devices das Attribut DbLogValueFn propagiert. Dieses Attribut wird in den Quellendevices gesetzt und erlaubt die Veränderung der Werte vor dem Logging @@ -11971,6 +11983,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                          • dbSchema <schema>

                                                                                                                            +
                                                                                                                              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
                                                                                                                                - +
                                                                                                                              • defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ...

                                                                                                                                  Mit diesem Attribut wird ein Standard Minimum Intervall für devspec festgelegt. @@ -12008,6 +12021,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                  • excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...>

                                                                                                                                    +
                                                                                                                                      Die Device/Reading-Kombinationen "devspec1#Reading", "devspec2#Reading" bis "devspec..." werden vom Logging in die Datenbank global ausgeschlossen.
                                                                                                                                      @@ -12039,6 +12053,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                      • expimpdir <directory>

                                                                                                                                        +
                                                                                                                                          In diesem Verzeichnis wird das Cachefile beim Export angelegt bzw. beim Import gesucht. Siehe set-Kommandos exportCache bzw. importCachefile. @@ -12057,6 +12072,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                          • exportCacheAppend [1|0]

                                                                                                                                            +
                                                                                                                                              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.
                                                                                                                                              @@ -12069,6 +12085,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                              • insertMode [1|0]

                                                                                                                                                +
                                                                                                                                                  Schaltet den Insert-Modus der Datenbankschnittstelle um.

                                                                                                                                                  @@ -12088,32 +12105,24 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                  -
                                                                                                                                                    - -
                                                                                                                                                  • noNotifyDev [1|0]

                                                                                                                                                    -
                                                                                                                                                      - Erzwingt dass NOTIFYDEV nicht gesetzt und somit nicht verwendet wird.
                                                                                                                                                      -
                                                                                                                                                    -
                                                                                                                                                  • -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  • noSupportPK [1|0]

                                                                                                                                                    +
                                                                                                                                                      Deaktiviert die programmtechnische Unterstützung eines gesetzten Primary Key durch das Modul.

                                                                                                                                                  - +
                                                                                                                                                  • plotInputFieldLength <Ganzzahl>

                                                                                                                                                    +
                                                                                                                                                      Breite der Plot Editor Eingabefelder für Device:Reading und Funktion.
                                                                                                                                                      - 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.
                                                                                                                                                      (default: 40)
                                                                                                                                                    @@ -12124,6 +12133,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                    • showproctime [1|0]

                                                                                                                                                      +
                                                                                                                                                        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
                                                                                                                                                        • showNotifyTime [1|0]

                                                                                                                                                          +
                                                                                                                                                            Wenn gesetzt, zeigt das Reading "notify_processing_time" die benötigte Abarbeitungszeit (in Sekunden) für die Abarbeitung der DbLog Notify-Funktion.
                                                                                                                                                            @@ -12158,6 +12169,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                            • SQLiteCacheSize <Anzahl Memory Pages für Cache>

                                                                                                                                                              +
                                                                                                                                                                Standardmäßig werden ca. 4MB RAM für Caching verwendet (page_size=1024bytes, cache_size=4000).
                                                                                                                                                                Bei Embedded Devices mit wenig RAM genügen auch 1000 Pages - zu Lasten der Performance.
                                                                                                                                                                @@ -12170,6 +12182,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                • SQLiteJournalMode [WAL|off]

                                                                                                                                                                  +
                                                                                                                                                                    Moderne SQLite Datenbanken werden mit einem Write-Ahead-Log (WAL) geöffnet, was optimale Datenintegrität und gute Performance gewährleistet.
                                                                                                                                                                    @@ -12186,6 +12199,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                    • syncEvents [1|0]

                                                                                                                                                                      +
                                                                                                                                                                        es werden Events für Reading NextSync erzeugt.
                                                                                                                                                                      @@ -12196,6 +12210,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                      • syncInterval <n>

                                                                                                                                                                        +
                                                                                                                                                                          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.
                                                                                                                                                                          @@ -12208,6 +12223,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                          • suppressAddLogV3 [1|0]

                                                                                                                                                                            +
                                                                                                                                                                              Wenn gesetzt werden verbose 3 Logeinträge durch die addLog-Funktion unterdrückt.
                                                                                                                                                                            @@ -12218,6 +12234,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                            • suppressUndef

                                                                                                                                                                              +
                                                                                                                                                                                Unterdrückt alle undef Werte die durch eine Get-Anfrage, z.B. Plot, aus der Datenbank selektiert werden.
                                                                                                                                                                              @@ -12228,6 +12245,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                              • timeout <n>

                                                                                                                                                                                +
                                                                                                                                                                                  Setzt den Timeout-Wert für die Operationen im SubProzess in Sekunden.
                                                                                                                                                                                  Ist eine gestartete Operation (Logging, Kommando) nicht innerhalb des Timeout-Wertes beendet, @@ -12241,6 +12259,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                  • traceFlag <ALL|SQL|CON|ENC|DBD|TXN>

                                                                                                                                                                                    +
                                                                                                                                                                                      Bestimmt das Tracing von bestimmten Aktivitäten innerhalb des Datenbankinterfaces und Treibers. Das Attribut ist nur für den Fehler- bzw. Supportfall gedacht.

                                                                                                                                                                                      @@ -12267,6 +12286,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                      • traceLevel <0|1|2|3|4|5|6|7>

                                                                                                                                                                                        +
                                                                                                                                                                                          Schaltet die Trace-Funktion des Moduls ein.
                                                                                                                                                                                          Achtung ! Das Attribut ist nur für den Fehler- bzw. Supportfall gedacht. Es werden sehr viele Einträge in @@ -12296,6 +12316,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                          • useCharfilter [0|1]

                                                                                                                                                                                            +
                                                                                                                                                                                              wenn gesetzt, werden nur ASCII Zeichen von 32 bis 126 im Event akzeptiert. (default: 0)
                                                                                                                                                                                              Das sind die Zeichen " A-Za-z0-9!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~".
                                                                                                                                                                                              @@ -12308,6 +12329,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                              • valueFn {}

                                                                                                                                                                                                +
                                                                                                                                                                                                  Dieses Attribut wird im DbLog-Device gesetzt und erlaubt die Veränderung der Werte vor dem Logging oder den Ausschluß des Datensatzes vom Logging.

                                                                                                                                                                                                  @@ -12344,6 +12366,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                  • verbose4Devs <device1>,<device2>,<device..>

                                                                                                                                                                                                    +
                                                                                                                                                                                                      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.