mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 10:46:53 +00:00
93_DbLog: contrib 3.12.5
git-svn-id: https://svn.fhem.de/fhem/trunk@17520 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
390e928bac
commit
67569e03f4
@ -16,7 +16,8 @@
|
||||
############################################################################################################################################
|
||||
# Versions History done by DS_Starter & DeeSPe:
|
||||
#
|
||||
# 3.12.4 10.10.2018 give non-saved datasets back in asynch mode only if transaction is used
|
||||
# 3.12.5 12.10.2018 charFilter: "\xB0C" substitution by "°C" added and usage in DbLog_Log changed
|
||||
# 3.12.4 10.10.2018 return non-saved datasets back in asynch mode only if transaction is used
|
||||
# 3.12.3 08.10.2018 Log output of recuceLogNbl enhanced, some functions renamed
|
||||
# 3.12.2 07.10.2018 $hash->{HELPER}{REOPEN_RUNS_UNTIL} contains the time the DB is closed
|
||||
# 3.12.1 19.09.2018 use Time::Local (forum:#91285)
|
||||
@ -213,7 +214,7 @@ use Time::Local;
|
||||
use Encode qw(encode_utf8);
|
||||
no if $] >= 5.017011, warnings => 'experimental::smartmatch';
|
||||
|
||||
my $DbLogVersion = "3.12.4";
|
||||
my $DbLogVersion = "3.12.5";
|
||||
|
||||
my %columns = ("DEVICE" => 64,
|
||||
"TYPE" => 64,
|
||||
@ -1268,7 +1269,7 @@ sub DbLog_Log($$) {
|
||||
my $next = 0;
|
||||
my $event = $events->[$i];
|
||||
$event = "" if(!defined($event));
|
||||
$event = DbLog_charfilter($event) if(AttrVal($name, "useCharfilter",0));
|
||||
# $event = DbLog_charfilter($event) if(AttrVal($name, "useCharfilter",0));
|
||||
Log3 $name, 4, "DbLog $name -> check Device: $dev_name , Event: $event" if($vb4show && !$hash->{HELPER}{".RUNNING_PID"});
|
||||
|
||||
if($dev_name =~ m/^$re$/ || "$dev_name:$event" =~ m/^$re$/ || $DbLogSelectionMode eq 'Include') {
|
||||
@ -1284,6 +1285,13 @@ sub DbLog_Log($$) {
|
||||
if(!defined $value) {$value = "";}
|
||||
if(!defined $unit || $unit eq "") {$unit = AttrVal("$dev_name", "unit", "");}
|
||||
|
||||
if(AttrVal($name, "useCharfilter",0)) {
|
||||
$event = DbLog_charfilter($event);
|
||||
$reading = DbLog_charfilter($reading);
|
||||
$value = DbLog_charfilter($value);
|
||||
$unit = DbLog_charfilter($unit);
|
||||
}
|
||||
|
||||
# Devices / Readings ausschließen durch Attribut "excludeDevs"
|
||||
# attr <device> excludeDevs [<devspec>#]<Reading1>,[<devspec>#]<Reading2>,[<devspec>#]<Reading..>
|
||||
my ($exc,@excldr,$ds,$rd,@exdvs);
|
||||
@ -3868,12 +3876,12 @@ return($useac,$useta);
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Zeichencodierung für Payload filtern
|
||||
# Zeichen von Feldevents filtern
|
||||
###############################################################################
|
||||
sub DbLog_charfilter ($) {
|
||||
my ($txt) = @_;
|
||||
|
||||
# nur erwünschte Zeichen in payload, ASCII %d32-126
|
||||
# nur erwünschte Zeichen ASCII %d32-126 und Sonderzeichen
|
||||
$txt =~ s/ß/ss/g;
|
||||
$txt =~ s/ä/ae/g;
|
||||
$txt =~ s/ö/oe/g;
|
||||
@ -3882,7 +3890,8 @@ sub DbLog_charfilter ($) {
|
||||
$txt =~ s/Ö/Oe/g;
|
||||
$txt =~ s/Ü/Ue/g;
|
||||
$txt =~ s/€/EUR/g;
|
||||
$txt =~ tr/ A-Za-z0-9!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~//cd;
|
||||
$txt =~ tr/ A-Za-z0-9!"#$%&'()*+,-.\/:;<=>?@[\\]^_`{|}~°//cd;
|
||||
$txt =~ s/\xB0C/°C/g;
|
||||
|
||||
return($txt);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user