diff --git a/fhem/FHEM/59_HCS.pm b/fhem/FHEM/59_HCS.pm index a60b9422b..20d55e19a 100644 --- a/fhem/FHEM/59_HCS.pm +++ b/fhem/FHEM/59_HCS.pm @@ -293,7 +293,7 @@ HCS_Set($@) { my $ecoModeOld = ReadingsVal($name,"eco","off"); if($ecoModeNew ne $ecoModeOld) { readingsSingleUpdate($hash, "eco",$ecoModeNew,1); - $str = "eco mode changed from $ecoModeOld to $ecoModeNew"; + $str = "switch eco mode $ecoModeNew"; Log3 $name, 1, "$type $name $str"; return $str; } else { @@ -672,12 +672,17 @@ HCS_getValues($$) { my $ecoTempOff = AttrVal($name,"ecoTemperatureOff",undef); my $ecoState = ReadingsVal($name,"eco","off"); - if($ecoState eq "on" && (!$ecoTempOn || !$ecoTempOff)) { - Log3 $name, 1, "$type $name missing attribute 'ecoTemperatureOn'. Please define this attribute first." - if(!$ecoTempOn); - Log3 $name, 1, "$type $name missing attribute 'ecoTemperatureOff'. Please define this attribute first." - if(!$ecoTempOff); - } elsif($ecoState eq "on") { + if ( $ecoState eq "on" ) { + if ( !$ecoTempOn ) { + $attr{$name}{deviceCmdOn} = $defaults{deviceCmdOn}; + $ecoTempOn = $defaults{deviceCmdOn}; + Log3 $name, 1, "$type $name set attribute 'ecoTemperatureOn' to default $defaults{deviceCmdOn}." + } + if ( !$ecoTempOff ) { + $attr{$name}{deviceCmdOff} = $defaults{deviceCmdOff}; + $ecoTempOff = $defaults{deviceCmdOff}; + Log3 $name, 1, "$type $name set attribute 'ecoTemperatureOff' to default $defaults{deviceCmdOff}." + } foreach my $d (sort keys %{$hash->{helper}{device}}) { my $ignore = $hash->{helper}{device}{$d}{ignored}; my $exclude = $hash->{helper}{device}{$d}{excluded}; @@ -800,15 +805,15 @@ HCS_getValues($$) { Example: