FHEM - Hausautomations-Systeme > EnOcean

Mit FGW14 an den Eltako RS485 Bus und mit FTD14 ins Enocean Funknetz

(1/7) > >>

g.carls:
Die meisten Enocean Anwender werden die Module von Eltako mit einem TCM120 (BscBor) oder TCM310
USB Stick via Enocean Funk steuern.
Dieses Tutorial beschreibt eine kabelgebundene Anbindung des FHEM-Rechners an den Eltako RS485
Bus, über die sowohl Busaktoren als auch Enocean Funkaktoren gesteuert werden können und auch Enocean Funktelegramme
über das FAM14 Funkantennenmodel am RS485-Bus empfangen werden können.

Über diese Anbindung kann zuverlässiger als über die Funkschnittstelle der Schaltzustand der Busaktoren
erfasst werden. So belastet die zyklische Abfrage der Aktoren-Schaltzustände über den
RS485 Bus auch nicht unnötig das Enocean-Funknetz.

Nachfolgend wird eine Beispielkonfiguration für die FHEM Anbindung an den Eltako RS485
Bus beschrieben:


FHEM Eltako-Enocean/RS485-Bus-Hardware-Minimalkonfiguration

Eine beispielhafte Eltako-Minimalkonfiguration besteht aus folgenden Komponenten:
1 x Eltako FAM14 Funkantennenmodul
1 x FTD14 Bus Telegramm Duplizieret zum Weiterleiten von Bustelegrammen in das Enocean Funknetz
1 x Eltako FGW14 RS232-Gateway für kabelgebundene FHEM Integration
1 x FSR14-4x 4-fach Binäraktor
1 x Enocean Funktaster

Eltako FAM14
Das FAM14 ist ein Enocean-Funk-Antennenmodul für den Eltako-RS485-Bus mit austauschbarer Antenne,
integriertem Schaltnetzteil 12 V DC-1A.
Das FAM14 Modul verfügt über eine USB-Schnittstelle, über die mit der PCT16 Software die
Konfiguration sämtlicher Aktoren ausgelesen werden kann und jeder einzelne Bus-Aktor auch
konfiguriert werden kann. Auf diese Art und Weise lassen sich bei vielen Aktoren Funktionen
konfiguriere, die über die üblichen Drehschalter nicht erreichbar sind.
An der Funkschnittstelle verwendet dieses Modul das Enocean Funkprotokoll und auf
dem RS485 Bus verwendet das Modul das Enocean Serial Protocol 2 (ESP2).
Über die Funkschnittstelle empfangene Enocean Nachrichten setzt dieses Modul in ESP2
Nachrichten um und leitet diese an alle Module weiter, die am Eltako RS485-Bus
angeschlossen sind. Eltako Aktoren der 14er Serie sind bidirektional und erzeugen
Bestätigungstelegramme, die das FAM14 wiederum in das Funknetz sendet.
Über einen Drehschalter lässt sich das FAM14 Modul so konfigurieren, dass es zyklisch den Status
aller am RS485 Bus angeschlossenen Aktoren pollt. Die zyklischen abgefragten Status-
Informationen können wahlweise für alle Aktoren oder für eine mit der Eltako PCT16
Software konfigurierten Liste von Aktoren an das Funknetz weitergeleitet werden.
Eltako RS485 Module lassen sich auf einer Hutschiene montieren und werden über Steckbrücken
verbunden. Über die Steckbrücken werden die Module mit 12V DC und dem RS485 Bus versorgt.
Nach der Montage neuer Aktoren, muss dem neuen Aktor eine Id durch das FAM14 Modul
zugeteilt werden. Diese ID entspricht der Encean ID, die u.a. in den Statusnachrichten der
Module verwendet wird und über die die Module später in FHEM identifiziert werden können.

Eltako FTD14 Bus-Telegramm-Duplizierer
Die Telegramme eingelernter IDs werden dupliziert und mit einer neuen Ausgangs-ID direkt in den
in das Enocean Funknetz gesendet. Diese Funk-Telegramme können gezielt in dezentrale Aktoren
eingelernt werden. Insgesamt stehen 120 Speicherplätze zur Verfügung.

