2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

93_DbLog: contrib 4.7.4

git-svn-id: https://svn.fhem.de/fhem/trunk@20297 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2019-10-03 15:45:33 +00:00
parent e251468fab
commit 4968e8307a

View File

@ -3316,9 +3316,14 @@ sub DbLog_Get($@) {
my $val = $sql_value; my $val = $sql_value;
my $ts = $sql_timestamp; my $ts = $sql_timestamp;
eval("$readings[$i]->[4]"); eval("$readings[$i]->[4]");
if($@) {
Log3 $hash->{NAME}, 3, "DbLog: Error in inline function: <".$readings[$i]->[4].">, Error: $@";
} else {
$sql_value = $val; $sql_value = $val;
$sql_timestamp = $ts; $sql_timestamp = $ts;
if($@) {Log3 $hash->{NAME}, 3, "DbLog: Error in inline function: <".$readings[$i]->[4].">, Error: $@";} }
$ds = "TS: $sql_timestamp, DEV: $sql_device, RD: $sql_reading, VAL: $sql_value";
Log3 ($name, 5, "$name - Result after Regex -> $ds");
} }
if($sql_timestamp lt $from && $deltacalc) { if($sql_timestamp lt $from && $deltacalc) {
@ -3337,19 +3342,19 @@ sub DbLog_Get($@) {
if($readings[$i]->[4]) { if($readings[$i]->[4]) {
$out_tstamp = $sql_timestamp; $out_tstamp = $sql_timestamp;
$writeout=1 if(!$deltacalc); $writeout = 1 if(!$deltacalc);
} }
############ Auswerten des 4. Parameters: function ################### ############ Auswerten des 4. Parameters: function ###################
if($readings[$i]->[3] && $readings[$i]->[3] eq "int") { # nur den integerwert uebernehmen falls zb value=15°C if($readings[$i]->[3] && $readings[$i]->[3] eq "int") { # nur den integerwert uebernehmen falls zb value=15°C
$out_value = $1 if($sql_value =~ m/^(\d+).*/o); $out_value = $1 if($sql_value =~ m/^(\d+).*/o);
$out_tstamp = $sql_timestamp; $out_tstamp = $sql_timestamp;
$writeout=1; $writeout = 1;
} elsif ($readings[$i]->[3] && $readings[$i]->[3] =~ m/^int(\d+).*/o) { # Uebernehme den Dezimalwert mit den angegebenen Stellen an Nachkommastellen } elsif ($readings[$i]->[3] && $readings[$i]->[3] =~ m/^int(\d+).*/o) { # Uebernehme den Dezimalwert mit den angegebenen Stellen an Nachkommastellen
$out_value = $1 if($sql_value =~ m/^([-\.\d]+).*/o); $out_value = $1 if($sql_value =~ m/^([-\.\d]+).*/o);
$out_tstamp = $sql_timestamp; $out_tstamp = $sql_timestamp;
$writeout=1; $writeout = 1;
} elsif ($readings[$i]->[3] && $readings[$i]->[3] eq "delta-ts" && lc($sql_value) !~ m(ignore)) { } elsif ($readings[$i]->[3] && $readings[$i]->[3] eq "delta-ts" && lc($sql_value) !~ m(ignore)) {
# Berechung der vergangen Sekunden seit dem letzten Logeintrag # Berechung der vergangen Sekunden seit dem letzten Logeintrag
@ -3364,9 +3369,9 @@ sub DbLog_Get($@) {
$out_value = sprintf("%02d", $akt_ts - $last_ts); $out_value = sprintf("%02d", $akt_ts - $last_ts);
if(lc($sql_value) =~ m(hide)) { if(lc($sql_value) =~ m(hide)) {
$writeout=0; $writeout = 0;
} else { } else {
$writeout=1; $writeout = 1;
} }
} elsif ($readings[$i]->[3] && $readings[$i]->[3] eq "delta-h") { # Berechnung eines Delta-Stundenwertes } elsif ($readings[$i]->[3] && $readings[$i]->[3] eq "delta-h") { # Berechnung eines Delta-Stundenwertes