From b40d76a05d65b33ad9c42fee96be4b2860199a50 Mon Sep 17 00:00:00 2001 From: telekatz <> Date: Sat, 21 May 2016 17:32:01 +0000 Subject: [PATCH] 10_DUOFERNSTICK: raw command added git-svn-id: https://svn.fhem.de/fhem/trunk@11487 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_DUOFERNSTICK.pm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/10_DUOFERNSTICK.pm b/fhem/FHEM/10_DUOFERNSTICK.pm index 1e204e11d..7d0fb4338 100644 --- a/fhem/FHEM/10_DUOFERNSTICK.pm +++ b/fhem/FHEM/10_DUOFERNSTICK.pm @@ -17,6 +17,7 @@ my %sets = ( "pair:noArg" => "", "unpair:noArg" => "", "remotePair" => "", + "raw" => "", ); my $duoInit1 = "01000000000000000000000000000000000000000000"; @@ -135,6 +136,12 @@ DUOFERNSTICK_Set($@) DUOFERNSTICK_AddSendQueue($hash, $duoStatusRequest); return undef; + } elsif ($cmd eq "raw") { + return "wrong raw format: specify a 44 digit hex value" + if(!$arg || (uc($arg) !~ m/^[a-f0-9]{44}$/i)); + DUOFERNSTICK_AddSendQueue($hash, $arg); + return undef; + } elsif ($cmd eq "pair") { DUOFERNSTICK_AddSendQueue($hash, $duoStartPair); $hash->{pair} = 1; @@ -203,7 +210,7 @@ DUOFERNSTICK_Read($) my $now = gettimeofday(); if ($hash->{PARTIAL} ne "") { - InternalTimer($now+0.1, "DUOFERNSTICK_Flush_Buffer", "$hash->{NAME}:FB", 0); + InternalTimer($now+0.5, "DUOFERNSTICK_Flush_Buffer", "$hash->{NAME}:FB", 0); } } @@ -319,6 +326,10 @@ DUOFERNSTICK_Flush_Buffer($) { my ($name,$id) = split(":",$_[0]); + if ($defs{$name}{PARTIAL} ne "") { + Log3 $name, 4, "$name discard $defs{$name}{PARTIAL}"; + } + $defs{$name}{PARTIAL} =""; return undef; @@ -601,12 +612,12 @@ DUOFERNSTICK_AddSendQueue($$)
Set