JeeLink: Unterschied zwischen den Versionen
Justme (Diskussion | Beiträge) |
Justme (Diskussion | Beiträge) (diverse korrekturen) |
||
Zeile 27: | Zeile 27: | ||
== Vorbereitung JeeLink == | == Vorbereitung JeeLink == | ||
Um mit dem JeeLink die jeweils gewünschten Signale zu empfangen ist er zunächst mit der passenden Firmware zu versorgen. Dies kann auf zwei Arten geschehen. Entweder durch das selber kompilieren der Software und das Flashen aus der Arduino IDE oder aus fhem heraus mit einem aktuellen Firmware image aus dem contrib Verzeichnis (oder auch hier mit einem selbst kompilierten. | |||
=== Selber Kompilieren === | |||
====Vorbereitung==== | |||
[[Datei:JeeLink_flashen_1.jpg|mini|100px|rechts|Vorbereitung: Arduino einrichten]] | [[Datei:JeeLink_flashen_1.jpg|mini|100px|rechts|Vorbereitung: Arduino einrichten]] | ||
Um den JeeLink mit Fhem benutzen zu können, muss (mit der Arduino Software / Entwicklungsumgebung (IDE)) eine spezifische "Firmware" (ein Sketch) auf dem JeeLink installiert werden. Die generelle Vorbereitung für diese Aktion ist unabhängig vom benötigten Sketch und besteht aus den folgenden Schritten: | Um den JeeLink mit Fhem benutzen zu können, muss (mit der Arduino Software / Entwicklungsumgebung (IDE)) eine spezifische "Firmware" (ein Sketch) auf dem JeeLink installiert werden. Die generelle Vorbereitung für diese Aktion ist unabhängig vom benötigten Sketch und besteht aus den folgenden Schritten: | ||
Zeile 36: | Zeile 40: | ||
* Start der Arduino Software und JeeLink flashen | * Start der Arduino Software und JeeLink flashen | ||
== JeeLink flashen == | ==== JeeLink flashen ==== | ||
[[Datei:JeeLink_flashen_2.jpg|mini|100px|rechts|JeeLink Flashen]] | [[Datei:JeeLink_flashen_2.jpg|mini|100px|rechts|JeeLink Flashen]] | ||
* Anschließen des JeeLink an einen USB-Anschluss des Rechners mit der Arduino IDE | * Anschließen des JeeLink an einen USB-Anschluss des Rechners mit der Arduino IDE | ||
Zeile 44: | Zeile 48: | ||
* Sketch mit "Datei öffnen" auswählen | * Sketch mit "Datei öffnen" auswählen | ||
* Upload klicken | * Upload klicken | ||
===Flashen aus Fhem heraus=== | |||
* Auf dem Fhem System muss <code>avrdude</code> installiert sein. Das kann z.b. über das normale Linux Paket management geschehen. | |||
* das attribut <code>hexFile</code> des JeeLink device muss auf das passende hex file gesetzt werden | |||
* mit <code>set <JeeLinkDevice> flash</code> wird das Flashen angestossen | |||
* im Fhem log file kann man den Ausgang des Flashvorgangs nachverfolgen | |||
* über das <code>flashCommand</code> attribut lässt sich das Kommando zum Flashen an besondere Anforderungen anpassen | |||
== Hinweise zum Betrieb mit Fhem == | == Hinweise zum Betrieb mit Fhem == | ||
Zeile 61: | Zeile 73: | ||
=== PCA301 Sketch === | === PCA301 Sketch === | ||
Der Sketch für die Unterstützung der ''PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung'' (PCA301-pcaSerial.zip) kann von [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/ sourceforge] heruntergeladen werden. | Der Sketch für die Unterstützung der ''PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung'' (PCA301-pcaSerial.zip) kann von [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/ sourceforge] heruntergeladen werden. Details zur Benutzung finden sich im Artikel zur [[PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung|PCA301]]. | ||
Unter Umständen werden die Signale der PCA301 nicht empfangen. Insbesondere mit selbst erstellten "JeeLinks" durch wahrscheinlich hohe Bauteiltoleranzen der RF12B Sendeeinheiten. Mit dem im Sketch voreingestellten rf12_center_freq = 0xA6FE (868,9500 MHz) bekommt man in diesem Fall keine Steckdose angelernt. | Unter Umständen werden die Signale der PCA301 nicht empfangen. Insbesondere mit selbst erstellten "JeeLinks" durch wahrscheinlich hohe Bauteiltoleranzen der RF12B Sendeeinheiten. Mit dem im Sketch voreingestellten rf12_center_freq = 0xA6FE (868,9500 MHz) bekommt man in diesem Fall keine Steckdose angelernt. | ||
====ALT==== | |||
Durch Tests mittels ''set <myJeeLink> raw +'' bzw ''set <myJeeLink> raw -'' kann man dann ermitteln, ob die Funksignale z.B. ab A703 bis A715 empfangen werden. Das entspricht einem Frequenzbereich zwischen 868,9750 MHz und 869,0550 MHz. | Durch Tests mittels ''set <myJeeLink> raw +'' bzw ''set <myJeeLink> raw -'' kann man dann ermitteln, ob die Funksignale z.B. ab A703 bis A715 empfangen werden. Das entspricht einem Frequenzbereich zwischen 868,9750 MHz und 869,0550 MHz. | ||
Die Mitte ist die Lösung, die man dann im Sketch ändern muss: | Die Mitte ist die Lösung, die man dann im Sketch ändern muss: | ||
Zeile 71: | Zeile 85: | ||
Anschließend auf den Jeelink neu flashen. | Anschließend auf den Jeelink neu flashen. | ||
====NEU==== | |||
Über das <code>initCommands</code> lässt sich die gefundene Frequenz einstellen ohne das die firmware verändert werden muss. | |||
<code>attr <JeeLinkDevice> initCommands <hhhh>h</code> | |||
=== Lacrosse Sketch === | === Lacrosse Sketch === | ||
Der Sketch für die Unterstützung der Lacrosse Temperatursensoren kann von [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/ sourceforge] heruntergeladen werden.<br> | Der Sketch für die Unterstützung der Lacrosse Temperatursensoren kann von [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/ sourceforge] heruntergeladen werden.<br> | ||
Zusätzlich muss noch die Jeelib (verfügbar auf [http://github.com/jcw/jeelib Jeelib Github]) in der Arduino IDE installiert werden (unter Umständen muss eine ältere Version der Arduino IDE verwendet werden). | |||
<strike>Zusätzlich muss noch die Jeelib (verfügbar auf [http://github.com/jcw/jeelib Jeelib Github]) in der Arduino IDE installiert werden (unter Umständen muss eine ältere Version der Arduino IDE verwendet werden).</strike>Der LaCrosse Sketch benötigt keine JeeLib. | |||
Die in der folgenden Liste (Quelle: [http://forum.fhem.de/index.php/topic,14786.msg164801.html#msg164801 Fhem Forum]) aufgeführten Sensoren wurden schon erfolgreich getestet: | Die in der folgenden Liste (Quelle: [http://forum.fhem.de/index.php/topic,14786.msg164801.html#msg164801 Fhem Forum]) aufgeführten Sensoren wurden schon erfolgreich getestet: |
Version vom 25. Juli 2014, 09:49 Uhr
JeeLink ist ein RF-Gerät im Formfaktor eines USB-Sticks mit externer Antenne.
JeeLink | |
---|---|
Allgemein | |
Protokoll | PCA301, EC3000, RoomNode oder LaCrosse |
Typ | Interface |
Kategorie | |
Technische Details | |
Kommunikation | 433/868/913 MHz |
Kanäle | ? |
Betriebsspannung | 5 V |
Leistungsaufnahme | ca. 90 mA |
Versorgung | USB |
Abmessungen | 23*67*9mm |
Sonstiges | |
Modulname | 36_JeeLink.pm |
Ersteller | Andre / justme1968 |
Hersteller | JeeLabs |
Beschreibung
Vergleichbar mit dem CUL von Busware, ist der JeeLink ein USB-Stick, mit dem Funk-Hausautomations-Komponenten angebunden werden können. CUL und JeeLink unterscheiden sich im Funkmodul (CUL -> CC1101; JeeLink -> RF12B) welche nicht miteinander kompatibel sind. Daher kann man auch keinen CUL als JeeLink-Ersatz nutzen!
Den JeeLink gibt es in einer
- 433 MHz Version
- 868 MHz Version (Standard)
- 913 MHz Version
Vorbereitung JeeLink
Um mit dem JeeLink die jeweils gewünschten Signale zu empfangen ist er zunächst mit der passenden Firmware zu versorgen. Dies kann auf zwei Arten geschehen. Entweder durch das selber kompilieren der Software und das Flashen aus der Arduino IDE oder aus fhem heraus mit einem aktuellen Firmware image aus dem contrib Verzeichnis (oder auch hier mit einem selbst kompilierten.
Selber Kompilieren
Vorbereitung
Um den JeeLink mit Fhem benutzen zu können, muss (mit der Arduino Software / Entwicklungsumgebung (IDE)) eine spezifische "Firmware" (ein Sketch) auf dem JeeLink installiert werden. Die generelle Vorbereitung für diese Aktion ist unabhängig vom benötigten Sketch und besteht aus den folgenden Schritten:
- Für Windows oder Mac OS X den passenden FTDI Treiber installieren, unter Linux ist dieser meist schon vorhanden
- Installation der Arduino Software für die benutzte Plattform (verfügbar sind Windows, Mac OS X und Linux)
- Je nach sketch einbinden der Jeelabs Library in die Arduino IDE
- Herunterladen des benötigten Sketches
- Anschließen des JeeLink an einen USB-Anschluss des Rechners mit der Arduino IDE
- Start der Arduino Software und JeeLink flashen
JeeLink flashen
- Anschließen des JeeLink an einen USB-Anschluss des Rechners mit der Arduino IDE
- Start der Arduino Software
- Seriellen Port des JeeLink auswählen
- Einstellungen: in den Tools als Board "Arduino Uno" auswählen
- Sketch mit "Datei öffnen" auswählen
- Upload klicken
Flashen aus Fhem heraus
- Auf dem Fhem System muss
avrdude
installiert sein. Das kann z.b. über das normale Linux Paket management geschehen. - das attribut
hexFile
des JeeLink device muss auf das passende hex file gesetzt werden - mit
set <JeeLinkDevice> flash
wird das Flashen angestossen - im Fhem log file kann man den Ausgang des Flashvorgangs nachverfolgen
- über das
flashCommand
attribut lässt sich das Kommando zum Flashen an besondere Anforderungen anpassen
Hinweise zum Betrieb mit Fhem
Um den JeeLink mit Fhem benutzen zu können, muss dieser erfolgreich geflasht worden sein.
- JeeLink an den Fhem-Rechner anschließen
- Auf Linux Systemen kann es notwendig sein, mit
mknod /dev/ttyUSB0 c 188 0
das Device anzulegen (bitte erst überprüfen, ob der Stick nicht automatisch erkannt wird)
Definition in fhem.cfg
Erforderliche Definitionen in Fhem:
define myJeeLink JeeLink /dev/ttyUSBx@57600
- USBx ist anzupassen an die aktuell benutzte Schnittstelle, 0 wenn sonst nichts am USB-Port hängt
- x=0,1,2, usw.
Die autocreate-Funktion sollte aktiv sein. Alle erkannten Devices (PCA301, LaCrosse, EC3000 und RoomNodes) werden dann automatisch angelegt, sobald die jeweiligen Daten empfangen werden.
Pro Geräte-Art/Protokoll muss ein eigener JeeLink mit dem passenden Sketch zum Empfang dieser Daten vorhanden sein (es kann jeweils nur ein Sketch im JeeLink aktiv sein und es gibt (zumindest derzeit (04/2014)) keinen Sketch, der mehr als eines der Protokolle abdeckt).
PCA301 Sketch
Der Sketch für die Unterstützung der PCA301 Funkschaltsteckdose mit Energieverbrauchsmessung (PCA301-pcaSerial.zip) kann von sourceforge heruntergeladen werden. Details zur Benutzung finden sich im Artikel zur PCA301.
Unter Umständen werden die Signale der PCA301 nicht empfangen. Insbesondere mit selbst erstellten "JeeLinks" durch wahrscheinlich hohe Bauteiltoleranzen der RF12B Sendeeinheiten. Mit dem im Sketch voreingestellten rf12_center_freq = 0xA6FE (868,9500 MHz) bekommt man in diesem Fall keine Steckdose angelernt.
ALT
Durch Tests mittels set <myJeeLink> raw + bzw set <myJeeLink> raw - kann man dann ermitteln, ob die Funksignale z.B. ab A703 bis A715 empfangen werden. Das entspricht einem Frequenzbereich zwischen 868,9750 MHz und 869,0550 MHz. Die Mitte ist die Lösung, die man dann im Sketch ändern muss:
static uint16_t rf12_center_freq = 0xA70C;
Anschließend auf den Jeelink neu flashen.
NEU
Über das initCommands
lässt sich die gefundene Frequenz einstellen ohne das die firmware verändert werden muss.
attr <JeeLinkDevice> initCommands <hhhh>h
Lacrosse Sketch
Der Sketch für die Unterstützung der Lacrosse Temperatursensoren kann von sourceforge heruntergeladen werden.
Zusätzlich muss noch die Jeelib (verfügbar auf Jeelib Github) in der Arduino IDE installiert werden (unter Umständen muss eine ältere Version der Arduino IDE verwendet werden).Der LaCrosse Sketch benötigt keine JeeLib.
Die in der folgenden Liste (Quelle: Fhem Forum) aufgeführten Sensoren wurden schon erfolgreich getestet:
Bezeichnung | Datenrate |
---|---|
TX25-IT | 17.241 kbps |
TX27-IT | 17.241 kbps |
TX29DTH-IT | 17.241 kbps |
TX37 | 17.241 kbps |
TX35TH-IT | 9.579 kbps |
TX35DTH-IT | 9.579 kbps |
30.3147.IT | ? kbps |
30.3155WD | 9.579 kbps |
30.3156WD | 9.579 kbps |
Energy Count 3000 Sketch
Der Sketch für die Unterstützung der Energy Count 3000 Zwischenstecker ist sourceforge heruntergeladen werden.
Das Fhem Modul dazu (36_EC3000.pm) ist genau so wie die Module für JeeLink (36_JeeLink.pm) und PCA301 (36_PCA301.pm) mittlerweile im aktuellen Fhem enthalten.
JeeLabs RoomNode
Eine Beschreibung zum Empfang der JeeLabs RoomNodes ist in diesem Forenthread enthalten.
Weitergehende Informationen
Hinweise zum Betrieb eines JeeLink mit Fhem finden sich aktuell in größerer Anzahl in verschiedenen Diskussionen im Forum:
- JeeLink / PCA301 - Analyse des Funkprotokolls; Anfänge der Entstehung der PCA301 Unterstützung in Fhem.
- JeeLink / Lacrosse - JeeLink Modul zur Einbindung von La Crosse
- JeeLink / EC3000 - Anfänge der Entstehung der EC3000 Unterstützung in Fhem.
- Hinweise zu JeeLabs RoomNode und anderen JeeLab Nodes
- JeeLink mit FHEM2FHEM nutzen
Bekannte Probleme
- Beim Betrieb an einer FritzBox wird der JeeLink unter Umständen als "Für die Nutzung mit dem USB-Fernanschluss reserviert" angezeigt. In diesem Fall muss die Reservierung deaktiviert/aufgehoben werden (Details dazu in diesem Forenthread).
Weblinks
- JeeLabs, JeeLink Hersteller
- PCA301 sketch auf sourceforge
- LaCrosse sketch auf sourceforge
- EC3000 sketch auf sourceforge
- Blog zum Thema JeeLink zur Anbindung von PCA301 und von Lacrosse Temperatursensoren an Fhem