From 4cc57ec835ee97e0e6fd24a15f36f80ab715b1ae Mon Sep 17 00:00:00 2001 From: jamesgo <> Date: Tue, 21 Jan 2020 17:38:24 +0000 Subject: [PATCH] 93_PWMR.pm : fix handle tempRules if only tempRule1 or tempRule2 is defined git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@21030 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/93_PWMR.pm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/FHEM/93_PWMR.pm b/FHEM/93_PWMR.pm index eba96b78f..ef7890be3 100644 --- a/FHEM/93_PWMR.pm +++ b/FHEM/93_PWMR.pm @@ -53,6 +53,7 @@ # 20.11.18 GA add integrate $init_done into PWMR_Define to supress error messages during startup # 20.11.18 GA add change default for w_regexp from ".*Open.*" to ".*[Oo]pen.*" to fit for MAX window contacts # 11.02.19 GA add redesign of maxOffTime +# 21.01.20 GA fix remove default tempRule if only tempRule1 or tempRule2 is defined # module for PWM (Pulse Width Modulation) calculation @@ -1634,10 +1635,26 @@ PWMR_Attr(@) return PWMR_CheckTemp($hash, "c_tempFrostProtect", $attrval); } elsif ($attrname eq "tempRule1") { # tempRule1 - return PWMR_CheckTempRule($hash, $attrname, "c_tempRule1", $attrval); + my $ruleError = PWMR_CheckTempRule($hash, $attrname, "c_tempRule1", $attrval); + if (not defined $ruleError) { + # attr for tempRule1 is valid + if (not defined ($attr{$name}{tempRule2})) { + $hash->{c_tempRule2} = ""; + PWMR_NormalizeRules($hash); + } + } + return $ruleError; } elsif ($attrname eq "tempRule2") { # tempRule2 - return PWMR_CheckTempRule($hash, $attrname, "c_tempRule2", $attrval); + my $ruleError = PWMR_CheckTempRule($hash, $attrname, "c_tempRule2", $attrval); + if (not defined $ruleError) { + # attr for tempRule2 is valid + if (not defined ($attr{$name}{tempRule1})) { + $hash->{c_tempRule1} = ""; + PWMR_NormalizeRules($hash); + } + } + return $ruleError; } elsif ($attrname eq "tempRule3") { # tempRule3 return PWMR_CheckTempRule($hash, $attrname, "c_tempRule3", $attrval);