From a9cd7e00cebe9ba66b2210eaacce5812bb203658 Mon Sep 17 00:00:00 2001 From: moises <> Date: Thu, 30 Mar 2017 12:14:54 +0000 Subject: [PATCH] 38_netatmo: sanity check for dynamic interval git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@13855 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- CHANGED | 1 + FHEM/38_netatmo.pm | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/CHANGED b/CHANGED index d88578134..59e66ada9 100644 --- a/CHANGED +++ b/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. + - bugfix: 38_netatmo: sanity check for dynamic interval - bugfix: 88_HMCCU: fixed bug in update of virtual devices - feature: 70_BRAVIA: command remoteControl supports 'Netflix' - feature: 50_TelegramBot: favorite handling / hidden favorites / diff --git a/FHEM/38_netatmo.pm b/FHEM/38_netatmo.pm index 1ba5bc3a5..feeb88a1d 100644 --- a/FHEM/38_netatmo.pm +++ b/FHEM/38_netatmo.pm @@ -2921,12 +2921,17 @@ netatmo_parseReadings($$;$) delete $hash->{readings}; } - if(int($time) > 0 && defined($step_time)) { - my $nextdata = $time + $step_time + 30; - RemoveInternalTimer($hash, "netatmo_poll"); - InternalTimer($nextdata, "netatmo_poll", $hash); - Log3 $name, 2, "$name: next dynamic update at ".FmtDateTime($nextdata); - } + if(int($time) > 0 && defined($step_time)) { + my $nextdata = $time + $step_time + 30; + if($nextdata > (gettimeofday()+300)) + { + RemoveInternalTimer($hash, "netatmo_poll"); + InternalTimer($nextdata, "netatmo_poll", $hash); + Log3 $name, 3, "$name: next dynamic update at ".FmtDateTime($nextdata); + } else { + Log3 $name, 2, "$name: invalid time for dynamic update: ".FmtDateTime($nextdata); + } + } } }