Eltako FGW14
Das Eltako FGW14 Modul stellt ein RS232 Gateway zum Eltako Rs485 Bus dar.
An den Bus können bis zu 3 FGW14 Gateways angeschlossen werden.
Diese Module sind eigentlich dafür vorgesehen, in grösseren Installationen mehrere
Enocean Funk-Empfänger an den Bus anzuschliessen um die Funkabdeckung zu vergrössern,
eine Kopplung zu einem Eltako Serie 12 Bus oder zu einem weiteren Eltako Serie 14
Bus herzustellen. Das Modul macht eine Umsetzung von RS485 auf RS232 und lässt
sich über die RS232 Schnittstelle an einen PC oder embedded PC mit FHEM anschliessen.
An der RS232 Schnittstelle wird das Enocean Serial Protocol 2 (ESP2) verwendet.
Dies ist das selbe Protokoll, das die Enocean TCM120 USB/RS232 Adapter verwenden, für deren
Integration in FHEM es das TCM Modul gibt.
Während das TCM120 Modul nur eine Baudrate von 9600 Baud unterstützt, unterstützt das FGW14
Baudraten von 9600 und 57600 Baud. Eine Baudrate von 57600 Baud entspricht der auf dem
Eltako RS485-Bus verwendeten Baudrate. Die zu verwendende Baudrate lässt sich über einen
Drehschalter am FGW14 einstellen. Für eine FHEM Integration sollte eine Baudrate von 57600
Baud verwendet werden. Dafür muss der FGW14 Drehschalter auf Position 6 gedreht werden
(Bus14 <-> RS232 58K Baud).

Eltako FSR14-4x
Das Eltako FSR14-4x ist ein 4-fach Relais-Modul in der hier beschriebenen Beispielkonfiguration.
Die 4 Relais können getrennt über den Bus durch FHEM angesteuert werden oder auch durch
einen Enocean Funktaster dessen Enocean Funktelegram vom FAM14 Modul auf den RS485 Bus
geschrieben wird.
Nach der Installation des FSR14 Moduls auf der Hutschiene und Anschluss am Bus über die
Steckbrücke muss man das FAM14 Modul einen Busscan durchführen lassen, damit das neu
installierte FSR14 Modul eine Adresse (ID) zugeteilt bekommt.
Der Drehschalter am FAM14 wird auf Pos. 1 gedreht, dessen untere LED leuchtet rot.
Der untere Drehschalter des FSR14 wird auf 1..4 gestellt.
Der mittlere Drehschalter des FSR14 wird auf LRN gedreht, die LED blinkt ruhig.
Nachdem die Adresse vom FAM14 vergeben wurde, leuchtet dessen untere LED für 5 Sekunden
grün und die LED des FSR14 erlischt.Bei diesem Vorgang wird jedem der 4 Relais eine
eigene Enocean Adresse (ID)im Bereich von 1-126 vergeben. Danach werden wieder alle
Drehschalter in ihre Ausgangsposition gedreht.



Anschluss an den FHEM Host-Rechner:
Das FGW14 Modul verfügt über RX und TX Klemmen, an denen das RS232 Signal anliegt.
Diese Klemmen müssen über Kreuz mit den entsprechenden Anschlüssen einer seriellen
Schnittstele des FHEM Hosts angeschlossen werden. D.h., RX von FGW14 mit TX vom Host und
TX von FGW14 mit RX vom Host. Verfügt der FHEM Host über keine RS232 Schnittstelle, so
verwendet man einen entsprechenden USB Adapter.

Konfiguration in fhem.cfg:


--- Code: ---# Konfiguration der seriellen Schnittstelle:
#
# Drehschalter des FGW14 auf Pos 6 = 57600 Baud
#
define TCM120 TCM 120 /dev/ttyS3@57600
attr TCM120 alias Eltako FGW14
attr TCM120 verbose 3
--- Ende Code ---

Startet man FHEM nach dem Speichern der Konfigurationsänderungen neu sollte man
das fhem.log kontrollieren.
Dort findet man nun folgende Einträge:


