diff --git a/fhem/FHEM/10_CUL_HM.pm b/fhem/FHEM/10_CUL_HM.pm index 910a0abdb..cc3a59cd9 100755 --- a/fhem/FHEM/10_CUL_HM.pm +++ b/fhem/FHEM/10_CUL_HM.pm @@ -955,8 +955,18 @@ CUL_HM_Set($@) if($culHmSubTypeSets{$st}); $usg .= " ". join(" ",sort keys %{$culHmModelSets{$md}}) if($culHmModelSets{$md}); - my $pct = join(" ", (0..100)); - $usg =~ s/ pct/ $pct/; + + if($usg =~ m/ pct/) { + my $pct = join(" ", (0..100)); + $usg =~ s/ pct/ $pct/; + + } elsif($md eq "HM-CC-TC") { + my @list = map { ($_.".0", $_+0.5) } (6..30); + pop @list; + my $list = "on,off," . join(",",@list); + $usg =~ s/-temp/-temp:$list/g; + } + return $usg; } elsif($h eq "" && @a != 2) { @@ -1786,11 +1796,12 @@ CUL_HM_convTemp($) { my ($val) = @_; - my @list = map { ($_.".0", $_+0.5) } (6..30); - pop @list; - return "Invalid temperature $val, choose one of on off " . join(" ",@list) - if(!($val eq "on" || $val eq "off" || - ($val =~ m/^\d*\.?\d+$/ && $val >= 6 && $val <= 30))); + if(!($val eq "on" || $val eq "off" || + ($val =~ m/^\d*\.?\d+$/ && $val >= 6 && $val <= 30))) { + my @list = map { ($_.".0", $_+0.5) } (6..30); + pop @list; + return "Invalid temperature $val, choose one of on off " . join(" ",@list); + } $val = 100 if($val eq "on"); $val = 0 if($val eq "off"); return sprintf("%02X", $val*2); diff --git a/fhem/FHEM/11_FHT.pm b/fhem/FHEM/11_FHT.pm index b90c676dc..b6557d979 100755 --- a/fhem/FHEM/11_FHT.pm +++ b/fhem/FHEM/11_FHT.pm @@ -207,8 +207,15 @@ FHT_Set($@) while(@a) { $cmd = shift(@a); - return "Unknown argument $cmd, choose one of " . join(" ",sort keys %c2bset) - if(!defined($c2b{$cmd})); + if(!defined($c2b{$cmd})) { + my $cmdList = join(" ",sort keys %c2bset); + my @list = map { ($_.".0", $_+0.5) } (6..30); + pop @list; + my $tmpList="on,off,".join(",",@list); + $cmdList =~ s/-temp/-temp:$tmpList/g; + return "Unknown argument $cmd, choose one of $cmdList"; + } + return "Readonly parameter $cmd" if(defined($cantset{$cmd})); return "\"set $name $cmd\" needs a parameter" @@ -219,11 +226,13 @@ FHT_Set($@) if ($cmd =~ m/-temp/) { - my @list = map { ($_.".0", $_+0.5) } (6..30); - pop @list; - return "Invalid temperature $val, choose one of on off " . join(" ",@list) - if(!($val eq "on" || $val eq "off" || - ($val =~ m/^\d*\.?\d+$/ && $val >= 5.5 && $val <= 30.5))); + if(!($val eq "on" || $val eq "off" || + ($val =~ m/^\d*\.?\d+$/ && $val >= 5.5 && $val <= 30.5))) { + my @list = map { ($_.".0", $_+0.5) } (6..30); + pop @list; + return "Invalid temperature $val, choose one of on off " + . join(" ",@list); + } $val = 30.5 if($val eq "on"); $val = 5.5 if($val eq "off");