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

Code: Alles auswählen

Info : STLINK V2J38S7 (API v2) VID:PID 0483:3748
:!: Das Problem: Ich bekomme keine Debuglock Protection mehr unlocked.

Zwischenzeitlich hatte ich mal die Firmware auf dem ST-Link V2 auf V2J40S7 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 V2J38S7 und 39.

stan23 hatte mir gestern schon seine Version geschickt, das ist die V2J29S7.
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

Code: Alles auswählen

Info : STLINK V2J38S7 (API v2) VID:PID 0483:3748
Meine ST-Link Firmware ist auch die 29 :

Code: Alles auswählen

Info : STLINK V2J29S7 (API v2) VID:PID 0483:3748

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! :mrgreen:

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 :)
Bild
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 :mrgreen:

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