--- Code: ---2014.04.02 08:43:08 3: Opening TCM120 device /dev/ttyS3
2014.04.02 08:43:08 3: Setting TCM120 baudrate to 57600
2014.04.02 08:43:08 3: TCM120 device opened
2014.04.02 08:43:08 1: get baseID: Bogus answer received: 000000001520C5A55A8B0550000000000000023012
--- Ende Code ---

Die dritte Zeile signalisiert, dass erfolgreich eine Verbindung zum FGW14 hergestellt
werden konnte. Anschliessend versucht FHEM die BaseID des vermeintlichen
TCM120 Moduls abzufragen
Da es sich bei einem FGW14 Modul um kein TCM120 Funkmodul mit eigener BaseId handelt
kommt es zu obiger "Bogus answer received" Fehlermeldung.
Diese ist nicht weiter tragisch und kann einfach ignoriert werden.

Wenn in fhem.cfg folgendes Attribut gesetzt wurde

--- Code: ---attr global autoload_undefined_devices 1
--- Ende Code ---

Dann erzeugt FHEM automatisch neue Einträge in der fhem-Konfiguration,
sobald von einem Sensor oder Aktor das erste Mal eine Nachricht auf dem RS485 Bus ausgetauscht wird.
Befindet sich der obere Drehschalter des FAM14 in Position 4 erhält FHEM über das FGW14 zyklisch
Statusmeldungen von allen Aktoren am RS485 Bus.
Auf Basis dieser Statusmeldungen erzeugt FHEM bereits Defines.
Für ein FSR14-4x wird pro Kanal ein Konfiguration in der folgenden Form generiert:


--- Code: ---define EnO_switch_00000007 EnOcean 00000007
attr EnO_switch_00000007 IODev TCM120
attr EnO_switch_00000007 room EnOcean
attr EnO_switch_00000007 subType switch
define FileLog_EnO_switch_00000007 FileLog ./log/EnO_switch_00000007-%Y.log EnO_switch_00000007
attr FileLog_EnO_switch_00000007 logtype text
attr FileLog_EnO_switch_00000007 room EnOcean

--- Ende Code ---
Mit solch einer Konfiguration ist es bereits möglich Statusmeldungen und Signale von
Enocean Tastern und Sensoren in FHEM lesend auszuwerten.

Eltako RS485-Busaktoren mit FHEM ansteuern:

Steuert man Enocean Aktoren auf dem herkömmlichen Weg über TCM120 oder TCM310 USB Adapter
über Funk an, muss FHEM eine Absender ID aus dem Adressbereich des jeweiligen TCM USB-
Adapters verwenden. Diese Einschränkung gilt nicht für die Kommunikation mit den
Aktoren über den RS485 Bus. D.h., FHEM darf beliebige IDs verwenden, solange diese
eindeutig sind.
Möchte man mit einem FHEM-Webcmd Schalter einen Kanal eines FSR14-4x schalten, so muss
die automatisch generierte Konfiguration für das FSR14-4x Relais angepasst werden.
Dazu wird dem FHEM Schalter die frei gewählte ID 00100007 zugeordnet. Um die Übersicht
über vergebene IDs zu behalten, sollte man diese systematisch vergeben: z.B.
FHEM-ID= Aktor-ID+0x00100000.
Nun müssen FHEM-ID und Aktor-ID einander zugeordnet werden. Dies erfolgt über ein
Sub-Define innerhalb des FSR14 Defines mit dem subDef Attribut, dem man die FHEM-ID
zuweist.
Im folgenden Beispiel ist nun der FHEM-Schalter mit der ID 00100007 dem Aktor mit der
ID 00000007 zugeordnet.


--- Code: ---#
# LAMPE
#
# B0: Lampe an
# BI: Lampe aus
#

define EnO_switch_00000007 EnOcean 00000007
attr EnO_switch_00000007 IODev TCM120
attr EnO_switch_00000007 alias LAMPE
attr EnO_switch_00000007 event-on-change-reading state,buttons,channelA,channelB
attr EnO_switch_00000007 group Beleuchtung
attr EnO_switch_00000007 gwCmd switching
attr EnO_switch_00000007 icon light_outdoor
attr EnO_switch_00000007 room Garten
attr EnO_switch_00000007 subDef 00100007
attr EnO_switch_00000007 subType gateway
--- Ende Code ---

