From 5e141a146a06558afb83c845c51a959f2d09866d Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Thu, 19 Mar 2020 21:58:54 +0000 Subject: [PATCH] 93_DbRep: contrib 8.36.0 git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@21457 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- contrib/DS_Starter/93_DbRep.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/contrib/DS_Starter/93_DbRep.pm b/contrib/DS_Starter/93_DbRep.pm index 0afc6a110..97dd5300f 100644 --- a/contrib/DS_Starter/93_DbRep.pm +++ b/contrib/DS_Starter/93_DbRep.pm @@ -2063,18 +2063,19 @@ sub DbRep_Main($$;$) { } elsif ($prop eq "allDevCount") { $prop = "select device, count(*) from history group by DEVICE;"; } elsif ($prop eq "recentReadingsOfDevice") { - my $tq; - if($dbmodel =~ /MYSQL/) {$tq = "NOW() - INTERVAL 1 DAY"}; - if($dbmodel =~ /SQLITE/) {$tq = "date('now','-1 day')"}; + my ($tq,$gcl); + if($dbmodel =~ /MYSQL/) {$tq = "NOW() - INTERVAL 1 DAY"; $gcl = "READING"}; + if($dbmodel =~ /SQLITE/) {$tq = "date('now','-1 day')"; $gcl = "READING"}; + if($dbmodel =~ /POSTGRESQL/) {$tq = "CURRENT_TIMESTAMP - INTERVAL '1 day'"; $gcl = "READING,DEVICE"}; + my @cmd = split(/\s/, "SELECT t1.TIMESTAMP,t1.DEVICE,t1.READING,t1.VALUE FROM history t1 INNER JOIN (select max(TIMESTAMP) AS TIMESTAMP,DEVICE,READING - from history where DEVICE = \"$device\" and TIMESTAMP > ".$tq." group by READING) x + from history where DEVICE = '".$device."' and TIMESTAMP > ".$tq." group by ".$gcl.") x ON x.TIMESTAMP = t1.TIMESTAMP AND x.DEVICE = t1.DEVICE AND x.READING = t1.READING;"); - # if($dbmodel =~ /POSTGRESQL/) {$tq = "CURRENT_TIMESTAMP - INTERVAL '1 day'"}; $prop = join(" ", @cmd); }