Fhem: Flashen von Jeelinks unter fhem

Update 30.12.2015: Es sind noch einige Jeelinks (komplett zusammengelötet und getestet) verfügbar! Beitrag über Jeelink für Temperatursensoren lesen!

IMG_1785Viele 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:

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.

 

jeelink2

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/

IMG_1785

 

War der Beitrag für Dich sinnvoll?
  • Langweilig (0)
  • Schlecht (0)
  • Genial (1)
  • Interessant (1)
  • Nützlich (3)
Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

18 Kommentare zu Fhem: Flashen von Jeelinks unter fhem

  1. Gnypp Bernhard sagt:

    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

  2. Robin sagt:

    dann frag doch da an, ist nicht mein Blog.

  3. Torsten sagt:

    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?

  4. Robin sagt:

    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

  5. Torsten sagt:

    Die LOGFILE meinte ich???

  6. Robin sagt:

    Hallo Torsten,

    was für eine Log-Datei?

    LG
    /robin

  7. Torsten sagt:

    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&gt

    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&gt
    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

  8. Robin sagt:

    jeenode nehmen, damit kannst du mit dem lacrosse sketch auch daten empfangen

    lg
    robin

  9. Martin sagt:

    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?

  10. Robin sagt:

    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

  11. Martin sagt:

    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üß

  12. Pingback: Fhem: Reichweitenerhöhung bei Jeelinks mit Relay – Temperatursensoren und PCA 301 Schaltsteckdosen | Robins Blog - Technik und Multimedia

  13. Daniel sagt:

    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

  14. Daniel sagt:

    Hi,
    kann mir einer erklären wie ich auf diese „Eigenschaften-Seite“ komme?
    Hab nichts dazu gefunden.

    Danke 😉

  15. Pingback: LaCrosse Temperatursensor an Arduino Nano und RFM12B als JeeLink-Ersatz | Robins Blog - Technik und Multimedia

  16. Robin sagt:

    meinen blog lesen
    http://blog.moneybag.de/fhem-flashen-von-jeelinks-unter-fhem/
    -b 57600 hinzufügen
    lg
    robin

  17. Manfred sagt:

    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.

  18. Manfred sagt:

    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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.