From ef20289c7c8412d42803d58bae9bc63a688e9575 Mon Sep 17 00:00:00 2001 From: dancer0705 <> Date: Mon, 12 Oct 2015 18:56:31 +0000 Subject: [PATCH] 10_IT: Fix wrong V3 dimm/off code git-svn-id: https://svn.fhem.de/fhem/trunk@9444 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/10_IT.pm | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 93d4886b4..b1ef52341 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - bugfix: 10_IT: Fix wrong V3 dimm/off code - feature: 73_km200: Improving error message in state - feature: SYSMON: FormatString for SYSMON_ShowValues. - feature: 36_JeeLink: added timeout attribute (by HCS) diff --git a/fhem/FHEM/10_IT.pm b/fhem/FHEM/10_IT.pm index 07f70ab2c..a29318072 100644 --- a/fhem/FHEM/10_IT.pm +++ b/fhem/FHEM/10_IT.pm @@ -150,6 +150,7 @@ IT_Set($@) if ($hash->{READINGS}{protocol}{VAL} eq "V3") { if($na > 1 && $a[0] eq "dim") { $a[0] = ($a[1] eq "0" ? "off" : sprintf("dim%02d%%",$a[1]) ); + splice @a, 1, 1; $na = int(@a); } elsif ($na == 2 && ($a[0] =~ /dim/)) { @@ -253,7 +254,13 @@ IT_Set($@) } } else { - $message = "is".uc(substr($hash->{XMIT},0,length($hash->{XMIT})-5).$hash->{READINGS}{group}{VAL}.$hash->{$c}.$hash->{READINGS}{unit}{VAL}); + my $stateVal; + if ($a[0] eq "off") { + $stateVal = "0"; + } else { + $stateVal = $hash->{$c}; + } + $message = "is".uc(substr($hash->{XMIT},0,length($hash->{XMIT})-5).$hash->{READINGS}{group}{VAL}.$stateVal.$hash->{READINGS}{unit}{VAL}); } } else { $message = "is".uc(substr($hash->{XMIT},0,length($hash->{XMIT})-5).$hash->{READINGS}{group}{VAL}.$hash->{$c}.$hash->{READINGS}{unit}{VAL});