Abschliessend muss die FHEM-ID noch in den Aktor eingelernt werden.
Dazu stellt man den zur ID 00000007 zugehörigen Kanal am unteren Drehschalter des FSR14 ein
und den oberen Drehschalter auf die Position LRN (Learn).
Anschliessend muss im Kommandofeld von FHEM das teach Kommando wie folgt eingegeben werden:


--- Code: ---set EnO_switch_00000007 teach

--- Ende Code ---
Danach müssen die Drehschalter des FSR14-4x wieder in ihre Ausgangsposition gebracht werden.
Der Einlernvorgang ist abgeschlossen.
Über den FHEM-Schalter mit dem Namen "LAMPE" im Raum "Garten" kann nun das Relais
geschaltet werden!
Sofern man mit der Eltako PCT16 Software vertraut ist, kann man sich diesen etwas umständlichen
Einlernvorgang auch sparen und die in den subDefs verwendeten IDs auch direkt über die
PCT16 Software in den Aktoren konfigurieren.

Enocean Funkaktoren mit FHEM ansteuern:
Um einen Funkaktor anzusteuern muss eine frei gewählte ID in das FTD14 Modul eingelernt werden.
Dabei muss wie folgt vorgegangen werden:
Den unteren Drehschalter auf LRN stellen. Die obere rote LED blinkt ruhig.
In FHEM folgendes Kommando ausführen:


--- Code: ---set EnO_switch_0000000X teach
--- Ende Code ---

Die obere rote LED erlischt.
Um unbeabsichtigtes Lernen zu verhindern, muss für weitere Lernvorgänge der Drehschalter
neu auf LRN gedreht werden, die obere rote LED blinkt wieder ruhig.
Das FTD14 Modul bildet die eingelernte ID auf eine eigene ID ab, die in das Funknetz gesendet wird.
In einen Funkaktor muss anschliessend die vom FTD14 verwendete ID eingelernt werden.

Spartacus:
Hallo,
es gibt zwar schon Fragen dazu im Forum, aber vielleicht ist mein Thema hier besser aufgehoben:

* könnte man das Eltako FGW14 RS232-Gateway für kabelgebundene FHEM Integration gegen die USB-Variante austauschen?
* ich verstehe die Funktion des FAM 14 und die des FTD14 Bus Telegramm Duplizierer nicht richtig.
Warum benötigt man diese beiden Komponenten?

In meiner geplanten Umgebung sollen auch dezentrale Eltako-Aktoren und Sensoren eingebunden werden. Da es den TCM310 von Busware nicht mehr gibt, suche ich eine Lösung mit externer Antenne (z.B FA250 ) um diese dezentralen Aktoren in  fhem an meinen raspberry pi in der Verteilung mit der o.a. Kabellösung, RS232 od. USB) anzubinden. Zentrale Aktoren FSR14-4x sind in der Verteilung auch enthalten.

Danke und Gruß,
Sparatcus.

g.carls:

--- Zitat von: Spartacus am 11 September 2014, 11:31:17 ---Hallo,
es gibt zwar schon Fragen dazu im Forum, aber vielleicht ist mein Thema hier besser aufgehoben:

* könnte man das Eltako FGW14 RS232-Gateway für kabelgebundene FHEM Integration gegen die USB-Variante austauschen?
* ich verstehe die Funktion des FAM 14 und die des FTD14 Bus Telegramm Duplizierer nicht richtig.
Warum benötigt man diese beiden Komponenten?

In meiner geplanten Umgebung sollen auch dezentrale Eltako-Aktoren und Sensoren eingebunden werden. Da es den TCM310 von Busware nicht mehr gibt, suche ich eine Lösung mit externer Antenne (z.B FA250 ) um diese dezentralen Aktoren in  fhem an meinen raspberry pi in der Verteilung mit der o.a. Kabellösung, RS232 od. USB) anzubinden. Zentrale Aktoren FSR14-4x sind in der Verteilung auch enthalten.

Danke und Gruß,
Sparatcus.

