EnOcean Starter Guide: Unterschied zwischen den Versionen

Aus FHEMWiki
(neu sortiert, Sensoren begonnen)
Zeile 43: Zeile 43:
Kommunikationsweg: Webfrontend->Fhem->FB/TCM->Aktor->Verbraucher
Kommunikationsweg: Webfrontend->Fhem->FB/TCM->Aktor->Verbraucher


=== EnOcean Sensoren in FHEM ===
== Definition von EnOcean-Geräten ==
EnOcean Sensoren haben eine eindeutige 8-stellige Hex-SenderID/DestinationID (z.B. ffc54500). Diese ID ist auch auf den EnOcean Sensoren aufgedruckt (auch mit Punkten oder Doppelpunken dazwischen, z.B. ff:c5:45:00).
EnOcean Sensoren haben eine eindeutige 8-stellige Hex-SenderID/DestinationID (z.B. ffc54500). Diese ID ist auch auf den EnOcean Sensoren aufgedruckt (auch mit Punkten oder Doppelpunken dazwischen, z.B. ff:c5:45:00).
==== Autocreate ====
=== Vorbereitung (Vorbereitung) ===
FHEM legt noch nicht definierte EnOcean Geräte selbst an, wenn
* in fhem.cfg autocreate aktiviert ist:
** <code>[http://fhem.de/commandref_DE.html#autocreate define autocreate autocreate]</code>
* FHEM eine Nachricht vom noch nicht definierten EnOcean Gerät empfängt
 
Beispiel: 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).
 
 
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 128 fortlaufende eigene SenderID/DestinationID zur Verfügung
* beginnend mit der baseID des TCM
 
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 AABBCC00
 
== Definition von EnOcean-Geräten (Vorbereitung) ==
Es empfiehlt sich eine EXCEL-Tabelle aufzubauen mit der Struktur (Vorschlag):
Es empfiehlt sich eine EXCEL-Tabelle aufzubauen mit der Struktur (Vorschlag):


