diff --git a/fhem/FHEM/31_LightScene.pm b/fhem/FHEM/31_LightScene.pm index 8eb90621d..3d044000d 100644 --- a/fhem/FHEM/31_LightScene.pm +++ b/fhem/FHEM/31_LightScene.pm @@ -942,46 +942,51 @@ LightScene_editTable($) { $dd.=FW_hidden("detail",$hash->{NAME}) . "\n"; $dd.="\n"; # make table - if ($scn eq "Choose scene" || $scn eq '') { - $html.=""; - } else { - $html.="
Edit scene$dd
Edit scene$dd
"; - $html .= ''; - $html .= ''."\n"; - my $row=0; - my @devices; - if( $scn && defined($hash->{switchingOrder}) && defined($hash->{switchingOrder}{$scn}) ) { + my @devices; + if( $scn && defined($hash->{SCENES}{$scn}) ) { + if( defined($hash->{switchingOrder}) && defined($hash->{switchingOrder}{$scn}) ) { @devices = @{$hash->{switchingOrder}{$scn}}; } else { @devices = @{$hash->{devices}}; } + } else { + $scn = ''; + } + + if ($scn eq "Choose scene" || $scn eq '') { + $html.="
DeviceCommand
"; + } else { + $html.="
Edit scene$dd
Edit scene$dd
"; + $html .= ''; + $html .= ''."\n"; + my $row=0; #table rows - my @cmds = qw(set setcmd); + my @cmds = qw(set setcmd); my $set = "set $hash->{NAME} set $scn"; my $setcmd = ''; foreach my $dev (@devices) { $row+=1; $html .= ""; - $html .= ""; - my $default = $hash->{SCENES}{$scn}{$dev}; + $html .= ""; + my $default = $hash->{SCENES}{$scn}{$dev}; if ($hash->{SCENES}{$scn}{$dev} =~ m/^;/) { - $default =~ s/^;//; - $setcmd='setcmd'; + $default =~ s/^;//; + $setcmd='setcmd'; } else { - $setcmd='set'; - } - $default = $default->{state} if( ref($default) eq 'HASH' ); - $html.="\n"; - } + $html.=FW_hidden("scn", $scn) . "\n"; + $html.=FW_hidden("detail",$hash->{NAME}) . "\n"; + $html .= "\n"; + } } #table end $html .= "
DeviceCommand
$dev$dev
\n"; + $setcmd='set'; + } + $default = $default->{state} if( ref($default) eq 'HASH' ); + $html.="
\n"; $html.=FW_select('',"cmd1", \@cmds, $setcmd, 'select')."\n"; - $html.=FW_textfieldv("val.$dev", 50, 'class',$default)."\n"; - $html.=FW_hidden("dev.$dev", $dev) . "\n"; - $html.=FW_hidden("cmd.$dev", $set) . "\n"; + $html.=FW_textfieldv("val.$dev", 50, 'class',$default)."\n"; + $html.=FW_hidden("dev.$dev", $dev) . "\n"; + $html.=FW_hidden("cmd.$dev", $set) . "\n"; $html.=FW_submit("lse", 'saveline'); - $html.=FW_hidden("scn", $scn) . "\n"; - $html.=FW_hidden("detail",$hash->{NAME}) . "\n"; - $html .= "

\n";