From bb2267fa6d6173102a4899f1aa44d70621324afd Mon Sep 17 00:00:00 2001 From: adamwit <> Date: Thu, 31 Mar 2016 16:50:40 +0000 Subject: [PATCH] 89_VCONTROL: 0x05 allowed for more Methods git-svn-id: https://svn.fhem.de/fhem/trunk@11162 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/89_VCONTROL.pm | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/fhem/FHEM/89_VCONTROL.pm b/fhem/FHEM/89_VCONTROL.pm index 4a8894f5d..11c77975d 100644 --- a/fhem/FHEM/89_VCONTROL.pm +++ b/fhem/FHEM/89_VCONTROL.pm @@ -483,7 +483,13 @@ VCONTROL_Read($) my $bufflen = length($hexline); my $buffhalflen = $bufflen/2; - if ( $bufflen > 2 && $hexline =~ /(05){$buffhalflen,}/ && $cmd_list[$last_cmd][2] ne "mode"){ + if ( $bufflen > 2 && $hexline =~ /(05){$buffhalflen,}/ + && $cmd_list[$last_cmd][2] ne "mode" + && $cmd_list[$last_cmd][2] ne "1ByteU" + && $cmd_list[$last_cmd][2] ne "1ByteU2" + && $cmd_list[$last_cmd][2] ne "1ByteS" + && $cmd_list[$last_cmd][2] ne "1ByteH" + ){ Log3 $name, 5, "VCONTROL: exit if buffer just filled with 0x05"; $hash->{PARTIAL} = ""; $read_now = READ_UNDEF; @@ -533,7 +539,15 @@ VCONTROL_Read($) } #if the mode is requestet and 0x05 is received #try again to be sure that 0x05 is not the sync byte - elsif ($poll_now == POLL_ACTIVE && $cmd_list[$last_cmd][2] eq "mode" && substr("$hexline",0,2) eq "05" ){ + elsif ( $poll_now == POLL_ACTIVE + && substr("$hexline",0,2) eq "05" + && ( $cmd_list[$last_cmd][2] eq "mode" + || $cmd_list[$last_cmd][2] eq "1ByteU" + || $cmd_list[$last_cmd][2] eq "1ByteU2" + || $cmd_list[$last_cmd][2] eq "1ByteS" + || $cmd_list[$last_cmd][2] eq "1ByteH" + ) + ){ Log3 $name, 5, "VCONTROL: check temp_mode"; if ($temp_mode < 5){ $temp_mode++;