Seite 8 von 12
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 26.11.2022, 21:39
von cactus-online
Abtrennen OK. Eventuell könnte Ikswkoknib ja mal zusammenfassen, wie er die FW mit seinem Adapter geflashed ( siehe
viewtopic.php?f=76&t=65146&start=40#p740787 )hat?
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 26.11.2022, 23:08
von sentinel
Ich habe auch schon ein paar WDSO 2.0 geflasht.Die mit ArduinoIDE kompilierte.elf Datei mit OpenOCD und ST-Link V2 wie hier beschrieben
https://github.com/jp112sdl/HM-Sec-SCo-EFM32 hochladen.Funktioniert
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 27.11.2022, 07:45
von jp112sdl
sentinel hat geschrieben: ↑26.11.2022, 23:08
Ich habe auch schon ein paar WDSO 2.0 geflasht.
Kannst du mir mal bitte deine ST-Link V2 Firmware Version mitteilen?
Nur den ST-Link in den USB Port stecken und
openocd -f interface/stlink-dap.cfg -f target/efm32.cfg aufrufen.
Da kommt dann in der 3. Zeile sowas wie
Das Problem: Ich bekomme keine Debuglock Protection mehr unlocked.
Zwischenzeitlich hatte ich mal die Firmware auf dem ST-Link V2 auf V2J
40S7 aktualisiert.
Deshalb vermute ich, dass es daran liegt. Die OpenOCD Version ist die selbe wie damals, als ich das Tutorial geschrieben hatte.
Online finde ich Firmware-Downloads nur die V2J
38S7 und
39.
stan23 hatte mir gestern schon seine Version geschickt, das ist die V2J
29S7.
Damit klappte es bei ihm.
P.S.: Mit einem J-Link Adapter geht der Unlock sofort.
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 27.11.2022, 15:52
von sentinel
jp112sdl hat geschrieben: ↑27.11.2022, 07:45
sentinel hat geschrieben: ↑26.11.2022, 23:08
Ich habe auch schon ein paar WDSO 2.0 geflasht.
Kannst du mir mal bitte deine ST-Link V2 Firmware Version mitteilen?
Nur den ST-Link in den USB Port stecken und
openocd -f interface/stlink-dap.cfg -f target/efm32.cfg aufrufen.
Da kommt dann in der 3. Zeile sowas wie
Meine ST-Link Firmware ist auch die 29 :
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 27.11.2022, 19:56
von jp112sdl
sentinel hat geschrieben: ↑27.11.2022, 15:52
Meine ST-Link Firmware ist auch die 29 :
Vielen Dank.
Ich habe im Internet nun nach einiger Recherche die 28 gefunden und damit geht es bei mir auch sofort wieder.
Also: Bloß nicht updaten!
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 10.12.2022, 20:04
von cactus-online
Ich habe
https://github.com/jp112sdl/Beispiel_As ... DSo2.0.ino verwendet. Dabei
#define USE_HW_SERIAL eingeschaltet.
Jetzt habe ich tatsächlich mehrere Sensoren, die sich jeweils eine Device-Serial mit verschiedenen Device-ID "teilen" wollen. Anderes ausgedrückt, der Algo scheint sich bei der Device-Serial nicht so "zufällig" zu verhalten wie erwartet. Bei 5 Sensoren gibt lassen sich zwei nicht anlernen, weil die Device-Serial schon existiert. Ist ja grundsätzlich nicht schlimm, dann übersetzt man halt den Sketch mit jeweils individueller Device-Serial, aber eigentlich sollte das ja wohl eher nicht passieren.
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 10.12.2022, 20:34
von jp112sdl
cactus-online hat geschrieben: ↑10.12.2022, 20:04
Anderes ausgedrückt, der Algo scheint sich bei der Device-Serial nicht so "zufällig" zu verhalten wie erwartet.
Die Unique ID beim EFM32 ist 64 Byte groß.
Für die Device ID werden die Bytes 4-6 genutzt.
cactus-online hat geschrieben: ↑10.12.2022, 20:04
Bei 5 Sensoren gibt lassen sich zwei nicht anlernen, weil die Device-Serial schon existiert.
Falls du Lust hast, kannst du ja mal von allen 5 die komplette Unique ID ausgeben lassen.
Code: Alles auswählen
uint64_t chipId = SYSTEM_GetUnique();
uint8_t *chipIdArray = *reinterpret_cast<uint8_t(*)[sizeof(uint64_t)]>(&chipId);
DPRINT("EFM32 ChipID is ");
for (uint8_t i = 0; i < 64; i++) {
DHEX(chipIdArray[i]);
DPRINT(" ");
}
DPRINTLN("");
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 10.12.2022, 20:52
von cactus-online
jp112sdl hat geschrieben: ↑10.12.2022, 20:34
Falls du Lust hast, kannst du ja mal von allen 5 die komplette Unique ID ausgeben lassen.
Code: Alles auswählen
uint64_t chipId = SYSTEM_GetUnique();
uint8_t *chipIdArray = *reinterpret_cast<uint8_t(*)[sizeof(uint64_t)]>(&chipId);
DPRINT("EFM32 ChipID is ");
for (uint8_t i = 0; i < 64; i++) {
DHEX(chipIdArray[i]);
DPRINT(" ");
}
DPRINTLN("");
Es ändert ja nichts an der Tatsache. Ich müsste da irgendwo, irgendwie eine serielle Schnittstelle ranbasteln. Ich denke, es ist den Aufwand nicht wert. Warum aber ist die Device-ID dann verschieden ?
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 10.12.2022, 22:18
von jp112sdl
cactus-online hat geschrieben: ↑10.12.2022, 20:52
. Ich müsste da irgendwo, irgendwie eine serielle Schnittstelle ranbasteln.
Ja, hab ich sogar mit TX und RX gekennzeichnet
cactus-online hat geschrieben: ↑10.12.2022, 20:52
Warum aber ist die Device-ID dann verschieden ?
Gute Frage. Bin aber auch grad zu faul, noch mal im Code schauen
Re: RWE/Innogy/Livisi Fensterkontakt WDS - Homematic/AskSinPP Firmware
Verfasst: 02.01.2023, 18:06
von mcpovel
Hallo,
leider habe ich es nicht hin bekommen, eine schöne Klemmlösung für die serielle zu basteln. Beim Programmierstecker habe ich eine schöne Klemme mit PINS die sich gut anklemmen läst, ohne zu löten.
Nur halt die serielle tut so nicht. Ich habe von 11 Sensoren 6 mit einer Änderung der ID Generierung gebaut, da es ansonsten doppelte gab...
Nur so ohne serielle Ausgabe.... Aber ich habe einfach für die andere Hälfte der Sensoren die Bytes 0 und 1 benutzt.
Hat erst einmal geholfen. Mehr Sensoren brauch ich nicht. Um die Logik der ID aus der Unique zu verbessern brauch ich aber die serielle....
Mal gucken ob ich dazu noch einmal Lust habe...
Ansonsten Danke für die tolle Software.
cu
Michael