EnOcean Starter Guide: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Kurzer Zusatz bei FUD12NPN)
(EnOcean Einleitung, EnOcean Funk mit FHEM empfangen und senden, EnOcean Sensoren in FHEM, FSB61:SubDef Kommentar)
Zeile 1: Zeile 1:
{{Todo|Generelle Überarbeitung notwendig (EnOcean Einleitung, Betrieb mit FHEM; Umstellung von Ich- auf neutrale Form).}}
{{Todo|Generelle Überarbeitung notwendig (EnOcean Einleitung, Betrieb mit FHEM; Umstellung von Ich- auf neutrale Form).}}


== EnOcean ==
[http://www.enocean.com/de/ EnOcean] ist
* ein ISO ratifizierter Funkstandard, ausgelegt für Funksensoren und Funksensornetze mit besonders niedrigem Energieverbrauch
* ein Anbieter batterieloser Funksensoren
[http://www.enocean-alliance.org/de/hiererhaeltlich/ Zig Hersteller] bieten Produkte für/mit EnOcean Technology an.
== EnOcean in FHEM ==
== EnOcean in FHEM ==
=== Allgemein ===
=== Allgemein ===
Technisch gesehen betreibst Du zwei Sensornetzwerke parallel. Einmal das Sensor-Netzwerk mit den "physischen" Schaltern und das "Sensor-Netzwerk" welches aus der [[:Kategorie:FritzBox|FritzBox]] mit TCM besteht.
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.
Die physischen Schalter (Sensoren) lernst du manuell bei den Aktoren an. Somit ist der Kommunikationsweg: "physischer Schalter" -> Aktor -> Verbraucher
Das hast Du wahrscheinlich gemacht/ wurde gemacht.
Den "FHEM-Schalter" lernst Du nach korrekter definition auch am Aktor an. Somit ist der Kommunikationsweg: Webfrontend->Fhem->FB/TCM->Aktor->Verbraucher


Der physische Schalter hat im zweiten Fall keine Bedeutung.
Kommunikationsweg: "physischer Schalter" -> Aktor -> Verbraucher
Du kannst die Veränderung der Schaltzustände die von einem physischen Schalter getätigt wurden nicht so einfach im FHEM Frontend sichtbar machen. (über notify aber wahrscheinlich möglich)
Wenn du "Autocreate" angeschaltet hast, dann werden die physischen Schalter (incl. der Schalteradressen-8stellig HEX) angezeigt. Diese Adressen nutzen Dir nichts. Du musst den Adressbereich des TCM auslesen und diesen Adressbereich fortlaufen zur adressierung Deiner zu definierenden "FHEM-Schalter" verwenden. Du hat 128 Adressen zur Verfügung.


Du kannst den Adressbereich auslesen mit dem Befehl „get TCM310_0 idbase“ im Eingabefeld, gefolgt vom Drücken der „Return“-Taste. Du bekommst dann den Adressbereich für Deinen TCM angezeigt und startest von dieser Adresse die Nummerierung aller Devices.
=== 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:
* TCM120
** für den USB-Port: [https://embedded-intelligence.de/de/products/hardware/bsc-bor.html BSC BOR]
* TCM310
** als USB-Stick: [http://www.enocean.com/de/enocean_module/usb-300-oem/ USB 300]
** als Aufsteckmodul für Raspberry Pi: [http://www.enocean.com/de/enocean-pi/ EnOceanPi]
 
==== 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 [http://fhem.de/commandref.html#TCM commandref] zu TCM (aktuell nur englisch)
 
Kommunikationsweg: Webfrontend->Fhem->FB/TCM->Aktor->Verbraucher
 
=== EnOcean Sensoren in FHEM ===
EnOcean Sensoren haben eine eindeutige 8-stelligen Hex-SenderID/DestinationID (z.B. ffc54500). Diese ID ist auch auf den OnOcean Sensoren aufgedruckt (auch mit Punkten oder Doppelpunken dazwischen, z.B. ff:c5:45:00).
Wenn "Autocreate" angeschaltet ist, werden die EnOcean Sensoren (z.B. physischen Schalter) inklusive der 8-stelligen Hex-SenderID/DestinationID in der fhem.cfg angelegt und im Webfrontend angezeigt.
define switch1 EnOcean ffc54500
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.
* Es 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


== Definition von EnOcean-Geräten (Vorbereitung) ==
== Definition von EnOcean-Geräten (Vorbereitung) ==
Zeile 173: Zeile 217:
  attr EnO_switch_01036620 model FSB61
  attr EnO_switch_01036620 model FSB61
  attr EnO_switch_01036620 shutTime 35
  attr EnO_switch_01036620 shutTime 35
  attr EnO_switch_01036620 subDef FF800D04
  attr EnO_switch_01036620 subDef FF800D04       <- SenderID des TCM + (1-127)
  attr EnO_switch_01036620 subType manufProfile
  attr EnO_switch_01036620 subType manufProfile
  attr EnO_switch_01036620 manufID 00D
  attr EnO_switch_01036620 manufID 00D
  define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620
  define FileLog_EnO_switch_01036620 FileLog ./log/EnO_switch_01036620-%Y.log EnO_switch_01036620
  attr FileLog_EnO_switch_01036620 logtype text
  attr FileLog_EnO_switch_01036620 logtype text
 
* Am Aktor anlernen
* Am Aktor anlernen
** Oberer Funktions-Drehschalter: auf LRN
** Oberer Funktions-Drehschalter: auf LRN

Version vom 5. Dezember 2013, 17:33 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

EnOcean Sensoren in FHEM

EnOcean Sensoren haben eine eindeutige 8-stelligen Hex-SenderID/DestinationID (z.B. ffc54500). Diese ID ist auch auf den OnOcean Sensoren aufgedruckt (auch mit Punkten oder Doppelpunken dazwischen, z.B. ff:c5:45:00). Wenn "Autocreate" angeschaltet ist, werden die EnOcean Sensoren (z.B. physischen Schalter) inklusive der 8-stelligen Hex-SenderID/DestinationID in der fhem.cfg angelegt und im Webfrontend angezeigt.

define switch1 EnOcean ffc54500

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.

  • Es 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

Definition von EnOcean-Geräten (Vorbereitung)

Es empfiehlt sich eine EXCEL-Tabelle aufzubauen mit der Struktur (Vorschlag):

A B C D E F
Nr. Name EnOcean Name in FHEM HEX DEZ Zimmer
<Name Hardwareschalter> <Name in FHEM> <HEX Code> =HEXINDEZ(D2) <Raumname>
TCM 310_0 TCM 310_0 FF800D00 4286582016
1 EnO_switch_123456 eg_fl_Licht FF800D01 4286582017 EG_Flur
...
128

Definition von EnOcean-Geräten mit FHEM

Aktoren Beispiele:

Schalter FSA12

  • FHEM.cfg
define eg_fl_Licht EnOcean FF800D01
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


Dimmer FUD12NPN

  • FHEM.cfg
define eg_wz_dimmer EnOcean FF800D03           <- Fhem SenderID
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 FF800D02            <- Fhem SenderID
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 FF800D04        <- SenderID des TCM + (1-127)
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