From d34f28f8f16758a52fbbf71d3ecdfd17af3ffdd8 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Wed, 9 Nov 2016 18:49:54 +0000 Subject: [PATCH] 16_STACKABLE_CC.pm: fix TCM over SCC Dispatch (Forum #60028) git-svn-id: https://svn.fhem.de/fhem/trunk@12535 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/16_STACKABLE_CC.pm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/16_STACKABLE_CC.pm b/fhem/FHEM/16_STACKABLE_CC.pm index 5ebea1c45..e014e4b36 100644 --- a/fhem/FHEM/16_STACKABLE_CC.pm +++ b/fhem/FHEM/16_STACKABLE_CC.pm @@ -128,7 +128,21 @@ STACKABLE_CC_Parse($$) return "" if(IsIgnored($name)); - CUL_Parse($defs{$name}, $iohash, $name, $msg); + my $sh = $defs{$name}; + if($sh && $sh->{TCM}) { + my $th = $sh->{TCMHash}; + if($th) { + delete $th->{IOReadFn}; + $th->{IODevRxBuffer} = pack("H*", $msg); + CallFn($th->{NAME}, "ReadFn", $th); + $th->{IOReadFn} = "STACKABLE_IOReadFn"; + } else { + Log 1, "$name: no TCM device assigned"; + } + + } else { + CUL_Parse($defs{$name}, $iohash, $name, $msg); + } return ""; } @@ -161,6 +175,7 @@ STACKABLE_IOOpenFn($) { my ($hash) = @_; $hash->{FD} = $hash->{IODev}{IODev}{FD}; # Lets fool the TCM + $hash->{IODev}{TCMHash} = $hash; $hash->{IOReadFn} = "STACKABLE_IOReadFn"; return 1; }