From 60036cb8bc50dfaa4bb965e64b6aa3dc4b4e4f95 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Tue, 18 Oct 2016 14:37:30 +0000 Subject: [PATCH] 93_DbRep: get svrinfo contains SQLite database file size (MB) git-svn-id: https://svn.fhem.de/fhem/trunk@12373 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/93_DbRep.pm | 43 ++++++++++++++++++++++++++----------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 0595f883a..e39b89876 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # 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. + - feature: 93_DbRep: get svrinfo contains SQLite database file size (MB) - feature: 93_DbRep: get data of dbstatus, dbvars, tableinfo, svrinfo (database dependend) - added: 70_Pushsafer: new module to send push notifications via diff --git a/fhem/FHEM/93_DbRep.pm b/fhem/FHEM/93_DbRep.pm index cee97c988..511081741 100644 --- a/fhem/FHEM/93_DbRep.pm +++ b/fhem/FHEM/93_DbRep.pm @@ -37,6 +37,7 @@ ########################################################################################################### # Versions History: # +# 4.5.1 18.10.2016 get svrinfo contains SQLite database file size (MB) # 4.5 17.10.2016 get data of dbstatus, dbvars, tableinfo, svrinfo (database dependend) # 4.4 13.10.2016 get function prepared # 4.3 11.10.2016 Preparation of get metadata @@ -3116,17 +3117,24 @@ sub dbmeta_DoParse($) { $param =~ s/,/\|/g; $param =~ tr/%//d; # Log3 ($name, 5, "DbRep $name - showDbInfo: $param"); - my $sf = $dbh->sqlite_db_filename() if($dbmodel eq 'SQLITE'); - if ($@) { - $err = encode_base64($@,""); - Log3 ($name, 2, "DbRep $name - $@"); - $dbh->disconnect; - Log3 ($name, 4, "DbRep $name -> BlockingCall dbmeta_DoParse finished"); - return "$name|''|''|''|$err"; - } else { - my $key = "SQLITE_DB_FILENAME"; - push(@row_array, $key." ".$sf) if($key =~ m/($param)/i); + + if($dbmodel eq 'SQLITE') { + my $sf = $dbh->sqlite_db_filename(); + if ($@) { + $err = encode_base64($@,""); + Log3 ($name, 2, "DbRep $name - $@"); + $dbh->disconnect; + Log3 ($name, 4, "DbRep $name -> BlockingCall dbmeta_DoParse finished"); + return "$name|''|''|''|$err"; + } else { + my $key = "SQLITE_DB_FILENAME"; + push(@row_array, $key." ".$sf) if($key =~ m/($param)/i); + } + my @a = split(' ',qx(du -m /opt/fhem/fhem.db)) if ($^O =~ m/linux/i || $^O =~ m/unix/i); + my $key = "SQLITE_FILE_SIZE_MB"; + push(@row_array, $key." ".$a[0]) if($key =~ m/($param)/i); } + my $info; while( my ($key,$value) = each(%GetInfoType) ) { eval { $info = $dbh->get_info($GetInfoType{"$key"}) }; @@ -3215,6 +3223,7 @@ sub dbmeta_ParseDone($) { readingsEndUpdate($hash, 1); # InternalTimer(time+0.5, "browser_refresh", $hash, 0); + delete($hash->{HELPER}{RUNNING_PID}); Log3 ($name, 4, "DbRep $name -> BlockingCall dbmeta_ParseDone finished"); @@ -3239,8 +3248,8 @@ my $name = $hash->{NAME}; sub browser_refresh($) { my ($hash) = @_; RemoveInternalTimer($hash, "browser_refresh"); - # FW_directNotify("#FHEMWEB:$name", "location.reload(true);","" ); - map { FW_directNotify("#FHEMWEB:$_", "location.reload(true)", "") } devspec2array("WEB.*"); + {FW_directNotify("#FHEMWEB:WEB", "location.reload('true')", "")}; + # map { FW_directNotify("#FHEMWEB:$_", "location.reload(true)", "") } devspec2array("WEB.*"); return; } @@ -3668,7 +3677,7 @@ return;