EnOcean Starter Guide
EnOcean
EnOcean ist
- ein ISO ratifizierter Funkstandard, ausgelegt für Funksensoren und Funksensornetze mit besonders niedrigem Energieverbrauch
- ein Anbieter batterieloser Funksensoren
EnOcean-Endgeräte mit dem von der EnOcean Alliance zur Verfügung gestellten EnOcean-Funkprotokoll werden von zahlreichen Hardware-Herstellern angeboten.
Abhängig von den Funktionen des EnOcean-Endgerätes werden bestimmte Anwendungs-Profile/Funk-Telegramme, die sogenannten EnOcean Equipment Profiles (EEPs), zur Funkkommunikation genutzt. Technische Details zum EnOcean-Funkprotokoll und insbesondere zu den EnOcean Equipment Profiles (EEPs) sind auf der Internetseite der EnOcean Alliance zu finden.
EnOcean bietet -neben den veröffentlichten Standard-Enocean-Profilen- die Möglichkeit für die Nutzung von herstellerspezifischen Funk-Profilen/Telegrammen (MSC = Manufacturer Specific Communication). Falls die Herstellerfirmen den Inhalt dieser MSC-Telegramme nicht veröffentlichen, ist eine Unterstützung durch Fhem grds. nicht möglich. Teilweise werden die Produkte sowohl mit MSC- als auch mit Standard-Enocean-Profilen vertrieben [1]. Angaben zu den verwendeten Profilen/Telegrammen sind regelmäßig den Bedienungsanleitungen der Produkte zu entnehmen.
EnOcean-Endgeräte gibt es sowohl in uni- als auch in bidirektionalen Ausführungen. Bei unidirektionalen Endgeräten erfolgt die Funk-Kommunikation nur in eine Richtung. Einem Aktor, der Licht schaltet, kann zwar der Befehl zum An- bzw. Ausschalten gegeben werden. Er liefert aber keine Rückinformation über die erfolgreiche Ausführung des Befehls. Bei bidirektionalen Endgeräten erfolgt die Funk-Kommunikation hingegen in zwei Richtungen; sie bieten Sende- und Empfangsmöglichkeiten. Der bidirektionale Aktor kann somit unter anderem die erfolgreiche Ausführung eines empfangenen Befehls zurückmelden.
Damit EnOcean Funk-Aktoren (z.B. Relais, Dimmer, Heizungsventil...) auf EnOcean Sensoren (z.B. Taster, Temperatursensor, Fensterkontakt, Energieverbrauchsmesser...) reagieren können, werden die Sensoren bei den Aktoren eingelernt (Teach-in). So wird festgelegt, dass z.B. "Funktaster 1" den "Dimmer 1" steuert.
EnOcean in Fhem
Allgemein
Fhem wird regelmäßig weiterentwickelt und verbessert. Daher ist es zwingend notwendig, dass Fhem auf dem aktuellsten Stand ist. Bitte nach Fhem-Installation den Befehl "update" ausführen und anschließend "shutdown restart" durchführen. Genauso bitte auch bei Anfragen im Forum die Aktualität von Fhem überprüfen.
Die Nutzung von EnOcean in Fhem ist für den Anfänger nur mit eingeschalteter autocreate-Funktion einfach umsetzbar. Standardmäßig ist die autocreate-Funktion in Fhem eingeschaltet.
EnOcean Funk mit Fhem empfangen und senden
Fhem kann mit einem Funkgateway, das auf einem TCM-Modul basiert, EnOcean-Funk empfangen und senden. Bisher gibt es zwei Transceiver Chips von EnOcean:
- TCM120 (ausgelaufen)
- für den USB-Port: BSC BOR
- TCM310
- als USB-Stick: USB 300 und Busware EUL
- als Aufsteckmodul für Raspberry Pi: EnOceanPi
Zudem existiert eine Lösung zur kabelgebundenen Anbindung des FHEM-Rechners mittels Eltako FGW14 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.
Definition von TCM / Gateway
Das TCM-basierte Gateway wird nach dem Anschluss an den Fhem-Rechner beim Fhem-Start automatisch erkannt und grundlegend durch entsprechende Einträge in der fhem.cfg definiert. Ein manuelles Anlegen des TCM-Moduls oder direkter Eingriff in die fhem.cfg ist regelmäßig nicht notwendig und auch nicht ratsam. Eine Ausnahme bildet das FGW14 bei dem manuell das Attribut comType auf RS485 in der fhem.cfg gesetzt werden muss.
Beispiele der automatisch erzeugten define-Zeile in der fhem.cfg:
TCM120/BSCBor an Rapberry Pi:
define BscBor TCM ESP2 /dev/ttyACM0@9600
TCM310/EnOceanPi an Raspberry Pi:
define TCM310 TCM ESP3 /dev/ttyACM0@57600
TCM310/USB300 an Fritzbox
define TCM310 TCM ESP3 /dev/ttyUSB3@57600
Hier Beispiel der define-Zeile in der fhem.cfg für kabelgebundene Anbindung mit FGW14 über serielle Schnittstelle
define TCM120 TCM ESP2 /dev/ttyS3@57600 attr TCM120 comType RS485 <---- Manuell zu setzen; zwingend, sonst startet Fhem nicht!!
Nach erfolgreicher Definition ist das Gateway im Raum "Everything" in der Gruppe "TCM" zu finden. Wenn neben dem Gatewaynamen "initialized" angezeigt wird, ist Fhem in der Lage mit den EnOcean-Geräten zu kommunizieren und der nächste Schritt, die Definition der EnOcean-Geräte in Fhem, kann erfolgen.
Mehr Details in der commandref zu TCM
Definition von EnOcean-Geräten
Alle EnOcean Geräte mit Sendefunktion haben eine eindeutige 8-stellige Hex-SenderID (z.B. ffc54500). Diese ID ist auch auf den EnOcean Geräten aufgedruckt (auch mit Punkten oder Doppelpunkten dazwischen, z.B. ff:c5:45:00). Diese eindeutige SenderID wird auch in Fhem zur Kommunikation genutzt und in der Definition der Geräte bzw. den Attributen hinterlegt.
Vorbereitung
Es empfiehlt sich eine Tabelle aufzubauen mit der Struktur (Vorschlag):
A | B | C | D | E |
---|---|---|---|---|
Nr. | Name EnOcean | Name in Fhem | HEX (Sender-ID) | Zimmer |
<Name Hardwareschalter> | <Name in Fhem> | <HEX Code> | <Raumname> | |
TCM 310_0 | TCM 310_0 | AABBCC00 | ||
1 | EnO_switch_123456 | eg_fl_Licht | AABBCC01 | EG_Flur |
... | ||||
128 |
Anlernvorgang/Autocreate
Damit Fhem und EnOcean-Geräte miteinander kommunizieren können, müssen sie untereinander bekannt gemacht werden. Dies geschieht durch Definition des Gerätes und den Anlernvorgang. Dazu muss sich Fhem im learningMode befinden. Viele Geräte werden von Fhem automatisch erkannt und definiert. Dennoch ist ein grundlegendes Verständnis der Anlernvorgänge und Unterscheidungsprinzipen in Fhem und EnOcean notwendig. Sofern das Gerät Bestätigungstelegramme verschicken kann, sind diese zwingend vorher am Gerät einzuschalten (u.a. Eltako).
Fhem entnimmt die Angaben, wie ein Funk-Telegramm für ein bestimmtes Gerät aufgebaut ist, aus den Attributen subType, manufID und/oder model der Definition des Gerätes:
- subtype: vom Gerät genutztes EEP-Profil (steht in der Bedienungsanleitung des Gerätes)
- manufID: Hersteller des Gerätes
- model: Modell des Gerätes
Während des Anlernvorgangs werden diese Angaben von Fhem soweit wie möglich automatisch in der Definition vorbelegt. Hinweise zu den Besonderheiten von bestimmten Geräten und EEP-Profilen finden sich oft in der commandref zu EnOcean.
Der Anlernvorgang unterscheidet sich je nach Gerätetyp:
- Schalter (EEP RPS): werden automatisch beim ersten empfangenen Funktelegramm in Fhem mit den notwendigen Attributen angelegt.
- Kontakte (EEP 1BS): werden automatisch beim ersten empfangenen Funktelegramm in Fhem mit den notwendigen Attributen angelegt.
- Sensoren (EEP 4BS): Durch Versand eines speziellen Anlern-Funktelegramms, können sie in Fhem automatisch mit den notwendigen Attributen angelegt werden. Im Anlerntelegramm übermittelt der Sensor Fhem die EEP-Profilangabe und die Hersteller-ID. Aufgrund dieser Angaben kann Fhem das Gerät eindeutig erkennen und die richtigen Attribute in Fhem setzen. Einige wenige Sensoren verschicken leider ein Anlerntelegramm ohne EEP-Profilangabe und/oder Herstellerangabe (Bsp: Omnio Ratio eagle-PM101). Bei diesen Sensoren müssen die Attribute subType, manufID und/oder model manuell in Fhem gesetzt werden, damit eine richtige Auswertung der Funktelegramme erfolgt.
- Aktoren (4BS, VLD/UTE, MSC): Bei den Aktoren gibt es je nach Gerätetyp verschiedene Anlernvorgänge, die unterschiedlich in Fhem ausgeführt werden.
Fhem legt noch nicht definierte EnOcean Geräte selbst an, wenn
- in fhem.cfg autocreate aktiviert ist:
- Fhem/das TCM-Modul sich im "learningMode" befindet und
- Fhem eine Nachricht vom noch nicht definierten EnOcean Gerät empfängt
Beispiel: Autocreate eines Eltako FT55 Taster
Beim Drücken des Tasters wird vom Taster eine Nachricht ausgesendet, die (hoffentlich) von Fhem empfangen wird. Daraufhin fügt Fhem folgenden Code zur fhem.cfg hinzu:
define EnO_switch_FFC54500 EnOcean FFC54500 <-- "FFC54500" ist die 8-stellige Hex-SenderID des Tasters attr EnO_switch_FFC54500 IODev TCM310_0 attr EnO_switch_FFC54500 room EnOcean attr EnO_switch_FFC54500 subType switch define FileLog_EnO_switch_FFC54500 FileLog ./log/EnO_switch_FFC54500-%Y.log EnO_switch_FFC54500 attr FileLog_EnO_switch_FFC54500 logtype text
Im Webfrontend wird der Taster angezeigt (im Room EnOcean).
EnOcean Sensoren in Fhem
Sensoren Beispiele:
Funktaster FT55
Ein FT55 hat vier Taster:
Taster | in Fhem |
links oben | A0 |
links unten | AI (nicht "eins" sondern "i"!) |
rechts oben | B0 |
rechts unten | BI |
- fhem.cfg
define EnO_switch_FFC54500 EnOcean FFC54500 <-- "FFC54500" ist die 8-stellige Hex-SenderID des Tasters attr EnO_switch_FFC54500 IODev TCM310_0 attr EnO_switch_FFC54500 room EnOcean attr EnO_switch_FFC54500 subType switch attr EnO_switch_FFC54500 model FT55 <-- wird von "autocreate" nicht erkannt und muss manuell hinzugefügt werden # attr EnO_switch_FFC54500 eventMap AI:off A0:on BI:an B0:aus <-- bei Bedarf ... die gemapten Werte (hier: off, on, an, aus) sollen eindeutig sein define FileLog_EnO_switch_FFC54500 FileLog ./log/EnO_switch_FFC54500-%Y.log EnO_switch_FFC54500 attr FileLog_EnO_switch_FFC54500 logtype text
Das Log FileLog_EnO_switch_FFC54500 zeichnet beim einmaligen Drücken des linken unteren Tasters ("AI") folgendes auf:
2014-01-01_07:00:01 EnO_switch_FFC54500 buttons: pressed 2014-01-01_07:00:01 EnO_switch_FFC54500 channelA: off 2014-01-01_07:00:01 EnO_switch_FFC54500 off 2014-01-01_07:00:02 EnO_switch_FFC54500 buttons: released
Fhem kann sich nicht als einer der vorhandenen (automatisch angelegten) Sensoren ausgeben (um z.B. das Licht zu schalten) sondern verwendet eigene SenderID/DestinationID's - siehe unten. Diese Fhem-eigenen SenderIDs können in EnOcean Aktoren eingelernt werden, damit die Aktoren auf Fhem reagieren.
EnOcean Aktoren in FHEM
Aktoren Beispiele:
RS485-Bus-Schaltaktor FSA12
Schaltaktor (unidirektional)
- fhem.cfg
define eg_fl_Licht EnOcean AABBCC01 <--- AABBCC01 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr eg_fl_Licht room EG_Flur attr eg_fl_Licht eventMap BI:off B0:on attr eg_fl_Licht subType switch define FileLog_eg_fl_Licht FileLog ./log/ eg_fl_Licht-%Y.log eg_fl_Licht attr FileLog_eg_fl_Licht logtype text
- Am Aktor anlernen
- Unterer Funktions-Drehschalter: auf benötigen Kanal einstellen
- Mittlerer Funktions-Drehschalter: Stellung „LRN“
- Fhem Eingabefeld: „set eg_fl_licht B0“, <Enter>
- Unterer Funktions-Drehschalter: auf Kanal Auto einstellen
RS485-Bus-Schaltaktor FSR12
4-Kanal-Stromstoßrelais (unidirektional)
FSR12 senden nicht und haben daher auch keine eigene 8-stellige SenderID. Um den FSR12 mit Fhem bedienen zu können, wird
- in Fhem ein virtueller Schalter mit eine der 127 SenderID's des TCM angelegt (
define ...
) - dieser virtuelle Schalter in den FSR12 eingelernt
Dieser Schalter
- steuert den FSR12 (einen der 4 Kanäle)
- kann im WebFrontend angezeigt und bedient werden
Der tatsächliche Status des FSR12 ist Fhem nicht bekannt.
- fhem.cfg
define FSR12_01_ch1 EnOcean AABBCC02 <--- AABBCC02 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr FSR12_01_ch1 room EG_Flur attr FSR12_01_ch1 eventMap BI:off B0:on attr FSR12_01_ch1 subType switch <--- es handelt sich um einen Schalter (Sensor) "...subtype switch" define FileLog_FSR12_01_ch1 FileLog ./log/ FSR12_01_ch1-%Y.log FSR12_01_ch1 attr FileLog_FSR12_01_ch1 logtype text
- Den virtuellen Schalter am Aktor anlernen
- Unterer Funktions-Drehschalter: auf benötigen Kanal einstellen
- Unterer Funktions-Drehschalter:
- 0: "ein" einlernen
- Mittlerer Funktions-Drehschalter: Stellung „LRN“ (LED blinkt)
- Fhem Eingabefeld: „set FSR12_01_ch1 B0“, <Enter> (LED erlischt)
- Mittlerer Funktions-Drehschalter: Stellung „1“
- Unterer Funktions-Drehschalter:
- 2: "aus" einlernen
- Mittlerer Funktions-Drehschalter: Stellung „LRN“ (LED blinkt)
- Fhem Eingabefeld: „set FSR12_01_ch1 BI“, <Enter> (LED erlischt)
- Mittlerer und unterer Funktions-Drehschalter: auf "Auto" einstellen
RS485-Bus-Universal-Dimmaktor FUD12NPN
Dimmaktor (unidirektional)
- fhem.cfg
define eg_wz_dimmer EnOcean AABBCC03 <--- AABBCC03 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr eg_wz_dimmer eventMap BI:off B0:on attr eg_wz_dimmer gwCmd dimming attr eg_wz_dimmer manufID 00D attr eg_wz_dimmer subType gateway define FileLog_eg_wz_dimmer FileLog ./log/eg_wz_dimmer-%Y.log eg_wz_dimmer attr FileLog_eg_wz_dimmer logtype text
- Am Aktor anlernen
- Oberer Funktions-Drehschalter: auf 5 (PC) einstellen
- Mittlerer Funktions-Drehschalter: Stellung „LRN“
- Fhem Eingabefeld: „set eg_wz_dimmer teach“, <Enter>
- Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
RS485-Bus-Schaltaktor FSB12
Aktor für Beschattungselemente und Rollladen (unidirektional)
- fhem.cfg
define eg_fl_Rollo EnOcean AABBCC04 <--- AABBCC04 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr eg_fl_Rollo shutTime 18 <- Laufzeit / s, um Rolladen zu öffnen attr eg_fl_Rollo subType manufProfile attr eg_fl_Rollo manufID 00D attr eg_fl_Rollo model FSB12 define FileLog_eg_fl_Rollo FileLog ./log/eg_fl_Rollo-%Y.log eg_fl_Rollo attr FileLog_eg_fl_Rollo logtype text
- Am Aktor anlernen
- Unterer Funktions-Drehschalter: auf benötigen Kanal einstellen
- Mittlerer Funktions-Drehschalter: Stellung „LRN“
- Oberer Funktions-Drehschalter: auf Stellung „180“
- Fhem Eingabefeld: „set eg_fl_Rollo teach“, <Enter>
- Unterer Funktions-Drehschalter: auf Kanal Auto einstellen
RS485-Bus-Aktor 4-Kanal-Stromstoß-Schaltrelais FSR14
Schaltrelais (bidirektional)
- fhem.cfg
define EnOcean_switch_FEFF4AF8 EnOcean FEFF4AF8 <- SenderID eines FSR14-Kanals (Aktor) attr EnOcean_switch_FEFF4AF8 subDef FF834381 <--- FF834381 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr EnOcean_switch_FEFF4AF8 room EnOcean # Der Raum kann angepasst werden attr EnOcean_switch_FEFF4AF8 gwCmd switching # Wichtig für FSR14 attr EnOcean_switch_FEFF4AF8 subType gateway # Wichtig für FSR14 define FileLog_EnOcean_switch_FEFF4AF8 FileLog ./log/EnOcean_switch_FEFF4AF8-%Y.log EnOcean_switch_FEFF4AF8 attr FileLog_EnOcean_switch_FEFF4AF8 logtype text
- Am Aktor anlernen
- Mittlerer Funktions-Drehschalter: auf LRN
- Unteren Funktions-Drehschalter den korrekten Kanal einstellen
- Fhem Eingabefeld: „set EnOcean_switch_FEFF4AF8 teach", <Enter>
- Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
(entnommen Forenbeitrag [2], der weitere Erläuterungen enthält.)
RS485-Bus-Schaltaktor FSB14
Aktor für Beschattungselemente und Rollladen (bidirektional)
- fhem.cfg
define EnO_switch_01036620 EnOcean 01036620 <- SenderID des FSB14 (Aktors) attr EnO_switch_01036620 model FSB14 attr EnO_switch_01036620 shutTime 35 <--- Beschattungsposition (Fahrzeit in Sekunden) attr EnO_switch_01036620 shutTimeCloses 40 <--- Fahrzeit zum Vollständigen Öffnen/Schließen in Sekunden attr EnO_switch_01036620 subDef AABBCC05 <--- AABBCC05 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr EnO_switch_01036620 subType manufProfile attr EnO_switch_01036620 manufID 00D define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620 attr FileLog_EnO_switch_01036620 logtype text
- Am Aktor anlernen
- Aktor in passenden Lernmodus bringen
- Fhem Eingabefeld: „set EnO_switch_01036620 teach“, <Enter>
Einbau-Aktor FSB61
Aktor für Beschattungselemente und Rollladen (bidirektional) Bestätigungstelegramme müssen am Aktor eingeschaltet sein
- fhem.cfg
define EnO_switch_01036620 EnOcean 01036620 <- SenderID des FSB61 (Aktors) attr EnO_switch_01036620 model FSB61 attr EnO_switch_01036620 shutTime 35 attr EnO_switch_01036620 subDef AABBCC05 <--- AABBCC05 ist eine der 127 SenderID's des TCM mit der Fhem sendet (siehe unten) attr EnO_switch_01036620 subType manufProfile attr EnO_switch_01036620 manufID 00D define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620 attr FileLog_EnO_switch_01036620 logtype text
- Am Aktor anlernen
- Oberer Funktions-Drehschalter: auf LRN
- Unterer Funktions-Drehschalter: auf MAX (zum Einlernen PC)
- Fhem Eingabefeld: „set EnO_switch_01036620 teach", <Enter>
- Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
- Das Senden von Quittungstelegrammen muss am Aktor eingeschaltet werden, siehe Eltako Anleitung.
Kleinstellantrieb MD15-FTL-xx
Funkgesteuerter, batteriegespeister Kleinstellantrieb für Raumtemperaturregelung. (bidirektional)
4BS-Bidirektionales-Teach-In:
- Aktor möglicht komplett zurücksetzen, sofern nicht mehr im Original-Auslieferzustand
- falls vorhanden, alle bisherigen Fhem Devices des Aktors löschen
- Fhem in Lernmodus schalten: set <IODev> teach
- Taster am MD15-FTL-xx so lange drücken, bis ein Signalton ertönt. MD15 bestätigt erfolgreichen Anlernvorgang durch Aufleuchten Status-LED und 2 Signaltöne
- Aktor wird in Fhem automatisch mit allen notwendigen Parametern angelegt.
(Forenbeitrag zu Servicefunktionen MD15)
Einbau-Aktor 452 FU-EBIM o.T.
2-Kanal-Multifunktionsaktor (bidirektional) mit Energiemessfunktion
UTE-Teach-In:
- Aktor möglicht komplett zurücksetzen, sofern nicht mehr im Original-Auslieferzustand
- falls vorhanden, alle bisherigen Fhem Devices des Aktors löschen
- Fhem in Lernmodus schalten: set <IODev> teach
- Aktor-Kanal 0 oder 1 in Lernmodus versetzen (immer nur einen Kanal)
- Aktor-Kanal 0 oder 1 wird in Fhem automatisch mit allen notwendigen Parametern angelegt.
- Anlernen für 2. Kanal wie nach 3. bis 5. beschrieben wiederholen
Die Kanäle können jetzt geschaltet werden mit:
Fhem Device für Kanal 0: set <Name_0> on|off 0 Fhem Device für Kanal 1: set <Name_1> on|off 1
Falls gewünscht, kann der Kanal mit dem Attribut attr <Name_0|1> defaultChannel 0|1 voreingestellt werden. Dann entfällt die Angabe des Kanals im set-Befehl.
Die Statusrückmeldungen mit den aktuellen Werten des Energieverbrauches und der Leistung werden vom Aktor automatisch gesendet. Sie werden sowohl als Telegramme nach EEP D2-01-08 als auch nach EEP A5-11-04 mit unterschiedlichen Absenderadressen (vgl. Etikett in Original-Verpackung) gesendet. Die Rückmeldungen nach EEP D2-01-08 werden von Fhem im Aktor-Device subType actuator.01 berücksichtigt. Die Rückmeldungen nach EEP A5-11-04 werden von Fhem in einem senor-device subType lightCtrlState.02 berücksichtigt.
(entnommen Forenbeitrag, der weitere Erläuterungen enthält.)
Taster - physisch und in Fhem
Fhem kann sich nicht als einer der vorhandenen (automatisch angelegten) Sensoren ausgeben (um z.B. das Licht zu schalten) sondern verwendet eigene SenderID/DestinationID's.
- Fhem stehen 127 fortlaufende eigene SenderID/DestinationID zur Verfügung
- beginnend mit der baseID des TCM + 1
Die baseID des TCM erhält man mit dem Befehl
get TCM310_0 baseID
im Eingabefenster (gefolgt vom drücken der "Eingabe"-Taste ;-) ) Das Webfrontend zeigt dann:
BaseID=AABBCC00,RemainingWriteCycles=0A
Die niedrigste SenderID/DestinationID in diesem Beispiel ist AABBCC01 (BaseID=AABBCC00 +1 HEX!!!)
Definition eines Fhem Schalters zum Steuern von EnOcean Aktoren:
define fhemSchalter EnOcean AABBCC01 <--- AABBCC01 ist eine der 127 SenderID's des TCM mit der Fhem sendet attr fhemSchalter subType switch
Durch diese Definition wird ein 8-fach Taster (4 Kanälen (A,B,C,D) zu je 2 Tasten (0,I)) erzeugt (all diese 8 Taster senden mit der gleichen SenderID des TCM). Entspricht einem Gerät mit 4 Schaltwippen die jeweils "oben" oder "unten" gedrückt sein können.
Der Taster 0 des Kanal A wird "gedrückt" mit
set fhemSchalter A0
Aufteilung der Kanäle in unabhängige Devices
Um die 4 Kanäle jeweils einzeln als Schalter (einzelne Schaltwippe) im WebFrontend abzubilden dient folgende Konstruktion: siehe auch ReadingsProxy
#Kanal A zur Steuerung mit on und off define fhemSchalterKanalA readingsProxy fhemSchalter:state attr fhemSchalterKanalA setFn {($CMD eq "on")?"AI":"A0";;} attr fhemSchalterKanalA setList on off attr fhemSchalterKanalA valueFn {$LASTCMD} attr fhemSchalterKanalA webCmd on:off
#Kanal B zur Steuerung mit on und off define fhemSchalterKanalB readingsProxy fhemSchalter:state attr fhemSchalterKanalB setFn {($CMD eq "on")?"BI":"B0";;} attr fhemSchalterKanalB setList on off attr fhemSchalterKanalB valueFn {$LASTCMD} attr fhemSchalterKanalB webCmd on:off
#Kanal C zur Steuerung mit on und off define fhemSchalterKanalC readingsProxy fhemSchalter:state attr fhemSchalterKanalC setFn {($CMD eq "on")?"CI":"C0";;} attr fhemSchalterKanalC setList on off attr fhemSchalterKanalC valueFn {$LASTCMD} attr fhemSchalterKanalC webCmd on:off
#Kanal D zur Steuerung mit on und off define fhemSchalterKanalD readingsProxy fhemSchalter:state attr fhemSchalteKanalD setFn {($CMD eq "on")?"DI":"D0";;} attr fhemSchalterKanalD setList on off attr fhemSchalterKanalD valueFn {$LASTCMD} attr fhemSchalterKanalD webCmd on:off
Werden diese Fhem Taster (und etwaige physische Taster) in EnOcean Aktoren eingelernt (siehe Anleitung des Aktors), so können nun die EnOcean Aktoren mit physischen Tastern (sendet mit der 8-stelligen SenderID des Tasters) und mit Fhem devices (sendet mit einer der 127 eigenen SenderIDs) bedient werden.
Pysischer EnOcean- und Fhem-Schalter zu einem Device zusammenfassen
Um im Webfrontend die Aktionen beider Schalter in einem Element zusammengefasst und damit den realen Zustand bei unidirektionalen Aktoren zu sehen, dient folgendes Konstrukt:
(Bei bidirektionalen Aktoren ist dies aufgrund der Statusrückmeldungen nicht notwendig. Achtung: Teilweise müssen Statusrückmeldungen/Bestätigungstelegramme erst am Aktor eingeschaltet werden)
#Definition des Fhem Schalters define fhemSchalter EnOcean AABBCC01 <--- AABBCC01 ist eine der 127 SenderID's des TCM mit der Fhem sendet attr fhemSchalter eventMap BI:off B0:on attr fhemSchalter icon icoBELEUCHTUNG.png attr fhemSchalter subType switch #Definition des physischen Tasters (z.B. durch autocreate erzeugt) define EnO_switch_0021E4BB EnOcean 0021E4BB <--- 0021E4BB ist die (aufgedruckte) 8-stellige SenderID des physischen Tasters attr EnO_switch_0021E4BB eventMap BI:off B0:on attr EnO_switch_0021E4BB room EnOcean attr EnO_switch_0021E4BB subType switch attr EnO_switch_0021E4BB dummy #fhemSchalter ist der Fhem Schalter #EnO_switch_0021E4BB ist der (z.B. per autocreate erstellte) Fhem-Taster define Gruppe_test_notify structure room fhemSchalter EnO_switch_0021E4BB attr Gruppe_test_notify eventMap BI:off B0:on attr Gruppe_test_notify room Gaestezimmer attr Gruppe_test_notify clientstate_behavior last