CUL unter FHEM flashen

Begonnen von stobor, 19 Januar 2017, 16:47:39

Vorheriges Thema - Nächstes Thema

stobor

Hallo,
mein CUL ist ziemlich versteckt verbaut. Wie kann ich denn den CUL direkt unter FHEM updaten? die hex-Datei habe ich schon. Mein CUL hat die Version 3.2. Ich vermute, dass ich dann auch die hex-Datei V3 benötige, richtig?
Wo muss diese denn dann hinkopiert werden?
Und wie kann ich das CUL-Update denn in FHEM anstoßen? Ich betreibe zwei CULs parallel. Wie kann ich gezielt nur einen updaten?

Danke für eure Hilfe.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

Falls auf dem Rechner dfu-programmer mit root s-bit installiert ist, dann kann man dafuer das FHEM-Befehl CULflash verwenden.

stobor

OK, danke.
Ich habe mal den dfu-programmer installiert und ihn für alle User ausführbar gemacht:

Unter Linux:
sudo apt-get install dfu-programmer
sudo chmod u+s /usr/bin/dfu-programmer


dann habe ich in der FHEM-WebUI Folgendes eingegeben:
CULflash CUL_0 CUL_V3

und mir nach dem Update die Versionsnummer ausgeben lassen:
get CUL_0 raw V


Siehe da, die neuste Version ist installiert:
CUL_0 raw => V 1.67 CUL868


Nebenbei: CUL_0 entspricht meinem Device-Namen für diesen CUL:
define CUL_0 CUL /dev/serial/by-path/pci-0000:00:14.0-usb-0:2:1.0@9600 1034


Alles super!

Nun aber noch eine Frage:
Von wo wird denn die Firmware (.hex-Datei) gezogen, um sie in den CUL einzuspielen?
Wie kann ich alternativ eine .hex-Datei vorgeben bzw. wo muss sie hinkopiert werden, damit ich meine eigene Firmware verwenden kann?

Danke.
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

ZitatVon wo wird denn die Firmware (.hex-Datei) gezogen, um sie in den CUL einzuspielen?
Wird naechtlich aus dem SVN nach http://fhem.de/fhemupdate kopiert, und CULflash laedt es direkt von da.

ZitatWie kann ich alternativ eine .hex-Datei vorgeben bzw. wo muss sie hinkopiert werden, damit ich meine eigene Firmware verwenden kann?
Z.Zt. geht das nicht, dafuer musst du im Log gezeigten Befehle per Hand (bzw. aus FHEM mit { `dfu-programmer...` } ausfuehren.

stobor

Im Log habe ich Folgendes gefunden:

2017.01.20 08:18:40 1: /dev/serial/by-path/pci-0000:00:14.0-usb-0:2:1.0 disconnected, waiting to reappear (CUL_0)
2017.01.20 08:21:44 1: CULflash dfu-programmer atmega32u4 erase && dfu-programmer atmega32u4 flash ./FHEM/firmware/CUL_V3.hex && dfu-programmer atmega32u4 start;
2017.01.20 08:21:48 1: CULflash Validating...
28432 bytes used (99.16%)


Das wirkt für mich zunächst so, als ob die Firmware im Verzeichnis /FHEM/firmware liegt. Dort habe ich aber keine CUL_V3.hex gesehen. Vielleicht liege ich aber auch total falsch, da ich kein Linux/Programmierexperte bin.
Ich hatte die Hoffnung, dort einfach eine Datei ablegen zu können.

Welche Befehle muss ich denn dann unter FHEM direkt ausführen? Und wo sollte dann die Datei liegen?
Intel NUC (Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-73-generic x86_64))  mit CUL V3.2 (Firmware 1.57 CUL868) für FS20 und CUL V3.4 (Firmware 1.57 CUL868) für HM + Arduino Mega
FHEM Revision: 27642
FS20-Schalter und Dimmer
HM Fensterkontakte, Heizungsthermostate, Temperatursensoren

rudolfkoenig

Die Datei sollte weiterhin da liegen. Die Befehle sind in der zweiten Zeile deines Logs, die sind auch hier beschrieben.
CULflash setzt vorher B01 (via set CUL_0 raw B01) ab, und fuehrt danach dfu-programmer aus. Wohin du deine Dateien ablegst, ist egal, musst nur bei dfu-programmer als Argument richtig angeben.