From a8fdfd71d78ed8f4a20ef1910a55617dffafe847 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sat, 25 Feb 2023 19:01:17 +0000 Subject: [PATCH] 93_DbLog: new attr plotInputFieldLength, attr noNotifyDev deleted, Plot Editor improved git-svn-id: https://svn.fhem.de/fhem/trunk@27271 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 2 + fhem/FHEM/93_DbLog.pm | 660 +++++++++++++++++------------------------- 2 files changed, 260 insertions(+), 402 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 7edc00050..167460f2f 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,7 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - change: 93_DbLog: new attr plotInputFieldLength, attr noNotifyDev deleted, + Plot Editor improved - feature: 02_RSS: device alias displayed in device overview - change: 93_DbLog: adapt configCheck, new get...configCheck, commref edited - change: 93_DbLog: adapt configCheck diff --git a/fhem/FHEM/93_DbLog.pm b/fhem/FHEM/93_DbLog.pm index 06089007a..6cda57311 100644 --- a/fhem/FHEM/93_DbLog.pm +++ b/fhem/FHEM/93_DbLog.pm @@ -38,6 +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, delete attr noNotifyDev ". + "move notifyRegexpChanged from 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 ". @@ -155,6 +157,7 @@ my $dblog_cachedef = 500; # default Größe cacheLimit bei my $dblog_cmdef = 'basic_ta:on'; # default commitMode my $dblog_todef = 86400; # default timeout Sekunden my $dblog_lrpth = 0.8; # Schwellenwert für LONGRUN_PID ab dem "Another operation is in progress...." im state ausgegeben wird +my $dblog_pifl = 40; # default Breite Eingabefelder im Plot Editor ################################################################ sub DbLog_Initialize { @@ -190,7 +193,7 @@ sub DbLog_Initialize { "exportCacheAppend:1,0 ". "insertMode:1,0 ". "noSupportPK:1,0 ". - "noNotifyDev:1,0 ". + "plotInputFieldLength ". "showproctime:1,0 ". "suppressAddLogV3:1,0 ". "suppressUndef:0,1 ". @@ -233,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); @@ -258,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 @@ -308,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 @@ -415,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") { @@ -424,6 +427,7 @@ sub DbLog_Attr { $aName eq "cacheLimit" || $aName eq "cacheOverflowThreshold" || $aName eq "SQLiteCacheSize" || + $aName eq "plotInputFieldLength" || $aName eq "timeout") { if ($aVal !~ /^[0-9]+$/) { return "The Value of $aName is not valid. Use only figures 0-9 !";} } @@ -501,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); @@ -7218,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,$emb) = (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); - $emb = 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 { @@ -7239,16 +7235,20 @@ sub DbLog_configcheck { } } - if (!$forks || !$emb) { + if (!$forks || !$lpseb || !$noemb) { $rec = q{}; if (!$forks) { $check .= "WARNING - at least one of your FHEMWEB devices has attribute 'plotfork = 1' not set.
"; } - if (!$emb) { + 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; @@ -7262,7 +7262,13 @@ sub DbLog_configcheck { "See also global attribute blockingCallMax.
" } - if (!$emb) { + 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.
"; } @@ -8436,10 +8442,17 @@ sub DbLog_fhemwebFn { return $ret; } -################################################################ +################################################################################# # Dropdown-Menü current-Tabelle SVG-Editor # Datenlieferung für SVG EDitor -################################################################ +# +# Beispiel Input Zeile: sysmon:ram:::$val=~s/^Total..([\d.]*).*/$1/eg +# 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 +# $ret .= SVG_txt("par_${r}_3", "", $f[3], 3); # Function +################################################################################# sub DbLog_sampleDataFn { my $dlName = shift; my $dlog = shift; @@ -8447,9 +8460,10 @@ sub DbLog_sampleDataFn { my $conf = shift; my $wName = shift; - my $desc = "Device:Reading"; + my $desc = ""; # Beschreibung über Eingabezeile my $hash = $defs{$dlName}; my $current = $hash->{HELPER}{TC}; + my $history = $hash->{HELPER}{TH}; my @htmlArr; my @example; @@ -8459,52 +8473,63 @@ sub DbLog_sampleDataFn { my $err = _DbLog_manageDBHU ($defs{$dlName}); return if($err); - my $dbh = $hash->{DBHU}; + my $dbh = $hash->{DBHU}; + my $ccount = 0; + my $dblt = AttrVal ($dlName, 'DbLogType', 'History'); + my $pifl = AttrVal ($dlName, 'plotInputFieldLength', $dblog_pifl); - my $currentPresent = AttrVal($dlName, 'DbLogType', 'History'); - my $prescurr = eval {$dbh->selectrow_array("select count(*) from $current");} || 0; + if ($dblt =~ m/Current|SampleFill/xs) { + $ccount = eval {$dbh->selectrow_array("select count(*) from $current");} || 0; + } - Log3 ($dlName, 5, "DbLog $dlName - Table $current present: $prescurr (0 = not present or no content)"); + if ($ccount) { # Table Current present, use it for sample data + $desc = "Device:Reading:". + "
Function"; # Beschreibung über Eingabezeile - if($currentPresent =~ m/Current|SampleFill/ && $prescurr) { # Table Current present, use it for sample data my $query = "select device,reading from $current where device <> '' group by device,reading"; my $sth = $dbh->prepare( $query ); - $sth->execute(); while (my @line = $sth->fetchrow_array()) { $counter++; - push @example, join " ", @line if($counter <= 8); # show max 8 examples - push @colregs, "$line[0]:$line[1]"; # push all eventTypes to selection list + push @example, (join ":", @line).':[Function]' if($counter <= 8); # show max 8 examples + push @colregs, "$line[0]:$line[1]"; # push all eventTypes to selection list } - #$dbh->disconnect(); 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); + 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 = ""; - $ret .= SVG_sel("par_${r}_0", $cols, "$f[0]:$f[1]"); -# $ret .= SVG_txt("par_${r}_2", "", $f[2], 1); # Default not yet implemented -# $ret .= SVG_txt("par_${r}_3", "", $f[3], 3); # Function -# $ret .= SVG_txt("par_${r}_4", "", $f[4], 3); # RegExp + + 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) + push @htmlArr, $ret; } } else { # Table Current not present, so create an empty input field - push @example, "No sample data due to missing table '$current'"; + push @example, '<Device>:<Reading>::[Function]'; - for(my $r = 0; $r < $max; $r++) { - my @f = split(":", ($dlog->[$r] ? $dlog->[$r] : ":::"), 4); + $desc = "Device:Reading::". + "
Function"; # Beschreibung über Eingabezeile + + for (my $r = 0; $r < $max; $r++) { + my @f = split ":", ($dlog->[$r] ? $dlog->[$r] : ":::"), 4; my $ret = ""; no warnings 'uninitialized'; # Forum:74690, bug unitialized - $ret .= SVG_txt("par_${r}_0", "", "$f[0]:$f[1]:$f[2]:$f[3]", 20); + $ret .= SVG_txt("par_${r}_0", "", "$f[0]:$f[1]::", $pifl); # letzter Wert -> Breite der Eingabezeile use warnings; -# $ret .= SVG_txt("par_${r}_2", "", $f[2], 1); # Default not yet implemented -# $ret .= SVG_txt("par_${r}_3", "", $f[3], 3); # Function -# $ret .= SVG_txt("par_${r}_4", "", $f[4], 3); # RegExp + $f[3] =~ /^(:+)?(.*)/xs; + $ret .= SVG_txt("par_${r}_3", "
", "$2", $pifl); # RegExp (z.B. $val=~s/^Total..([\d.]*).*/$1/eg) push @htmlArr, $ret; } @@ -9660,10 +9685,8 @@ return;
    -
  • addStateEvent +
  • addStateEvent [0|1]

      - attr <device> addStateEvent [0|1] -

      As you probably know the event associated with the state Reading is special, as the "state: " string is stripped, i.e event is not "state: on" but just "on".
      @@ -9679,10 +9702,8 @@ return;
        -
      • asyncMode +
      • asyncMode [0|1]

          - attr <device> asyncMode [0|1] -

          This attribute sets the processing procedure according to which the DbLog device writes the data to the database.
          DbLog uses a sub-process to write the log data into the database and processes the data @@ -9721,10 +9742,8 @@ return;
            -
          • commitMode +
          • commitMode [basic_ta:on | basic_ta:off | ac:on_ta:on | ac:on_ta:off | ac:off_ta:on]

              - attr <device> commitMode [basic_ta:on | basic_ta:off | ac:on_ta:on | ac:on_ta:off | ac:off_ta:on] -

              Change the usage of database autocommit- and/or transaction- behavior.
              If transaction "off" is used, not saved datasets are not returned to cache in asynchronous mode.
              @@ -9745,9 +9764,8 @@ return;
                -
              • cacheEvents +
              • cacheEvents [2|1|0]

                  - attr <device> cacheEvents [2|1|0]

                    @@ -9767,11 +9785,8 @@ return;
                      -
                    • cacheLimit +
                    • cacheLimit <n>

                        - - attr <device> cacheLimit <n> -

                        In asynchronous logging mode the content of cache will be written into the database and cleared if the number <n> datasets in cache has reached. Thereby the timer of asynchronous logging mode will be set new to the value of @@ -9785,11 +9800,8 @@ return;
                          -
                        • cacheOverflowThreshold +
                        • cacheOverflowThreshold <n>

                            - - attr <device> cacheOverflowThreshold <n> -

                            In asynchronous log mode, sets the threshold of <n> records above which the cache contents are exported to a file instead of writing the data to the database.
                            @@ -9810,11 +9822,8 @@ return;
                              -
                            • colEvent +
                            • colEvent <n>

                                - - attr <device> colEvent <n> -

                                The field length of database field EVENT will be adjusted. By this attribute the default value in the DbLog-device can be adjusted if the field length in the databse was changed nanually. If colEvent=0 is set, the database field @@ -9828,11 +9837,8 @@ return;
                                  -
                                • colReading +
                                • colReading <n>

                                    - - attr <device> colReading <n> -

                                    The field length of database field READING will be adjusted. By this attribute the default value in the DbLog-device can be adjusted if the field length in the databse was changed nanually. If colReading=0 is set, the database field @@ -9846,11 +9852,8 @@ return;
                                      -
                                    • colValue +
                                    • colValue <n>

                                        - - attr <device> colValue <n> -

                                        The field length of database field VALUE will be adjusted. By this attribute the default value in the DbLog-device can be adjusted if the field length in the databse was changed nanually. If colEvent=0 is set, the database field @@ -9863,12 +9866,24 @@ return;
                                          - -
                                        • DbLogType + +
                                        • convertTimezone [UTC | none]

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

                                            + + Note:
                                            + The Perl modules 'DateTime' and 'DateTime::Format::Strptime' must be installed! +
                                          +
                                        • +
                                        +
                                        + +
                                          + +
                                        • DbLogType [Current|History|Current/History]

                                            - - attr <device> DbLogType [Current|History|Current/History] -

                                            This attribute determines which table or which tables in the database are wanted to use. If the attribute isn't set, the adjustment history will be used as default.
                                            @@ -9903,11 +9918,8 @@ return;
                                              -
                                            • DbLogSelectionMode +
                                            • DbLogSelectionMode [Exclude|Include|Exclude/Include]

                                                - - attr <device> DbLogSelectionMode [Exclude|Include|Exclude/Include] -

                                                This attribute, specific to DbLog devices, influences how the device-specific attributes DbLogExclude and DbLogInclude @@ -9939,11 +9951,8 @@ return;
                                                  -
                                                • DbLogInclude +
                                                • DbLogInclude Regex[:MinInterval][:force],[Regex[:MinInterval][:force]], ...

                                                    - - attr DbLogInclude Regex[:MinInterval][:force],[Regex[:MinInterval][:force]], ... -

                                                    The DbLogInclude attribute defines the readings to be stored in the database.
                                                    The definition of the readings to be stored is done by a regular expression and all readings that match the regular @@ -9987,11 +9996,8 @@ return;
                                                      -
                                                    • DbLogExclude +
                                                    • DbLogExclude Regex[:MinInterval][:force],[regex[:MinInterval][:force]] ...

                                                        - - attr <device> DbLogExclude regex[:MinInterval][:force],[regex[:MinInterval][:force]] ... -

                                                        The DbLogExclude attribute defines the readings that should not be stored in the database.
                                                        @@ -10038,11 +10044,8 @@ return;
                                                          -
                                                        • DbLogValueFn +
                                                        • DbLogValueFn {}

                                                            - - attr <device> DbLogValueFn {} -

                                                            If DbLog is used, the DbLogValueFn attribute is propagated in all devices. This attribute is set in the source devices and allows to change the values before logging @@ -10080,11 +10083,8 @@ attr SMA_Energymeter DbLogValueFn
                                                              -
                                                            • dbSchema +
                                                            • dbSchema <schema>

                                                                - - attr <device> dbSchema <schema> -

                                                                This attribute is available for database types MySQL/MariaDB and PostgreSQL. The table names (current/history) are extended by its database schema. It is an advanced feature and normally not necessary to set. @@ -10096,11 +10096,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                  -
                                                                • defaultMinInterval +
                                                                • defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ...

                                                                    - - attr <device> defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ... -

                                                                    With this attribute a default minimum interval for devspec is defined. If a defaultMinInterval is set, the logentry is dropped if the defined interval is not reached and the value vs. @@ -10125,11 +10122,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                      -
                                                                    • excludeDevs +
                                                                    • excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...>

                                                                        - - attr <device> excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...> -

                                                                        The device/reading-combinations "devspec1#Reading", "devspec2#Reading" up to "devspec.." are globally excluded from logging into the database.
                                                                        @@ -10159,11 +10153,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                          -
                                                                        • expimpdir +
                                                                        • expimpdir <directory>

                                                                            - - attr <device> expimpdir <directory> -

                                                                            If the cache content will be exported by exportCache command, the file will be written into or read from that directory. The default directory is @@ -10182,11 +10173,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                              -
                                                                            • exportCacheAppend +
                                                                            • exportCacheAppend [1|0]

                                                                                - - attr <device> exportCacheAppend [1|0] -

                                                                                If set, the export of cache ("set <device> exportCache") appends the content to the newest available export file. If there is no exististing export file, it will be new created.
                                                                                @@ -10198,9 +10186,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                  -
                                                                                • insertMode +
                                                                                • insertMode [1|0]

                                                                                    - attr <device> insertMode [1|0]

                                                                                    Toggles the insert mode of the database interface.

                                                                                    @@ -10220,28 +10207,10 @@ attr SMA_Energymeter DbLogValueFn
                                                                                    -
                                                                                      - -
                                                                                    • noNotifyDev -
                                                                                        - - attr <device> noNotifyDev [1|0] -

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

                                                                                        - - attr <device> noSupportPK [1|0] -

                                                                                        - Deactivates the support of a set primary key by the module.
                                                                                    • @@ -10249,13 +10218,22 @@ attr SMA_Energymeter DbLogValueFn
                                                                                        - -
                                                                                      • SQLiteCacheSize + +
                                                                                      • plotInputFieldLength <Ganzzahl>

                                                                                          - - attr <device> SQLiteCacheSize <number of memory pages used for caching> -

                                                                                          + 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 + set automatically.
                                                                                          + (default: 40) +
                                                                                        +
                                                                                      • +
                                                                                      +
                                                                                      +
                                                                                        + +
                                                                                      • SQLiteCacheSize <number of memory pages used for caching>

                                                                                        +
                                                                                          The default is about 4MB of RAM to use for caching (page_size=1024bytes, cache_size=4000).
                                                                                          Embedded devices with scarce amount of RAM can go with 1000 pages or less. This will impact the overall performance of SQLite.
                                                                                          @@ -10267,11 +10245,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                            -
                                                                                          • SQLiteJournalMode +
                                                                                          • SQLiteJournalMode [WAL|off]

                                                                                              - - attr <device> SQLiteJournalMode [WAL|off] -

                                                                                              Determines how SQLite databases are opened. Generally the Write-Ahead-Log (WAL) is the best choice for robustness and data integrity.
                                                                                              @@ -10286,10 +10261,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                -
                                                                                              • syncEvents +
                                                                                              • syncEvents [1|0]

                                                                                                  - attr <device> syncEvents [1|0] -

                                                                                                  events of reading syncEvents will be created.
                                                                                                @@ -10299,9 +10272,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                  -
                                                                                                • showproctime +
                                                                                                • showproctime [1|0]

                                                                                                    - attr <device> showproctime [1|0]

                                                                                                    If set, the reading "sql_processing_time" shows the required processing time (in seconds) for the SQL execution of the executed function. @@ -10315,9 +10287,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                      -
                                                                                                    • showNotifyTime +
                                                                                                    • showNotifyTime [1|0]

                                                                                                        - attr <device> showNotifyTime [1|0]

                                                                                                        If set, the reading "notify_processing_time" shows the required processing time (in seconds) for the processing of the DbLog notify function.
                                                                                                        @@ -10337,10 +10308,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                          -
                                                                                                        • syncInterval +
                                                                                                        • syncInterval <n>

                                                                                                            - attr <device> syncInterval <n> -

                                                                                                            If the asynchronous mode is set in the DbLog device (asyncMode=1), this attribute sets the interval (seconds) for writing data to the database.
                                                                                                            @@ -10353,10 +10322,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                              -
                                                                                                            • suppressAddLogV3 +
                                                                                                            • suppressAddLogV3 [1|0]

                                                                                                                - attr <device> suppressAddLogV3 [1|0] -

                                                                                                                If set, verbose 3 Logfileentries done by the addLog-function will be suppressed.
                                                                                                              @@ -10366,11 +10333,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                -
                                                                                                              • suppressUndef +
                                                                                                              • suppressUndef

                                                                                                                  - - attr <device> suppressUndef -

                                                                                                                  Suppresses all undef values when returning data from the DB via get. @@ -10381,11 +10345,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                    -
                                                                                                                  • timeout +
                                                                                                                  • timeout <n>

                                                                                                                      - - attr <device> timeout <n> -

                                                                                                                      Sets the timeout value for the operations in the SubProcess in seconds.
                                                                                                                      If a started operation (logging, command) is not finished within the timeout value, @@ -10398,11 +10359,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                        -
                                                                                                                      • traceFlag +
                                                                                                                      • traceFlag <ALL|SQL|CON|ENC|DBD|TXN>

                                                                                                                          - - attr <device> traceFlag <ALL|SQL|CON|ENC|DBD|TXN> -

                                                                                                                          Trace flags are used to enable tracing of specific activities within the DBI and drivers. The attribute is only used for tracing of errors in case of support.

                                                                                                                          @@ -10428,11 +10386,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                            -
                                                                                                                          • traceLevel +
                                                                                                                          • traceLevel <0|1|2|3|4|5|6|7>

                                                                                                                              - - attr <device> traceLevel <0|1|2|3|4|5|6|7> -

                                                                                                                              Switch on the tracing function of the module.
                                                                                                                              Caution ! The attribute is only used for tracing errors or in case of support. If switched on very much entries @@ -10460,11 +10415,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                -
                                                                                                                              • useCharfilter +
                                                                                                                              • useCharfilter [0|1]

                                                                                                                                  - - attr <device> useCharfilter [0|1] -

                                                                                                                                  If set, only ASCII characters from 32 to 126 are accepted in event. That are the characters " A-Za-z0-9!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~" .
                                                                                                                                  @@ -10476,11 +10428,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                    -
                                                                                                                                  • valueFn +
                                                                                                                                  • valueFn {}

                                                                                                                                      - - attr <device> valueFn {} -

                                                                                                                                      This attribute is set in the DbLog device and allows to modify the values before logging or exclude the record from logging.

                                                                                                                                      @@ -10516,11 +10465,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                        -
                                                                                                                                      • verbose4Devs +
                                                                                                                                      • verbose4Devs <device1>,<device2>,<device..>

                                                                                                                                          - - attr <device> verbose4Devs <device1>,<device2>,<device..> -

                                                                                                                                          If verbose level 4/5 is used, only output of devices set in this attribute will be reported in FHEM central logfile. If this attribute isn't set, output of all relevant devices will be reported if using verbose level 4/5. @@ -10860,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.

                                                                                                                                            @@ -10879,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.
                                                                                                                                              @@ -10890,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".)

                                                                                                                                                @@ -10901,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. @@ -10925,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. @@ -10950,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.
                                                                                                                                                      @@ -10973,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 @@ -10999,6 +10951,7 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                      • set <name> listCache

                                                                                                                                                        +
                                                                                                                                                          Listet die im Memory Cache zwischengespeicherten Daten auf. @@ -11019,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.
                                                                                                                                                            @@ -11050,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.
                                                                                                                                                            @@ -11059,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.
                                                                                                                                                                @@ -11072,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 @@ -11083,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 @@ -11099,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. @@ -11124,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. @@ -11134,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.
                                                                                                                                                                          @@ -11157,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.
                                                                                                                                                                              @@ -11180,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.
                                                                                                                                                                                  @@ -11202,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 @@ -11226,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 @@ -11248,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.
                                                                                                                                                                                              @@ -11503,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. @@ -11626,10 +11578,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                  -
                                                                                                                                                                                                • addStateEvent +
                                                                                                                                                                                                • addStateEvent [0|1]

                                                                                                                                                                                                    - attr <device> 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".
                                                                                                                                                                                                    @@ -11646,11 +11596,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • asyncMode -
                                                                                                                                                                                                        - attr <device> asyncMode [0|1] -

                                                                                                                                                                                                        +
                                                                                                                                                                                                      • asyncMode [0|1]

                                                                                                                                                                                                        +
                                                                                                                                                                                                          Dieses Attribut stellt den Verarbeitungsprozess ein nach dessen Verfahren das DbLog Device die Daten in die Datenbank schreibt.
                                                                                                                                                                                                          DbLog verwendet zum Schreiben der Log-Daten in die Datenbank einen SubProzess und verarbeitet die Daten @@ -11691,10 +11639,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                            -
                                                                                                                                                                                                          • cacheEvents -
                                                                                                                                                                                                              - attr <device> cacheEvents [2|1|0]

                                                                                                                                                                                                              +
                                                                                                                                                                                                            • cacheEvents [2|1|0]

                                                                                                                                                                                                              +
                    @@ -11714,12 +11661,9 @@ attr SMA_Energymeter DbLogValueFn
                      -
                    • cacheLimit -
                        - - attr <device> cacheLimit <n> -

                        +
                      • cacheLimit <n>

                        +
                          Im asynchronen Logmodus wird der Cache in die Datenbank weggeschrieben und geleert wenn die Anzahl <n> Datensätze im Cache erreicht ist.
                          Der Timer des asynchronen Logmodus wird dabei neu auf den Wert des Attributs "syncInterval" @@ -11732,12 +11676,9 @@ attr SMA_Energymeter DbLogValueFn
                            -
                          • cacheOverflowThreshold -
                              - - attr <device> cacheOverflowThreshold <n> -

                              +
                            • 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.
                                Die ausgeführte Funktion entspricht dem Set-Kommando "exportCache purgecache" und verwendet dessen Einstellungen. @@ -11757,12 +11698,9 @@ attr SMA_Energymeter DbLogValueFn
                                  -
                                • colEvent -
                                    - - attr <device> colEvent <n> -

                                    +
                                  • 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 EVENT nicht gefüllt.
                                      @@ -11775,12 +11713,9 @@ attr SMA_Energymeter DbLogValueFn
                                        -
                                      • colReading -
                                          - - attr <device> colReading <n> -

                                          +
                                        • 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 READING nicht gefüllt.
                                            @@ -11793,12 +11728,9 @@ attr SMA_Energymeter DbLogValueFn
                                              -
                                            • colValue -
                                                - - attr <device> colValue <n> -

                                                +
                                              • 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 VALUE nicht gefüllt.
                                                  @@ -11811,11 +11743,9 @@ attr SMA_Energymeter DbLogValueFn
                                                    -
                                                  • commitMode -
                                                      - attr <device> commitMode [basic_ta:on | basic_ta:off | ac:on_ta:on | ac:on_ta:off | ac:off_ta:on] -

                                                      +
                                                    • 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 gegeben. @@ -11835,12 +11765,9 @@ attr SMA_Energymeter DbLogValueFn
                                                          -
                                                        • convertTimezone -
                                                            - - attr <device> convertTimezone [UTC | none] -

                                                            +
                                                          • convertTimezone [UTC | none]

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

                                                              @@ -11853,12 +11780,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                -
                                                              • DbLogType -
                                                                  - - attr <device> DbLogType [Current|History|Current/History|SampleFill/History] -

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

                                                                    @@ -11892,12 +11816,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                      -
                                                                    • DbLogSelectionMode -
                                                                        - - attr <device> DbLogSelectionMode [Exclude|Include|Exclude/Include] -

                                                                        +
                                                                      • DbLogSelectionMode [Exclude|Include|Exclude/Include]

                                                                        +
                                                                          Dieses für DbLog-Devices spezifische Attribut beeinflußt, wie die Device-spezifischen Attribute DbLogExclude und DbLogInclude ausgewertet werden. DbLogExclude und DbLogInclude werden in den Quellen-Devices gesetzt.
                                                                          @@ -11928,12 +11849,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                            -
                                                                          • DbLogInclude -
                                                                              - - attr DbLogInclude Regex[:MinInterval][:force],[Regex[:MinInterval][:force]], ... -

                                                                              +
                                                                            • 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 regulären Ausdruck matchen, werden in der Datenbank gespeichert.
                                                                                @@ -11977,12 +11895,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                  -
                                                                                • DbLogExclude -
                                                                                    - - attr <device> DbLogExclude regex[:MinInterval][:force],[regex[:MinInterval][:force]] ... -

                                                                                    +
                                                                                  • DbLogExclude Regex[:MinInterval][:force],[regex[:MinInterval][:force]] ...

                                                                                    +
                                                                                      Mit dem Attribut DbLogExclude werden die Readings definiert, die nicht in der Datenbank gespeichert werden sollen.
                                                                                      Die Definition der auszuschließenden Readings erfolgt über einen regulären Ausdruck und alle Readings, die mit dem @@ -12028,12 +11943,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                        -
                                                                                      • DbLogValueFn -
                                                                                          - - attr <device> 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 oder den Ausschluß des Datensatzes vom Logging.

                                                                                            @@ -12070,12 +11982,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                              -
                                                                                            • dbSchema -
                                                                                                - - attr <device> dbSchema <schema> -

                                                                                                +
                                                                                              • 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.
                                                                                                  @@ -12086,12 +11995,8 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                    -
                                                                                                  • defaultMinInterval +
                                                                                                  • defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ...

                                                                                                      - - attr <device> defaultMinInterval <devspec>::<MinInterval>[::force],[<devspec>::<MinInterval>[::force]] ... -

                                                                                                      - Mit diesem Attribut wird ein Standard Minimum Intervall für devspec festgelegt. Ist defaultMinInterval angegeben, wird der Logeintrag nicht geloggt, wenn das Intervall noch nicht erreicht und der Wert des Readings sich nicht verändert hat.
                                                                                                      @@ -12115,12 +12020,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                        -
                                                                                                      • excludeDevs -
                                                                                                          - - attr <device> excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...> -

                                                                                                          +
                                                                                                        • excludeDevs <devspec1>[#Reading],<devspec2>[#Reading],<devspec...>

                                                                                                          +
                                                                                                            Die Device/Reading-Kombinationen "devspec1#Reading", "devspec2#Reading" bis "devspec..." werden vom Logging in die Datenbank global ausgeschlossen.
                                                                                                            Die Angabe eines auszuschließenden Readings ist optional.
                                                                                                            @@ -12150,12 +12052,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                              -
                                                                                                            • expimpdir -
                                                                                                                - - attr <device> expimpdir <directory> -

                                                                                                                +
                                                                                                              • expimpdir <directory>

                                                                                                                +
                                                                                                                  In diesem Verzeichnis wird das Cachefile beim Export angelegt bzw. beim Import gesucht. Siehe set-Kommandos exportCache bzw. importCachefile. Das Default-Verzeichnis ist "(global->modpath)/log/". @@ -12172,12 +12071,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                    -
                                                                                                                  • exportCacheAppend -
                                                                                                                      - - attr <device> exportCacheAppend [1|0] -

                                                                                                                      +
                                                                                                                    • 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.
                                                                                                                        Ist das Attribut nicht gesetzt, wird bei jedem Exportvorgang ein neues Exportfile angelegt. (default)
                                                                                                                        @@ -12188,10 +12084,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                          -
                                                                                                                        • insertMode -
                                                                                                                            - attr <device> insertMode [1|0]

                                                                                                                            +
                                                                                                                          • insertMode [1|0]

                                                                                                                            +
                                                                                                                              Schaltet den Insert-Modus der Datenbankschnittstelle um.

                                                                                                                                @@ -12210,28 +12105,11 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                -
                                                                                                                                  - -
                                                                                                                                • noNotifyDev -
                                                                                                                                    - - attr <device> noNotifyDev [1|0] -

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

                                                                                                                                    +
                                                                                                                                  • noSupportPK [1|0]

                                                                                                                                    +
                                                                                                                                      Deaktiviert die programmtechnische Unterstützung eines gesetzten Primary Key durch das Modul.
                                                                                                                                  • @@ -12239,11 +12117,24 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                      - -
                                                                                                                                    • showproctime -
                                                                                                                                        - attr <device> showproctime [1|0]

                                                                                                                                        + +
                                                                                                                                      • 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 + automatisch eingestellt.
                                                                                                                                          + (default: 40) +
                                                                                                                                        +
                                                                                                                                      • +
                                                                                                                                      +
                                                                                                                                      + +
                                                                                                                                        + +
                                                                                                                                      • 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. Dabei wird nicht ein einzelnes SQL-Statement, sondern die Summe aller ausgeführten SQL-Kommandos innerhalb der @@ -12256,10 +12147,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                            -
                                                                                                                                          • showNotifyTime -
                                                                                                                                              - attr <device> showNotifyTime [1|0]

                                                                                                                                              +
                                                                                                                                            • 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.
                                                                                                                                                Das Attribut ist für Performance Analysen geeignet und hilft auch die Unterschiede @@ -12278,12 +12168,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                  -
                                                                                                                                                • SQLiteCacheSize -
                                                                                                                                                    - - attr <device> SQLiteCacheSize <Anzahl Memory Pages für Cache> -
                                                                                                                                                    +
                                                                                                                                                  • 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.
                                                                                                                                                      (default: 4000) @@ -12294,12 +12181,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                        -
                                                                                                                                                      • SQLiteJournalMode -
                                                                                                                                                          - - attr <device> SQLiteJournalMode [WAL|off] -

                                                                                                                                                          +
                                                                                                                                                        • SQLiteJournalMode [WAL|off]

                                                                                                                                                          +
                                                                                                                                                            Moderne SQLite Datenbanken werden mit einem Write-Ahead-Log (WAL) geöffnet, was optimale Datenintegrität und gute Performance gewährleistet.
                                                                                                                                                            Allerdings benötigt WAL zusätzlich ungefähr den gleichen Festplattenplatz wie die eigentliche Datenbank. Bei knappem @@ -12314,11 +12198,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                              -
                                                                                                                                                            • syncEvents -
                                                                                                                                                                - attr <device> syncEvents [1|0] -

                                                                                                                                                                +
                                                                                                                                                              • syncEvents [1|0]

                                                                                                                                                                +
                                                                                                                                                                  es werden Events für Reading NextSync erzeugt.
                                                                                                                                                              • @@ -12327,15 +12209,12 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                  -
                                                                                                                                                                • syncInterval -
                                                                                                                                                                    - attr <device> syncInterval <n> -

                                                                                                                                                                    +
                                                                                                                                                                  • 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.
                                                                                                                                                                      (default: 30) -
                                                                                                                                                                  @@ -12343,11 +12222,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                    -
                                                                                                                                                                  • suppressAddLogV3 -
                                                                                                                                                                      - attr <device> suppressAddLogV3 [1|0] -

                                                                                                                                                                      +
                                                                                                                                                                    • suppressAddLogV3 [1|0]

                                                                                                                                                                      +
                                                                                                                                                                        Wenn gesetzt werden verbose 3 Logeinträge durch die addLog-Funktion unterdrückt.
                                                                                                                                                                    • @@ -12356,13 +12233,10 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                        -
                                                                                                                                                                      • suppressUndef +
                                                                                                                                                                      • suppressUndef

                                                                                                                                                                        +
                                                                                                                                                                          - attr <device> suppressUndef -

                                                                                                                                                                          - Unterdrückt alle undef Werte die durch eine Get-Anfrage, z.B. Plot, aus der Datenbank selektiert werden. -
                                                                                                                                                                      @@ -12370,12 +12244,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                        -
                                                                                                                                                                      • timeout -
                                                                                                                                                                          - - attr <device> timeout <n> -

                                                                                                                                                                          +
                                                                                                                                                                        • 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, wird der laufende SubProzess abgebrochen und ein neuer Prozess gestartet.
                                                                                                                                                                            @@ -12387,12 +12258,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                              -
                                                                                                                                                                            • traceFlag -
                                                                                                                                                                                - - attr <device> traceFlag <ALL|SQL|CON|ENC|DBD|TXN> -

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

                                                                                                                                                                                  @@ -12417,12 +12285,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                    -
                                                                                                                                                                                  • traceLevel -
                                                                                                                                                                                      - - attr <device> traceLevel <0|1|2|3|4|5|6|7> -

                                                                                                                                                                                      +
                                                                                                                                                                                    • 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 das FHEM Logfile vorgenommen !

                                                                                                                                                                                        @@ -12450,12 +12315,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                          -
                                                                                                                                                                                        • useCharfilter -
                                                                                                                                                                                            - - attr <device> useCharfilter [0|1] -

                                                                                                                                                                                            +
                                                                                                                                                                                          • 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!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~".
                                                                                                                                                                                              Umlaute und "€" werden umgesetzt (z.B. ä nach ae, € nach EUR).
                                                                                                                                                                                              @@ -12466,12 +12328,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                -
                                                                                                                                                                                              • valueFn -
                                                                                                                                                                                                  - - attr <device> valueFn {} -

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

                                                                                                                                                                                                    @@ -12506,12 +12365,9 @@ attr SMA_Energymeter DbLogValueFn
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • verbose4Devs -
                                                                                                                                                                                                        - - attr <device> verbose4Devs <device1>,<device2>,<device..> -

                                                                                                                                                                                                        +
                                                                                                                                                                                                      • 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. Die angegebenen Devices werden als Regex ausgewertet.