diff --git a/FHEM/11_FHT.pm b/FHEM/11_FHT.pm index cb97a68e0..472ab8a74 100755 --- a/FHEM/11_FHT.pm +++ b/FHEM/11_FHT.pm @@ -565,7 +565,6 @@ doSoftBuffer($) $count++; my $h = $io->{SOFTBUFFER}{$key}; my $name = $h->{HASH}->{NAME}; - if($h->{NSENT}) { next if($now-$h->{SENDTIME} < $retryafter); my $retry = $attr{$name}{retrycount}; @@ -575,6 +574,21 @@ doSoftBuffer($) delete($io->{SOFTBUFFER}{$key}); next; } + + } + # Check if it is still in th CUL buffer. + if($io->{TYPE} eq "CUL") { + my $cul = CallFn($io->{NAME}, "GetFn", $io, (" ", "raw", "T02")); + my $arg = uc($h->{ARG}); + $arg =~ s/^020183//; + $arg =~ s/(....)/,$1/g; + $arg =~ s/,(....),/$1:/; + $arg = uc($arg); + if($cul =~ m/$arg/) { + Log GetLogLevel($name,3), + "$name set $h->{CMD}: still in the culfw buffer, wont send"; + next; + } } $fhzbuflen = getFhtBuffer($io) if($fhzbuflen == -999); @@ -587,7 +601,6 @@ doSoftBuffer($) $fhzbuflen -= $arglen; $h->{SENDTIME} = $now; $h->{NSENT}++; - } if($count && !$io->{SOFTBUFFERTIMER}) {