diff --git a/FHEM/00_TCM.pm b/FHEM/00_TCM.pm index ff614db19..d9b43755f 100755 --- a/FHEM/00_TCM.pm +++ b/FHEM/00_TCM.pm @@ -269,8 +269,28 @@ TCM_Read($) } else { # Receive Message Telegram (RMT) - TCM_Parse120($hash, $net, 0); - + my $msg=TCM_Parse120($hash, $net, 1); + if (($msg eq 'OK') && ($net =~ m/^8B(..)(........)(........)(..)/)){ + my ($org, $d1,$id,$status) = ($1, $2, $3, $4); + my $packetType = 1; + # Re-translate the ORG to RadioORG / TCM310 equivalent + my %orgmap = ("05"=>"F6", "06"=>"D5", "07"=>"A5", ); + if($orgmap{$org}) { + $org = $orgmap{$org}; + } else { + #Log 1, "TCM120: unknown ORG mapping for $org"; + Log3 undef, 1, "TCM unknown ORG mapping for $org"; + } + if ($org ne "A5") { + # extract db_0 + $d1 = substr($d1, 0, 2); + } + if ($blockSenderID eq "own" && (hex $id) >= $baseID && (hex $id) <= $lastID) { + Log3 $name, 5, "TCM $name Telegram from $id blocked."; + } else { + Dispatch($hash, "EnOcean:$packetType:$org:$d1:$id:$status", undef); + } + } } $data = $rest; } @@ -395,6 +415,9 @@ TCM_Read($) # Parse Table TCM 120 my %parsetbl120 = ( + "8B05" => { msg=>"OK" }, + "8B06" => { msg=>"OK" }, + "8B07" => { msg=>"OK" }, "8B08" => { msg=>"ERR_SYNTAX_H_SEQ" }, "8B09" => { msg=>"ERR_SYNTAX_LENGTH" }, "8B0A" => { msg=>"ERR_SYNTAX_CHKSUM" }, @@ -825,7 +848,20 @@ TCM_Undef($$) of commands depends on the hardware and the firmware version. A firmware update is usually not provided.

- + The TCM module enables also a read-only wired connection to Eltako actuators over the + Eltako RS485 bus in the switchboard or distribution box via Eltako FGW14 RS232-RS485 + gateway modules. These actuators are linked to an associated wireless antenna module + (FAM14) on the bus. The FAM14 device frequently polls the actuator status of all + associated devices if the FAM14 operating mode rotary switch is on position 4. + Therefore, actuator states can be retrieved more reliable, even after any fhem downtime, + when switch events or actuator confirmations could not have been tracked during the + downtime. As all actuators are polled approx. every 1-2 seconds, it should be avoided to + use event-on-update-reading. Use instead either event-on-change-reading or + event-min-interval. + The Eltako bus uses the EnOcean Serial Protocol version 2 (ESP2) protocol, which is + the same serial protocol used by TCM120 modules. For this reason, a FGW14 can be + configured as a TCM120.

+ Define