diff --git a/fhem/contrib/DS_Starter/93_DbLog.pm b/fhem/contrib/DS_Starter/93_DbLog.pm
index cb36fbd5d..c948d663a 100644
--- a/fhem/contrib/DS_Starter/93_DbLog.pm
+++ b/fhem/contrib/DS_Starter/93_DbLog.pm
@@ -16,6 +16,7 @@
############################################################################################################################################
# Versions History done by DS_Starter:
#
+# 3.13.0 12.11.2018 adding attributes traceFlag, traceLevel
# 3.12.7 10.11.2018 addLog considers DbLogInclude (Forum:#92854)
# 3.12.6 22.10.2018 fix timer not deleted if reopen after reopen xxx (Forum: https://forum.fhem.de/index.php/topic,91869.msg848433.html#msg848433)
# 3.12.5 12.10.2018 charFilter: "\xB0C" substitution by "°C" added and usage in DbLog_Log changed
@@ -216,7 +217,7 @@ use Time::Local;
use Encode qw(encode_utf8);
no if $] >= 5.017011, warnings => 'experimental::smartmatch';
-my $DbLogVersion = "3.12.7";
+my $DbLogVersion = "3.13.0";
my %columns = ("DEVICE" => 64,
"TYPE" => 64,
@@ -258,6 +259,8 @@ sub DbLog_Initialize($)
"noNotifyDev:1,0 ".
"showproctime:1,0 ".
"suppressAddLogV3:1,0 ".
+ "traceFlag:SQL,CON,ENC,DBD,TXN,ALL ".
+ "traceLevel:0,1,2,3,4 ".
"asyncMode:1,0 ".
"cacheEvents:2,1,0 ".
"cacheLimit ".
@@ -1484,6 +1487,8 @@ sub DbLog_Push(@) {
my $name = $hash->{NAME};
my $DbLogType = AttrVal($name, "DbLogType", "History");
my $supk = AttrVal($name, "noSupportPK", 0);
+ my $tl = AttrVal($name, "traceLevel", 0);
+ my $tf = AttrVal($name, "traceFlag", "SQL");
my $errorh = 0;
my $error = 0;
my $doins = 0; # Hilfsvariable, wenn "1" sollen inserts in Tabele current erfolgen (updates schlugen fehl)
@@ -1647,6 +1652,7 @@ sub DbLog_Push(@) {
}
eval {
if (lc($DbLogType) =~ m(history) ) {
+ $sth_ih->{TraceLevel} = "$tl|$tf" if($tl); # Tracelevel setzen
($tuples, $rows) = $sth_ih->execute_array( { ArrayTupleStatus => \my @tuple_status } );
my $nins_hist = 0;
for my $tuple (0..$#row_array) {
@@ -1757,6 +1763,7 @@ sub DbLog_Push(@) {
if ($errorh) {
$error = $errorh;
}
+ $sth_ih->{TraceLevel} = "0" if(!$tl); # Trace ausschalten
$dbh->{RaiseError} = 0;
$dbh->{PrintError} = 1;
$dbh->disconnect if ($nh);
@@ -1895,6 +1902,8 @@ sub DbLog_PushAsync(@) {
my $dbpassword = $attr{"sec$name"}{secret};
my $DbLogType = AttrVal($name, "DbLogType", "History");
my $supk = AttrVal($name, "noSupportPK", 0);
+ my $tl = AttrVal($name, "traceLevel", 0);
+ my $tf = AttrVal($name, "traceFlag", "SQL");
my $utf8 = defined($hash->{UTF8})?$hash->{UTF8}:0;
my $errorh = 0;
my $error = 0;
@@ -2066,6 +2075,7 @@ sub DbLog_PushAsync(@) {
}
eval {
if (lc($DbLogType) =~ m(history) ) {
+ $sth_ih->{TraceLevel} = "$tl|$tf" if($tl); # Tracelevel setzen
($tuples, $rows) = $sth_ih->execute_array( { ArrayTupleStatus => \my @tuple_status } );
my $nins_hist = 0;
my @n2hist;
@@ -6470,9 +6480,9 @@ sub DbLog_dbReadings($@) {
set <name> addLog <devspec>:<Reading> [Value] [CN=<caller name>] [!useExcludes]
-