From 0c8d9cc93cb6826bc82bf1cc8dce1d329748d59c Mon Sep 17 00:00:00 2001 From: Icinger <> Date: Tue, 9 May 2017 19:24:14 +0000 Subject: [PATCH] 47_OBIS: Removed "substr outside of string at ./FHEM/47_OBIS.pm line 791"-Error in SML-Routine git-svn-id: https://svn.fhem.de/fhem/trunk@14235 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/47_OBIS.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/47_OBIS.pm b/fhem/FHEM/47_OBIS.pm index 87a3ee4a5..5ea10807b 100644 --- a/fhem/FHEM/47_OBIS.pm +++ b/fhem/FHEM/47_OBIS.pm @@ -505,6 +505,8 @@ sub OBIS_Parse($$) my $chan=$3+0 > 0 ? "_Ch$3" : ""; if (AttrVal($name,"ignoreUnknown","off") eq "off" || $L ne $channel) { if($1==1) { + Log3($hash,4,"Set ".$L.$chan." to ".((looks_like_number($3) ? $5+0 : $5) +AttrVal($name,"offset_energy",0))); + readingsBulkUpdate($hash, $L.$chan ,(looks_like_number($3) ? $5+0 : $5) +AttrVal($name,"offset_energy",0).(AttrVal($name,"unitReadings","off") eq "off"?"":" $6")); } elsif ($1==2) { readingsBulkUpdate($hash, $L.$chan ,(looks_like_number($3) ? $5+0 : $5) +AttrVal($name,"offset_feed",0).(AttrVal($name,"unitReadings","off") eq "off"?"":" $6")); @@ -786,9 +788,12 @@ sub OBIS_decodeTL($){ $msgLength-=1; } $msgLength-=1; - my $valu=substr($msg,0,$msgLength*2); - $tmp.=$valu; + my $valu; + if (length($msg)>$msgLength*2) { + $valu=substr($msg,0,$msgLength*2); + $tmp.=$valu; $msg=substr($msg,$msgLength*2); + } # Log 3," Split Msg: $tmp $msg"; return $msgLength,$msgType,$valu,$msg,$tmp; };