Update 30.12.2015: Es sind noch einige Jeelinks (komplett zusammengelötet und getestet) verfügbar! Beitrag über Jeelink für Temperatursensoren lesen!
Viele von Euch nutzen mittlerweile den Jeelink-Transceiver. Der Jeelink ist das Bindeglied zwischen einem Sensor / Aktor und der Hausautomations-Software Fhem. Die Firmware – also die Software für diesen Transceiver – wird fortlaufend von der Open-Source-Gemeinde erweitert. Mit erweitert versteht man hier die Möglichkeit, das der Jeelink mit noch mehr Sensoren in Kontakt kommen kann. Ebenfalls werden mit einem Flash-Update Fehler gefixt. Meinen Jeelink-Clone (-> siehe Blogbeitrag) benutze ich für die Messung von Temperaturen im ganzen Haus. In einem weiteren Blog-Beitrag zeige ich Euch auch, wie man ihn auch als Transceiver für Füllstandsmessungen, Distanzmessungen usw. benutzen kann.
Bei der Aktualisierung der Software für den Jeelink-(Clone) kann unter verschiedenen Möglichkeiten wählen. Entweder mit dem Arduino-Entwicklungsumgebung mit einem PC oder Mac oder auch unter Fhem.
Da in letzter Zeit Probleme mit den Jeelinks-Clones (genauer dem USART-Chip FTDI) aufgetreten sind, zeige ich Euch hier mal die Möglichkeit, neue Software direkt am Herzen – also bei Fhem selber – direkt zu flashen.
Die Zutaten:
- Ein lauffähiges Fhem
- Einen Jeelink oder Jeelink-Clone (ich zeige es Euch mit dem Jeelink-Clone)
- Einen installierten Jeelink
- Etwas Linux-Kenntnisse
Los gehts:
Zunächst sollte mein mit Update Fhem auf dem neuesten Stand bringen. Die Flash-Funktionalität existiert erst seit einigen Monaten. Nicht jeder aktualisiert die Fhem-Software ständig, frei nach dem Motto: Never touch a running System. Bei der Gelegenheit sollte man, wenn man viel bastelt, doch lieber eine Testumgebung mit einem zweiten Raspberry Pi aufbauen. Das ist nicht teuer, schont die Nerven und gibt ein sicheres Gefühl. Backups sollten zumindest einmal im Monat durchgeführt werden. Damit meine ich auch ein Backup des SD-Images.
Nach dem Update geht man auf die Konsole und installiert mit
apt-get install avrdude
die benötigte Software zum Flashen. Nach einer gefühlten halben Stunde (unter Raspberry Pi) kann man sie benutzen.
Die avrdude-Software ist die Flashing-Software für den Arduino Nano.
Anschließend geht man in die Eigenschaften des Jeelink-Moduls.
Um nun die neueste Software für Lacrosse-Temperatursensoren zu flashen, wählt man oben das Dropdown-Menü flash an und tippt in dem nebenstehenden Textfeld LaCrosse (siehe Foto) ein. Hier ist auf Groß-und Kleinschreibung zu achten. Anschließend auf Set klicken. Es erfolgt bei angeschlossenem Jeelink der Flashvorgang. Standardmäßig würde ich alle anderen am USB-Port vorhandenen Transceiver und Devices vorher entfernen um ein unkontrolliertes Flashen eines falschen Bausteins zu vermeiden. Für ein Update bei PCA 301 Steckdosen (derzeitig nur für die original Jeelinks möglich, Steckdosen gibt es unter anderem bei amazon.de: PCA301 Steckdosen) gibt man PCA301 ein. Um es nochmal klarzustellen: Wer beide Sensoren / Aktoren besitzt, also Lacrosse-Temperatur-Sensoren und PCA301 Steckdosen muss sich zwei Jeelinks-Clones besorgen!
Im Logfile unter Fhem sieht man nun das Ergebnis des Flash-Vorgangs.
flashing JeeLink jeelinkcross
detected Firmware: LaCrosse
hex file: ./FHEM/firmware/JeeLink_LaCrosse.hex
port: /dev/ttyUSB0
log file: ./log/JeeLinkFlash.log
jeelinkcross closed
command: avrdude -p atmega328P -c arduino -b 57600 -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>./log/JeeLinkFlash.log
--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: reading input file „./FHEM/firmware/JeeLink_LaCrosse.hex“
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex auto detected as Intel Hex
avrdude: writing flash (16676 bytes):
Writing | ################################################## | 100% 5.42s
avrdude: 16676 bytes of flash written
avrdude: verifying flash memory against ./FHEM/firmware/JeeLink_LaCrosse.hex:
avrdude: load data flash data from input file ./FHEM/firmware/JeeLink_LaCrosse.hex:
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex auto detected as Intel Hex
avrdude: input file ./FHEM/firmware/JeeLink_LaCrosse.hex contains 16676 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 4.23s
avrdude: verifying …
avrdude: 16676 bytes of flash verified
avrdude done. Thank you.
— AVRDUDE ———————————————————————————
jeelinkcross opened
Blog-Leser berichteten mir aber, das bei den Standard-Einstellungen der Flash Vorgang nicht funktioniert.
Die Fehlermeldung sieht dann so aus:
avrdude: stk500_getsync(): not in sync: resp=0xfe
Hier dann die Attribut-Zeile mit folgende Parameter bearbeiten,
avrdude -p atmega328P -c arduino -b 57600 -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
auf attr klicken, dann oben in dem Textfeld save eintippen und nochmals versuchen.
Nach erfolgtem Flash-Vorgang ist der Jeelink sofort wieder betriebsbereit. Mit der Methode hat man immer eine aktuelle Jeelink-Version und man braucht sich nicht um irgendwelche Treiberinstallation von FTDI, CH240 etc zu kümmern. Wenn man einen CH240 auf seinem kompatiblen Arduino-Nano hat, kann sich vielleicht diesen Beitrag über die Installation von CH240 für den Mac mal von mir durchlesen.
Wer noch einen Jeelink-Clone benötigt oder einen Arduino Nano kann mich kurz anschreiben (->Impressum).
Wer kein Fhem zur Verfügung hat, kann natürlich auch von der Konsole flashen, über Putty einloggen und folgendes eingeben:
sudo avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -b 57600 -D -U flash:w:/opt/fhem/FHEM/firmware/JeeLink_LaCrosse.hex 2>/opt/fehm/log/JeeLinkFlash.log
Die Quellen zu den Dateien stehen hier: http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/
Hallo Robin,
an diesem Punkt komme ich einfach nicht weiter.
„Anschließend geht man in die Eigenschaften des Jeelink-Moduls.“
Wie schafft man es dort hin zu kommen. Ich finde es einfach nicht heraus.
gruß
Bernhard
dann frag doch da an, ist nicht mein Blog.
Da bin ich mir nicht sicher…….
ich habe den JeeLink in FHEM angelegt und er steht auch auf open, aber wenn ich diesen Befehl (gem. Anleitung unter http://www.meintechblog.de/2015/01/fhem-mit-jeelink-luftfeuchte-und-temperatur-zum-low-cost-tarif-messen/):
attr myJeeLink flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]
eingebe, kommt eine Fehlermeldung und anscheinend kann die LOGFILE nicht erstellt/gefunden werden.
Was mache ich falsch?
Hallo Torsten,
Das Logfile von Fhem oder vom Sensor? Ansonsten hier: http://blog.moneybag.de/fhem-guenstige-temperatur-und-luftfeuchte-sensoren-von-lacrosse/ reinschauen, da steht so einiges.
LG
/robin
Die LOGFILE meinte ich???
Hallo Torsten,
was für eine Log-Datei?
LG
/robin
Hallo…..
irgendetwas mache ich wohl komplett falsch……ich sitze nun schon seit mehreren Abenden und versuche meinen JeeLink in FHEM so zu setzen, dass er meine TX29DTH-IT erkennt. Ich glaube das Problem liegt daran, dass ich immer wieder die Meldung bekomme, dass keine LOG Datei erstellt wird.
Meldung nach dem Flashen:
flashing JeeLink myJeeLink
detected Firmware: LaCrosse
hex file: ./FHEM/firmware/JeeLink_LaCrosse.hex
port: /dev/ttyUSB0
log file: ./log/JeeLinkFlash.log
myJeeLink closed
command: avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>
WARNING: avrdude created no log file
myJeeLink opened
Mein JeeLink ist so in FHEM eingebunden:
Internals
Clients
:PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF:Level:EMT7110
DEF
/dev/ttyUSB0@57600
DeviceName
/dev/ttyUSB0@57600
FD
14
NAME
myJeeLink
NR
76
PARTIAL
STATE
Opened
TYPE
JeeLink
Readings
state
opened
2015-09-14 22:00:42
attr myJeeLink
System
Attributes
flashCommand
avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>
deleteattr
icon
scc_868
deleteattr
initCommands
30t 0a v
deleteattr
room
System
deleteattr
Ich finde deinen Blog echt super, aber bin ich wirklich zu doof für das alles?? Zweifle an mir!!!
Würde mich über eine Hilfe von Dir sehr freuen!
MFG Torsten
jeenode nehmen, damit kannst du mit dem lacrosse sketch auch daten empfangen
lg
robin
Hi.. Bedeutet aber auch ich muss zwingend ein 868 was sendet in der Nähe haben oder??? Könnte ich mit einem 2. eine simulieren und wenn ja, wie?
Hallo Martin,
der funktioniert auch mit S1, zumindest für TX-29 DT-h, PCA 301 hab ich nicht ausprobiert. Viele Transceiver sind auch vom Werk aus kaputt. Ist mir schon ein paarmal hier in der Testumgebung passiert. Fertig gelötet, ausprobiert, geht nicht. Wenn Sensoren in der nähe sind, siehst du in den RAWMSG – Eigenschaften des Jeelinks Daten: RAWMSG
OK 9 63 1 4 228 39 für einen Temperatur-Sensor.
Deshalb sage ich ja immer bei mir im Blog auch immer: Getestet von mir :-), kann Euch viel Zeit und Nerven sparen.
LG
/robin
Hallo zusammen…
zwei Fragen hätte ich da.
Ich warte noch auf meine PCA Steckdosen. Ich habe soweit den JeeLink Clone zusammengelötet und über FHEM erfolgreich flashen können.
Hier im Blog konnte ich lesen, dass der RFM12BS benutzt wurde. Funktioniert das ganze mit dem RFM12BS1 auch????
http://rover.ebay.com/rover/1/707-53477-19255-0/1?ff3=4&pub=5574857366&toolid=10001&campid=5337607131&customid=&mpre=http%3A%2F%2Fwww.ebay.de%2Fitm%2F371256001938%3Fru%3Dhttp%253A%252F%252Fwww.ebay.de%252Fsch%252Fi.html%253F_from%253DR40%2526_sacat%253D0%2526_nkw%253D371256001938%2526_rdc%253D1
Kann ich irgendwie sehen ob der JeeLink schon funktioniert?
In einem anderen Blog konnte ich lesen, dass er unter Events wenigstens Rauschen bzw. andere 868 Sender sehen konnte.
Ich sehe garnichts…. :/
grüß
Pingback: Fhem: Reichweitenerhöhung bei Jeelinks mit Relay – Temperatursensoren und PCA 301 Schaltsteckdosen | Robins Blog - Technik und Multimedia
Hab es gefunden 😉
Kleine Info noch, einen JeeLink Clone für PCA301-Steckdosen zu flaschen funktioniert einwandfrei. Einfach wie oben beschrieben „PCA301“ als Text ein.
Gruß Daniel
Hi,
kann mir einer erklären wie ich auf diese „Eigenschaften-Seite“ komme?
Hab nichts dazu gefunden.
Danke 😉
Pingback: LaCrosse Temperatursensor an Arduino Nano und RFM12B als JeeLink-Ersatz | Robins Blog - Technik und Multimedia
meinen blog lesen
http://blog.moneybag.de/fhem-flashen-von-jeelinks-unter-fhem/
-b 57600 hinzufügen
lg
robin
Nun habe ich doch herausgefunden wie man auf die Eigenschaftenoberfläche kommt.
Leider erhalte ich nach den vorgegebenen Einstellungen nur das:
flashing JeeLink myJeeLink
detected Firmware: LaCrosse
hex file: ./FHEM/firmware/JeeLink_LaCrosse.hex
port: /dev/ttyUSB0
log file: ./log/JeeLinkFlash.log
myJeeLink closed
command: avrdude -p atmega328P -c arduino -P /dev/ttyUSB0 -D -U flash:w:./FHEM/firmware/JeeLink_LaCrosse.hex 2>./log/JeeLinkFlash.log
— AVRDUDE ———————————————————————————
avrdude: stk500_recv(): programmer is not responding
avrdude done. Thank you.
— AVRDUDE ———————————————————————————
myJeeLink opened
Auch ein Hardreset des Clones bringt keinen Erfolg.
Hallo Robin,
ich habe mir einen Jeelink-Clone zusammengelötet und möchte ihn nun nach deiner obigen Anweisung mit dem LaCrosse Sketch für Temperatur und Feuchtemessung betanken. Nur leider scheitert es schon daran, dass ich nicht weiss, wie ich in die oben gezeigte graphische Ansicht der Eigenschaften des Jeelink-Clones gelange.
Viele Grüße und danke für den tollen Blog, der mittlerweile wg. FHEM bei mir schon zur täglichen Lektüre geworden ist.
Manfred