diff --git a/fhem/FHEM/95_Dashboard.pm b/fhem/FHEM/95_Dashboard.pm index 285693e8a..6b3b3b357 100644 --- a/fhem/FHEM/95_Dashboard.pm +++ b/fhem/FHEM/95_Dashboard.pm @@ -817,7 +817,9 @@ sub BuildGroup $row++; + $extPage{group} = $groupname; my ($allSets, $cmdlist, $txt) = FW_devState($d, $rf, \%extPage); + $allSets = FW_widgetOverride($d, $allSets); ############## Customize Result for Special Types ##################### my @txtarray = split(">", $txt); @@ -837,24 +839,30 @@ sub BuildGroup ########################################################### ###### Commands, slider, dropdown - if(!$FW_ss && $cmdlist) { + my $smallscreenCommands = AttrVal($FW_wname, "smallscreenCommands", ""); + if((!$FW_ss || $smallscreenCommands) && $cmdlist) { + my @a = split("[: ]", AttrVal($d, "cmdIcon", "")); + my %cmdIcon = @a; foreach my $cmd (split(":", $cmdlist)) { my $htmlTxt; my @c = split(' ', $cmd); - if($allSets && $allSets =~ m/$c[0]:([^ ]*)/) { + if(int(@c) && $allSets && $allSets =~ m/\b$c[0]:([^ ]*)/) { my $values = $1; foreach my $fn (sort keys %{$data{webCmdFn}}) { no strict "refs"; - $htmlTxt = &{$data{webCmdFn}{$fn}}($FW_wname, $d, $FW_room, $cmd, $values); + $htmlTxt = &{$data{webCmdFn}{$fn}}($FW_wname, + $d, $FW_room, $cmd, $values); use strict "refs"; last if(defined($htmlTxt)); - } + } } if($htmlTxt) { # add colspan to avoid squeezed table cells $htmlTxt =~ s/