From 52561140bf9665d7f78d4b90b2e46405906f8601 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 1 Feb 2021 08:56:20 +0000 Subject: [PATCH] 90_at.pm: add skip_next as command (Forum #118095) git-svn-id: https://svn.fhem.de/fhem/trunk@23656 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/90_at.pm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/90_at.pm b/fhem/FHEM/90_at.pm index d62153ef8..75c602c1e 100644 --- a/fhem/FHEM/90_at.pm +++ b/fhem/FHEM/90_at.pm @@ -185,8 +185,11 @@ at_Exec($) return if($hash->{DELETED}); # Just deleted my $name = $hash->{NAME}; - my $skip = AttrVal($name, "skip_next", undef); - delete $attr{$name}{skip_next} if($skip); + my $skip = AttrVal($name, "skip_next", ReadingsVal($name, "skip_next", 0)); + if($skip) { + delete $attr{$name}{skip_next}; + readingsDelete($hash,"skip_next"); + } $hash->{TEMPORARY} = 1 if($hash->{VOLATILE}); # 68680 delete $hash->{VOLATILE}; @@ -248,7 +251,7 @@ at_Set($@) { my ($hash, @a) = @_; - my %sets = (modifyTimeSpec=>1, inactive=>0, active=>0, execNow=>0); + my %sets =(modifyTimeSpec=>1,inactive=>0,active=>0,execNow=>0,"skip_next"=>0); my $cmd = join(" ", sort keys %sets); $cmd =~ s/modifyTimeSpec/modifyTimeSpec:time/ if($at_detailFnCalled); $at_detailFnCalled = 0; @@ -282,6 +285,10 @@ at_Set($@) my $ret = AnalyzeCommandChain(undef, SemicolonEscape($hash->{COMMAND})); Log3 $name, 3, "$name: $ret" if($ret); + } elsif($a[1] eq "skip_next") { + setReadingsVal($hash, $a[1], 1, TimeNow()); + return undef; + } } @@ -556,6 +563,11 @@ at_ultimo(;$$$)