diff --git a/fhem/FHEM/31_LightScene.pm b/fhem/FHEM/31_LightScene.pm index 51a86cf3f..d8206cf65 100644 --- a/fhem/FHEM/31_LightScene.pm +++ b/fhem/FHEM/31_LightScene.pm @@ -590,7 +590,7 @@ LightScene_Set($@) my @sorted = sort keys %{$hash->{SCENES}}; - if( $cmd eq "?" ){ return "Unknown argument ?, choose one of remove:".join(",", @sorted) ." rename save set setcmd scene:".join(",", @sorted) ." nextScene:noArg previousScene:noArg"}; + if( $cmd eq "?" ){ return "Unknown argument ?, choose one of remove:".join(",", @sorted) ." rename save set setcmd scene:".join(",", @sorted) ." n))extScene:noArg previousScene:noArg"}; if( $cmd eq "save" && !defined( $scene ) ) { return "Usage: set $name save " }; if( $cmd eq "scene" && !defined( $scene ) ) { return "Usage: set $name scene " }; @@ -645,8 +645,13 @@ LightScene_Set($@) my( $index )= grep { $sorted[$_] eq $current } 0..$#sorted; $index = -1 if( !defined($index) ); +Log 1, $index; ++$index if( $cmd eq 'nextScene' ); --$index if( $cmd eq 'previousScene' ); + + return if( $scene && $scene eq 'nowrap' && $index > $#sorted ); + return if( $scene && $scene eq 'nowrap' && $index < 0 ); + $index = 0 if( $index > $#sorted ); $index = $#sorted if( $index < 0 ); @@ -1010,9 +1015,9 @@ LightScene_editTable($) { save current state for alle devices in this LightScene to <scene_name>
  • scene <scene_name>
    shows scene <scene_name> - all devices are switched to the previously saved state
  • -
  • nextScene
    +
  • nextScene [nowrap]
    activates the next scene in alphabetical order after the current scene or the first if no current scene is set.
  • -
  • previousScene
    +
  • previousScene [nowrap]
    activates the previous scene in alphabetical order before the current scene or the last if no current scene is set.
  • set <scene_name> <device> [<cmd>]
    set the saved state of <device> in <scene_name> to <cmd>