--- Ende Zitat ---
Das TCM310 Modul als USB-Stick gibt es aber noch von BSC bei amazon:
http://www.amazon.de/BSC-EnOcean-USB-Gateway-868MHz-Chipsatz/dp/B0063VOWEU/ref=sr_1_1?ie=UTF8&qid=1410970441&sr=8-1&keywords=enocean+tcm310

Das FAM14 von Eltako ist mehr oder weniger nur ein Empfänger. Enocean Nachrichten vom RS485 Bus werden vom FAM14 Modul nur gefiltert an das Funknetz weitergeleitet. zu den weitergeleiteten Telegrammen zählen z.B. nur die Bestätigungstelegramme oder Messwerte (z.B. Wechselstromzähler), jedoch nicht die Switchtelegramme von Binärsensoren am RS485 Bus.

Mit FHEM kann man zwar beliebige Switch-Telegramme mit selbst vergebenen IDs auf dem Bus erzeugen, jedoch bietet kein von Enocean hergestelltes Modul die Möglichkeit, diese IDs unverändert in Funknetz weiterzureichen. Diese Einschränkung erfolgt aus Sicherheitsgründen damit man z.B. keine Taster aus fremden Enocean Netzen simulieren kann um z.B. beim Nachbarn das Garagentor zu öffnen.

Die TCM310 Module haben daher grundsätzlich 128 hart kodierte IDs.
Mit dem FTD14 erhält man einen ID-Adressbereich, für den Nachrichten vom Bus ins Funknetz weitergesendet werden. Dabei wird die auf dem BUS verwendete ID auf eine im Funknetz verwendete ID abgebildet.

Viele Grüße,

Guido


Spartacus:
Hallo Guido,
vielen Dank für Deine Antwort. Mein Problem ist, das die USB-TCM310- Module keine externe Antenne unterstützen. Ich habe ja bereits einen enoceanPI und der funkt max. vom Keller bis ins EG. Das FAM 14 mit der Miniantenne ist da schon viel besser! Hier habe ich aber auch eine externe Antenne bestellt und ziehe diese durch einen zentralen Schacht bis zur Hausmitte.

Das BUSWARE Modul bot ebenfalls die Möglichkeit eine externe Antenne anzuschließen, dann hätte ich es genau wie beim FAM14 gemacht, aber leider gibt es  das nicht mehr. Jetzt muss ich gucken, ob ich den enocean pi irgendwie zentral im Haus unterbringen kann, damit ich das Reichweitenproblem in den Griff bekomme.

Gruß,
Sparatcus.

g.carls:
Hallo,

Du könntest einen zweiten RASPI als seriell zu IP Konverter einsetzen.
D.h., den FHEM RASPI lässt Du dort wo er ist und verbindest ihn via Ethernet oder WLAN mit einem 2. RASPI, den Du dort positionierst, wo die beste Position für den EnOcean Transceiver ist.
Auf dem 2. RASPI installierst Du den Enocean USB-Stick sowie die "ser2net" Software, die von der seriellen Schnittstelle des USB Sticks liest und die ESP-Telgramme der seriellen Schnittstelle via TCP/IP an den FHEM RASPI überträgt.

Die ser2net Konfiguration in /etc/ser2net.conf könnte zt.B. wie folgt aussehen:

#  <TCP port>:<state>:<timeout>:<device>:<options>
2206:raw:0:/dev/<EnoceanUSVDevice>:57600 8DATABITS NONE 1STOPBIT remctl

<EnoceanUSVDevice> musst du durch den Devicenamen Deines USB Sticks ersetzen.

Auf dem FHEM RASPI musst Du die TCM Schnittstelle danach wie folgt konfigurieren:

define TCM310_0 TCM ESP3 <EnoceanRASPI-IP>:2206

<EnoceanRASPI-IP> muss Du durch die IP des RASPIs mit dem Enocean USB Stick ersetzen.

Ich betreibe eine vergleichbare Konfiguration zur Fern-Anbindung eines FGW14 aus einem Verteilerkasten.
Für RASPIs gibt es ja sogar Hutschienengehäuse, so dass sich dieser "Enocean-Proxy" recht einfach in einem Verteiler unterbringen lässt.
Bei mir läuft diese Lösung einwandfrei und sehr stabil.


Viele Grüße,

Guido




Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln