diff --git a/fhem/CHANGED b/fhem/CHANGED index cf7fa98c4..d002077f3 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: V3.7.0, log verbose 5 enhanced, configuration read check + added to configCheck - feature: 74_Unifi: new Readings for WLAN-states, fixed Warning - feature: 93_DbRep: V7.5.1, new set-options display/writeToDB for (max|min|sum|average|diff)Value, diff --git a/fhem/FHEM/93_DbLog.pm b/fhem/FHEM/93_DbLog.pm index 5447fc960..728f709e8 100644 --- a/fhem/FHEM/93_DbLog.pm +++ b/fhem/FHEM/93_DbLog.pm @@ -16,6 +16,7 @@ ############################################################################################################################################ # Versions History done by DS_Starter & DeeSPe: # +# 3.7.0 21.01.2018 parsed event with Log 5 added, configCheck enhanced by configuration read check # 3.6.5 19.01.2018 fix lot of logentries if disabled and db not available # 3.6.4 17.01.2018 improve DbLog_Shutdown, extend configCheck by shutdown preparation check # 3.6.3 14.01.2018 change verbose level of addlog "no Reading of device ..." message from 2 to 4 @@ -178,7 +179,7 @@ use Blocking; use Time::HiRes qw(gettimeofday tv_interval); use Encode qw(encode_utf8); -my $DbLogVersion = "3.6.5"; +my $DbLogVersion = "3.7.0"; my %columns = ("DEVICE" => 64, "TYPE" => 64, @@ -1173,7 +1174,7 @@ sub DbLog_Log($$) { Log3 $name, 4, "DbLog $name -> ################################################################"; Log3 $name, 4, "DbLog $name -> ### start of new Logcycle ###"; Log3 $name, 4, "DbLog $name -> ################################################################"; - Log3 $name, 4, "DbLog $name -> amount of events received: $max for device: $dev_name"; + Log3 $name, 4, "DbLog $name -> number of events received: $max for device: $dev_name"; } # Devices ausschließen durch Attribut "excludeDevs" (nur wenn kein $hash->{NOTIFYDEV} oder $hash->{NOTIFYDEV} = .*) @@ -1228,7 +1229,8 @@ sub DbLog_Log($$) { if(!defined $reading) {$reading = "";} if(!defined $value) {$value = "";} if(!defined $unit || $unit eq "") {$unit = AttrVal("$dev_name", "unit", "");} - + Log3 $name, 5, "DbLog $name -> parsed Event: $dev_name , Event: $event" if($vb4show && !$hash->{HELPER}{".RUNNING_PID"}); + #Je nach DBLogSelectionMode muss das vorgegebene Ergebnis der Include-, bzw. Exclude-Pruefung #entsprechend unterschiedlich vorbelegt sein. #keine Readings loggen die in DbLogExclude explizit ausgeschlossen sind @@ -2909,7 +2911,28 @@ sub DbLog_configcheck($) { my $dbmodel = $hash->{MODEL}; my $dbconn = $hash->{dbconn}; my $dbname = (split(/;|=/, $dbconn))[1]; - my ($check, $rec); + my ($check, $rec,%dbconfig); + + ### Configuration read check + ####################################################################### + $check = ""; + $check .= "Result of configuration read check

"; + my $st = configDBUsed()?"configDB (don't forget upload configutaion file if changed)":"file"; + $check .= "Connection parameter store type: $st
"; + my ($err, @config) = FileRead($hash->{CONFIGURATION}); + if (!$err) { + eval join("\n", @config); + $rec = "parameter: "; + $rec .= "Connection -> could not read, " if (!defined $dbconfig{connection}); + $rec .= "Connection -> ".$dbconfig{connection}.", " if (defined $dbconfig{connection}); + $rec .= "User -> could not read, " if (!defined $dbconfig{user}); + $rec .= "User -> ".$dbconfig{user}.", " if (defined $dbconfig{user}); + $rec .= "Password -> could not read " if (!defined $dbconfig{password}); + $rec .= "Password -> read o.k. " if (defined $dbconfig{password}); + } else { + $rec = $err; + } + $check .= "Connection $rec

"; ### Connection und Encoding check ####################################################################### @@ -2944,7 +2967,6 @@ sub DbLog_configcheck($) { $rec = "This is only an information about text encoding used by the main database."; } - $check = ""; $check .= "Result of connection check

"; if(@ce && @se) { @@ -2955,7 +2977,7 @@ sub DbLog_configcheck($) { if(!@ce || !@se) { $check .= "Connection to database was not successful.
"; $check .= "Recommendation: Plese check logfile for further information.

"; - $check .= ""; + # $check .= ""; return $check; } $check .= "Result of encoding check

"; @@ -5506,7 +5528,7 @@ sub checkUsePK ($$){