mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 04:36:36 +00:00
93_DbLog: contrib 4.10.1
git-svn-id: https://svn.fhem.de/fhem/trunk@22231 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
c5b71b99c1
commit
9b8967bd4a
@ -1,5 +1,5 @@
|
||||
############################################################################################################################################
|
||||
# $Id: 93_DbLog.pm 21801 2020-04-29 09:37:37Z DS_Starter $
|
||||
# $Id: 93_DbLog.pm 22018 2020-05-24 06:33:11Z DS_Starter $
|
||||
#
|
||||
# 93_DbLog.pm
|
||||
# written by Dr. Boris Neubert 2007-12-30
|
||||
@ -30,6 +30,7 @@ no if $] >= 5.017011, warnings => 'experimental::smartmatch';
|
||||
|
||||
# Version History intern by DS_Starter:
|
||||
our %DbLog_vNotesIntern = (
|
||||
"4.10.1" => "22.06.2020 configCheck changed for SQLite ",
|
||||
"4.10.0" => "22.05.2020 improve configCheck, new vars \$LASTTIMESTAMP and \$LASTVALUE in valueFn / DbLogValueFn, Forum:#111423 ",
|
||||
"4.9.13" => "12.05.2020 commandRef changed, AutoInactiveDestroy => 1 for dbh ",
|
||||
"4.9.12" => "28.04.2020 fix line breaks in set function, Forum: #110673 ",
|
||||
@ -1041,7 +1042,7 @@ sub DbLog_ParseEvent($$$$) {
|
||||
# - temperature
|
||||
# - humidity
|
||||
if ($reading =~ m(^temperature)) { $unit = "°C"; } # wenn reading mit temperature beginnt
|
||||
elsif($reading =~ m(^humidity)) { $unit = "%"; }
|
||||
elsif($reading =~ m(^humidity)) { $unit = "%"; } # wenn reading mit humidity beginnt
|
||||
|
||||
# the interpretation of the argument depends on the device type
|
||||
# EMEM, M232Counter, M232Voltage return plain numbers
|
||||
@ -1592,22 +1593,27 @@ sub DbLog_Log($$) {
|
||||
if(@row_array) {
|
||||
# synchoner Mode
|
||||
return if($hash->{HELPER}{REOPEN_RUNS}); # return wenn "reopen" mit Ablaufzeit gestartet ist
|
||||
|
||||
my $error = DbLog_Push($hash, $vb4show, @row_array);
|
||||
Log3 ($name, 5, "DbLog $name -> DbLog_Push Returncode: $error") if($error && $vb4show);
|
||||
|
||||
CancelDelayedShutdown($name) if($hash->{HELPER}{SHUTDOWNSEQ});
|
||||
Log3 ($name, 2, "DbLog $name - Last database write cycle done") if(delete $hash->{HELPER}{SHUTDOWNSEQ});
|
||||
my $state = $error?$error:(IsDisabled($name))?"disabled":"connected";
|
||||
my $evt = ($state eq $hash->{HELPER}{OLDSTATE})?0:1;
|
||||
|
||||
my $state = $error ? $error : (IsDisabled($name)) ? "disabled" : "connected";
|
||||
my $evt = ($state eq $hash->{HELPER}{OLDSTATE}) ? 0 : 1;
|
||||
readingsSingleUpdate($hash, "state", $state, $evt);
|
||||
$hash->{HELPER}{OLDSTATE} = $state;
|
||||
|
||||
# Notify-Routine Laufzeit ermitteln
|
||||
$net = tv_interval($nst);
|
||||
|
||||
} else {
|
||||
CancelDelayedShutdown($name) if($hash->{HELPER}{SHUTDOWNSEQ});
|
||||
Log3 ($name, 2, "DbLog $name - no data for last database write cycle") if(delete $hash->{HELPER}{SHUTDOWNSEQ});
|
||||
}
|
||||
}
|
||||
|
||||
if($net && AttrVal($name, "showNotifyTime", undef)) {
|
||||
readingsSingleUpdate($hash, "notify_processing_time", sprintf("%.4f",$net), 1);
|
||||
}
|
||||
@ -4005,14 +4011,14 @@ sub DbLog_configcheck($) {
|
||||
}
|
||||
if($dbmodel =~ /SQLITE/) {
|
||||
my $dev = (DbLog_sqlget($hash,"SELECT sql FROM sqlite_master WHERE name = '$history'"))[0];
|
||||
$cdat_dev = $dev?$dev:"no result";
|
||||
$cdat_dev = $dev // "no result";
|
||||
$cdat_typ = $cdat_evt = $cdat_rdg = $cdat_val = $cdat_unt = $cdat_dev;
|
||||
$cdat_dev =~ s/.*DEVICE.varchar\(([\d]*)\).*/$1/e;
|
||||
$cdat_typ =~ s/.*TYPE.varchar\(([\d]*)\).*/$1/e;
|
||||
$cdat_evt =~ s/.*EVENT.varchar\(([\d]*)\).*/$1/e;
|
||||
$cdat_rdg =~ s/.*READING.varchar\(([\d]*)\).*/$1/e;
|
||||
$cdat_val =~ s/.*VALUE.varchar\(([\d]*)\).*/$1/e;
|
||||
$cdat_unt =~ s/.*UNIT.varchar\(([\d]*)\).*/$1/e;
|
||||
($cdat_dev) = $cdat_dev =~ /DEVICE.varchar\(([\d]+)\)/x;
|
||||
($cdat_typ) = $cdat_typ =~ /TYPE.varchar\(([\d]+)\)/x;
|
||||
($cdat_evt) = $cdat_evt =~ /EVENT.varchar\(([\d]+)\)/x;
|
||||
($cdat_rdg) = $cdat_rdg =~ /READING.varchar\(([\d]+)\)/x;
|
||||
($cdat_val) = $cdat_val =~ /VALUE.varchar\(([\d]+)\)/x;
|
||||
($cdat_unt) = $cdat_unt =~ /UNIT.varchar\(([\d]+)\)/x;
|
||||
}
|
||||
if ($dbmodel !~ /SQLITE/) {
|
||||
$cdat_dev = @sr_dev?($sr_dev[1]):"no result";
|
||||
@ -6169,12 +6175,12 @@ sub DbLog_setVersionInfo($) {
|
||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||
# META-Daten sind vorhanden
|
||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{DbLog}{META}}
|
||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 93_DbLog.pm 21801 2020-04-29 09:37:37Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 93_DbLog.pm 22018 2020-05-24 06:33:11Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
$modules{$type}{META}{x_version} =~ s/1.1.1/$v/g;
|
||||
} else {
|
||||
$modules{$type}{META}{x_version} = $v;
|
||||
}
|
||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 93_DbLog.pm 21801 2020-04-29 09:37:37Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 93_DbLog.pm 22018 2020-05-24 06:33:11Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||
|
Loading…
x
Reference in New Issue
Block a user