diff --git a/fhem/FHEM/98_update.pm b/fhem/FHEM/98_update.pm index 005cf9365..ba897df3e 100644 --- a/fhem/FHEM/98_update.pm +++ b/fhem/FHEM/98_update.pm @@ -49,6 +49,9 @@ CommandUpdate($$) my ($cl,$param) = @_; my @args = split(/ +/,$param); + return "An update is already running" if($upd_running); + $upd_running = 1; + my $err = upd_metainit(0); return $err if($err); @@ -73,13 +76,14 @@ CommandUpdate($$) my $ret = eval { "Hello" =~ m/$arg/ }; return "first argument must be a valid regexp, all, force, check or checktime" if($arg =~ m/^[-\?\*]/ || $ret); - $arg = lc($arg) if($arg =~ m/^(check|checktime|all|force)$/i); $updateInBackground = AttrVal("global","updateInBackground",1); - $updateInBackground = 0 if($arg ne "all"); + if($arg =~ m/^(check|checktime|all|force)$/i) { + $arg = lc($arg); + $updateInBackground = 0; + } + $updArg = $arg; - return "An update is already running" if($upd_running); - $upd_running = 1; if($updateInBackground) { CallFn($cl->{NAME}, "ActivateInformFn", $cl, "log") if($cl); sub updDone(@) { $upd_running=0 }