diff --git a/fhem/CHANGED b/fhem/CHANGED index d88578134..59e66ada9 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. + - 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/FHEM/38_netatmo.pm b/fhem/FHEM/38_netatmo.pm index 1ba5bc3a5..feeb88a1d 100644 --- a/fhem/FHEM/38_netatmo.pm +++ b/fhem/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); + } + } } }