Zeile 155: Zeile 126:
<td>
<td>
</td></tr></table>
</td></tr></table>
=== Autocreate ===
FHEM legt noch nicht definierte EnOcean Geräte selbst an, wenn
* in fhem.cfg autocreate aktiviert ist:
** <code>[http://fhem.de/commandref_DE.html#autocreate define autocreate autocreate]</code>
* 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:
* links oben  -> in FHEM: A0
* links unten  -> in FHEM: AI (nicht "eins" sondern "i"!)
* rechts oben  -> in FHEM: B0
* rechts unten -> in FHEM: 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    <--
define FileLog_EnO_switch_FFC54500 FileLog ./log/EnO_switch_FFC54500-%Y.log EnO_switch_FFC54500
attr FileLog_EnO_switch_FFC54500 logtype text
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 128 fortlaufende eigene SenderID/DestinationID zur Verfügung
* beginnend mit der baseID des TCM
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 AABBCC00


== Definition von EnOcean-Geräten mit FHEM ==
=== EnOcean Aktoren in FHEM ===
'''Aktoren Beispiele:'''
'''Aktoren Beispiele:'''


=== Schalter FSA12 ===
==== Schalter FSA12 ====


* FHEM.cfg
* FHEM.cfg
Zeile 175: Zeile 195:
** Unterer Funktions-Drehschalter: auf Kanal Auto einstellen
** Unterer Funktions-Drehschalter: auf Kanal Auto einstellen


=== Schalter FSR12 ===
==== Schalter FSR12 ====


4-Kanal-Stromstoßrelais
4-Kanal-Stromstoßrelais
Zeile 200: Zeile 220:
** Mittlerer und unterer Funktions-Drehschalter: auf "Auto" einstellen
** Mittlerer und unterer Funktions-Drehschalter: auf "Auto" einstellen


=== Dimmer FUD12NPN ===
==== Dimmer FUD12NPN ====


* FHEM.cfg
* FHEM.cfg
Zeile 217: Zeile 237:
** Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
** Nach dem Einlernen beide Drehschalter in die ursprüngliche Position


=== Rollladen FSB12 ===
==== Rollladen FSB12 ====


* FHEM.cfg
* FHEM.cfg
Zeile 236: Zeile 256:




=== Rollladen FSB61 ===
==== Rollladen FSB61 ====


* FHEM.cfg
* FHEM.cfg
Zeile 257: Zeile 277:




=== Thermostat F4H12 ===
==== Thermostat F4H12 ====
tbd
tbd



Version vom 17. März 2014, 10:04 Uhr

Todo: Generelle Überarbeitung notwendig (EnOcean Einleitung, Betrieb mit FHEM; Umstellung von Ich- auf neutrale Form).


EnOcean

EnOcean ist

  • ein ISO ratifizierter Funkstandard, ausgelegt für Funksensoren und Funksensornetze mit besonders niedrigem Energieverbrauch
  • ein Anbieter batterieloser Funksensoren

Zig Hersteller bieten Produkte für/mit EnOcean Technology an.

EnOcean in FHEM

Allgemein

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. So wird festgelegt, dass z.B. "Funktaster 1" den "Dimmer 1" steuert.

Kommunikationsweg: "physischer Schalter" -> Aktor -> Verbraucher

EnOcean Funk mit FHEM empfangen und senden

FHEM kann mit einem TCM-Modul EnOcean-Funk empfangen und senden. Bisher gibt es zwei Transceiver Chips von EnOcean:

TCM in FHEM definieren

Hier Beispiele der define-Zeile in der fhem.cfg für TCM120 bzw. TCM310

#TCM120:
define BscBor TCM 120 /dev/ttyACM0@9600

TCM310:
define TCM310 TCM 310 /dev/ttyACM0@57600

Mit einem EnOceanPi könnte das wie folgt aussehen:

define TCM310 TCM 310 /dev/ttyAMA0@57600
attr TCM310 alias EnOcean Pi
attr TCM310 icon cul

Auf einer Synology Diskstation:

define TCM310 TCM 310 /dev/ttyUSB0@57600
attr TCM310 alias USB300
attr TCM310 icon cul

Mehr Details sind in der commandref zu TCM (aktuell nur englisch)

Kommunikationsweg: Webfrontend->Fhem->FB/TCM->Aktor->Verbraucher

Definition von EnOcean-Geräten

EnOcean Sensoren haben eine eindeutige 8-stellige Hex-SenderID/DestinationID (z.B. ffc54500). Diese ID ist auch auf den EnOcean Sensoren aufgedruckt (auch mit Punkten oder Doppelpunken dazwischen, z.B. ff:c5:45:00).

Vorbereitung (Vorbereitung)

Es empfiehlt sich eine EXCEL-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

Autocreate

FHEM legt noch nicht definierte EnOcean Geräte selbst an, wenn

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:

  • links oben -> in FHEM: A0
  • links unten -> in FHEM: AI (nicht "eins" sondern "i"!)
  • rechts oben -> in FHEM: B0
  • rechts unten -> in FHEM: 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    <-- 
define FileLog_EnO_switch_FFC54500 FileLog ./log/EnO_switch_FFC54500-%Y.log EnO_switch_FFC54500
attr FileLog_EnO_switch_FFC54500 logtype text

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 128 fortlaufende eigene SenderID/DestinationID zur Verfügung
  • beginnend mit der baseID des TCM

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 AABBCC00


EnOcean Aktoren in FHEM

Aktoren Beispiele:

Schalter FSA12

  • FHEM.cfg
define eg_fl_Licht EnOcean AABBCC01        <--- AABBCC01 ist eine der 128 SenderID's des TCM mit der FHEM sendet
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

Schalter FSR12

4-Kanal-Stromstoßrelais

  • FHEM.cfg
define FSR12_01_ch1 EnOcean AABBCC02        <--- AABBCC02 ist eine der 128 SenderID's des TCM mit der FHEM sendet
attr FSR12_01_ch1 room EG_Flur
attr FSR12_01_ch1 eventMap BI:off B0:on
attr FSR12_01_ch1 subType switch
define FileLog_FSR12_01_ch1 FileLog ./log/ FSR12_01_ch1-%Y.log FSR12_01_ch1
attr FileLog_FSR12_01_ch1 logtype text

  • 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 eg_fl_licht 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 eg_fl_licht BI“, <Enter> (LED erlischt)
    • Mittlerer und unterer Funktions-Drehschalter: auf "Auto" einstellen

Dimmer FUD12NPN

  • FHEM.cfg
define eg_wz_dimmer EnOcean AABBCC03        <--- AABBCC03 ist eine der 128 SenderID's des TCM mit der FHEM sendet
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

Rollladen FSB12

  • FHEM.cfg
define eg_fl_Rollo EnOcean AABBCC04        <--- AABBCC04 ist eine der 128 SenderID's des TCM mit der FHEM sendet
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


Rollladen FSB61

  • FHEM.cfg
define EnO_switch_01036620 EnOcean 01036620     <- SenderID des Aktors
attr EnO_switch_01036620 model FSB61
attr EnO_switch_01036620 shutTime 35
attr EnO_switch_01036620 subDef AABBCC05        <--- AABBCC05 ist eine der 128 SenderID's des TCM mit der FHEM sendet
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>
    • Unterer Funktions-Drehschalter: Nach dem Einlernen beide Drehschalter in die ursprüngliche Position
  • Das Senden von Quittungstelegrammen muss am Aktor eingeschaltet werden, siehe Eltako Anleitung.


Thermostat F4H12

tbd


Taster - physisch und in FHEM

Aktoren können mit physischen Schaltern und mit FHEM Schaltern bedient werden. Um im Webfrontend die Aktionen beider Schalter in einem Element zusammengefasst zu sehen, dient folgendes Konstrukt:

#definition des FHEM Schalters
define eg_fl_Licht EnOcean AABBCC01        <--- AABBCC01 ist eine der 128 SenderID's des TCM mit der FHEM sendet
attr eg_fl_Licht eventMap BI:off B0:on
attr eg_fl_Licht icon icoBELEUCHTUNG.png
attr eg_fl_Licht subType switch

#dummy für physischen Taster

define EnO_switch_0021E4BB EnOcean 0021E4BB
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

#eg_fl_Licht ist der FHEM Schalter
#EnO_switch_0021E4BB ist der (per autocreate erstellte) FHEM-Taster
define Gruppe_test_notify structure room eg_fl_Licht 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

tbc