From c513fc7747e85c2364c295338c02a6efd76db141 Mon Sep 17 00:00:00 2001 From: hjr <> Date: Sat, 13 Jan 2018 17:12:09 +0000 Subject: [PATCH] 59_HCS: Use default thresholds for eco mode, when thresholds are found undefined. Put these defaults into the modules documentation. git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@15873 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/59_HCS.pm | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/FHEM/59_HCS.pm b/FHEM/59_HCS.pm index a60b9422b..20d55e19a 100644 --- a/FHEM/59_HCS.pm +++ b/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: