mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 13:26:02 +00:00
00_TCM: read-only wired connection to Eltako actuators via Eltako FGW14
git-svn-id: https://svn.fhem.de/fhem/trunk@5270 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
eedc55a4e8
commit
4f3868b680
@ -269,8 +269,28 @@ TCM_Read($)
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
# Receive Message Telegram (RMT)
|
# 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;
|
$data = $rest;
|
||||||
}
|
}
|
||||||
@ -395,6 +415,9 @@ TCM_Read($)
|
|||||||
|
|
||||||
# Parse Table TCM 120
|
# Parse Table TCM 120
|
||||||
my %parsetbl120 = (
|
my %parsetbl120 = (
|
||||||
|
"8B05" => { msg=>"OK" },
|
||||||
|
"8B06" => { msg=>"OK" },
|
||||||
|
"8B07" => { msg=>"OK" },
|
||||||
"8B08" => { msg=>"ERR_SYNTAX_H_SEQ" },
|
"8B08" => { msg=>"ERR_SYNTAX_H_SEQ" },
|
||||||
"8B09" => { msg=>"ERR_SYNTAX_LENGTH" },
|
"8B09" => { msg=>"ERR_SYNTAX_LENGTH" },
|
||||||
"8B0A" => { msg=>"ERR_SYNTAX_CHKSUM" },
|
"8B0A" => { msg=>"ERR_SYNTAX_CHKSUM" },
|
||||||
@ -825,6 +848,19 @@ TCM_Undef($$)
|
|||||||
of commands depends on the hardware and the firmware version. A firmware update
|
of commands depends on the hardware and the firmware version. A firmware update
|
||||||
is usually not provided.
|
is usually not provided.
|
||||||
<br><br>
|
<br><br>
|
||||||
|
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.<br><br>
|
||||||
|
|
||||||
<a name="TCMdefine"></a>
|
<a name="TCMdefine"></a>
|
||||||
<b>Define</b>
|
<b>Define</b>
|
||||||
@ -836,10 +872,13 @@ TCM_Undef($$)
|
|||||||
<code>device</code> can take the same parameters (@baudrate, @directio,
|
<code>device</code> can take the same parameters (@baudrate, @directio,
|
||||||
TCP/IP, none) like the <a href="#CULdefine">CUL</a>, but you probably have
|
TCP/IP, none) like the <a href="#CULdefine">CUL</a>, but you probably have
|
||||||
to specify the baudrate: the TCM120 should be opened with 9600 Baud, the
|
to specify the baudrate: the TCM120 should be opened with 9600 Baud, the
|
||||||
TCM310 with 57600 baud.<br>
|
TCM310 with 57600 baud. For Eltako FGW14 devices, type has to be set to 120 and
|
||||||
|
the baudrate has to be set to 57600 baud if the FGW14 operating mode
|
||||||
|
rotary switch is on position 6.<br>
|
||||||
Example:
|
Example:
|
||||||
<ul><code>
|
<ul><code>
|
||||||
define BscBor TCM 120 /dev/ttyACM0@9600<br>
|
define BscBor TCM 120 /dev/ttyACM0@9600<br>
|
||||||
|
define FGW14 TCM 120 /dev/ttyS3@57600
|
||||||
define TCM310 TCM 310 /dev/ttyACM0@57600<br>
|
define TCM310 TCM 310 /dev/ttyACM0@57600<br>
|
||||||
define TCM310 TCM 310 COM1@57600 (Windows)<br>
|
define TCM310 TCM 310 COM1@57600 (Windows)<br>
|
||||||
</code></ul>
|
</code></ul>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user