FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: kingmathers am 28 Oktober 2021, 16:58:23

Titel: HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 28 Oktober 2021, 16:58:23
Hallo,

ich habe mehrere HM_LC_Sw1PBU_FM im Einsatz, welche ich nach dieser Anleitung (https://wiki.fhem.de/wiki/HM-LC-Sw1PBU-FM_Alternative_Firmware) geflasht habe. Nun möchte ich gerne over the air eine neue Firmware aufspielen.

Soweit es mir ersichtlich ich, muss ich zunächst die erstellte Firmware als .hex ins .eq3 Format konvertieren (ist auch in der oben genannten Anleitung beschrieben), anschließend kann man nach dieser Anleitung (https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update) die neue Firmware übertragen.

Ist das erstmal so korrekt?

Ich habe leider nur ein HM-CFG-LAN und eine CCU3, gibt es evtl. eine Möglichkeit die Firmware auch darüber zu aktualisieren?
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: frank am 28 Oktober 2021, 17:07:24
hört sich plausibel an.
im ersten link sind auch ota hinweise.

hmlan geht nicht.
ccu3 sollte funktionieren, wenn dein switch in der ccu3 angelernt ist.
das ist soweit ich weiss aber noch nicht möglich.
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 28 Oktober 2021, 18:34:27
An der CCU3 wird das Gerät als HM-LC-SwX erkannt. Wie wäre denn in Update über die CCU3 möglich?
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 29 Oktober 2021, 18:06:30
Ich habe einen CUL (wird jedoch aktuell für MAX verwendet), über den ich dann die Firmware Update übetragen würde. Die Homematic Geräte sind an eine VCCU angelernt, das heißt ich kann die CUL im homematic rfmode einfach als IO Device auswählen und dann die Firmware übertragen? Neues anlernen sollte ja mit der VCCU entfallen oder?
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: Pfriemler am 29 Oktober 2021, 22:14:58
Theoretisch können meines Wissens die CULs auch FW-Updates. Du kannst den Homematic-mode-CUL in der VCCU als IODev eintragen und muss nichts am Schalter selbst ändern. Die vccu sollte dem CUL dann selbsttätig die richtige hmID mitteilen. Anlernen entfällt.
In meiner Erfahrung hilft es, nicht-FW-fähige IODevs (hier also den HMLAN) zu "close"n und nach dem Firmwareupdate wieder zu "open", damit sie nicht beim Aushandeln des Updates dazwischenbrabbeln.
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 31 Oktober 2021, 17:33:34
Nachdem ich nun die Firmware kompiliert habe und ins .eq3-Format konvertiert habe scheitere ich bei dem Versuch, die Firmware auf den Aktor zu übertragen. Ich erhalte nach Ausführung des fwUpdate-Befehls die Fehlermeldung "fail:notInBootLoader".

Ich habe den Aktor vom Netz getrennt, den Config-Taster gedrückt gehalten, Strom wieder eingeschaltet und weiter gedrückt, die LED leuchtet jedoch nicht auf und die Fehlermeldung kommt weiterhin. Auch mit Drücken der Tasten hoch bzw. runter beim Starten gibt die LED kein Feedback und die Fehlermeldung bleibt bestehen, ebenso wenn ich eine Zeit (60) am Ende des Befehls anfüge (Hinweis (https://forum.fhem.de/index.php?topic=84200.0)).

Ich habe vor einigen Jahre diesen (https://github.com/kc-GitHub/Asksin_OTA_Bootloader/releases) Bootloader geflasht und anschließend eine Firmware, jetzt möchte ich eigentlich nur die Firmware ersetzen.

Mache ich irgendetwas falsch?
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: frank am 31 Oktober 2021, 17:52:49
ist die culfw >= 1.58?
mit welcher ID meldet sich der bootloader? hattest du damals dem bootloader eine angepasste ID verpasst?

sniffe den vorgang mal mit dem hmlan.
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 31 Oktober 2021, 18:11:44
CUL Firmware ist 1.66.

Im Bootloader hatte ich die HMID und Seriennummer des Geräts verwendet, diese hatte ich mir notiert und habe sie auch jetzt wieder benutzt.

Ich habe gerade noch ein weiteres Gerät probiert und stoße auf das gleiche Problem. Ich habe jedoch auch einmal den Befehl abgesetzt während der Strom noch aus war, mit dem Ergebnis, dass trotzdem das Reading fwUpdate mit fail:notInBootLoader aktualisiert wurde.

Welche Tools benötige ich zum sniffen der Kommunikation mit HMLAN?
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: frank am 31 Oktober 2021, 18:15:39
attr hmlan logIDs all
in global millisekunden fürs log aktivieren

edit: zeig auch ein list vom aktor.
der sniff ist dann der passende fhem.log abschnitt.
kann man auch schön live im eventmonitor verfolgen.
Titel: Antw:HM_LC_Sw1PBU_FM neue Firmware OTA flashen?
Beitrag von: kingmathers am 31 Oktober 2021, 18:39:24
Geht das auch wenn hmlan closed ist (wurde für die Dauer des OTA Updates über die CUL empfohlen)?

Ich habe mich beim ursprünglichen Flashen an diese Anleitung (https://wiki.fhem.de/wiki/HomeMatic_Firmware_Update) gehalten. Im Bootloader (https://github.com/kc-GitHub/Asksin_OTA_Bootloader/blob/master/devices/HM-LC-Sw1PBU-FM.h) habe ich HMID und Serial eingetragen, HM_TYPE habe ich wie emfphlen auf 0xF0A9 geändert. Jetzt möchte ich dan Aktor doch direkt an die CCU3 anlernen und daher die HB-LC-Sw1PBU-FM-Firmware (https://github.com/jp112sdl/Beispiel_AskSinPP/blob/master/examples/HB-LC-Sw1PBU-FM/HB-LC-Sw1PBU-FM.ino) OTA flashen. Hier habe ich jedoch im Bootloader und Firmware verschiedene Device Models/Types. Am besten wäre es wahrscheinlich, den Bootloader zuerst nochmal OTA neu zu flashen oder?

Die HB-LC-Sw1PBU-FM-Firmware kann ja die Daten aus dem Bootloader auslesen, sodass ich dann keine Unterschiede bei Device Model bzw. HM TYPE mehr hätte.

Edit: List vom HM-Device (CUL_868_SlowRF ist der Name vom CUL, es steht aber auf homematic, nicht SlowRF):
Internals:
   CUL_868_SlowRF_MSGCNT 34
   CUL_868_SlowRF_RAWMSG A0B00A240462EDC0000000100::-57:CUL_868_SlowRF
   CUL_868_SlowRF_RSSI -57
   CUL_868_SlowRF_TIME 2021-10-31 18:03:41
   DEF        462EDC
   FUUID      5c77e7c9-f33f-4de5-4c69-20414b20809f4d7b
   IODev      CUL_868_SlowRF
   LASTInputDev CUL_868_SlowRF
   MSGCNT     34
   NAME       HM_462EDC
   NR         325
   NTFY_ORDER 48-HM_462EDC
   STATE      MISSING ACK
   TYPE       CUL_HM
   channel_01 HM_Schalter_EG_EZ_1_Up
   channel_02 HM_Schalter_EG_EZ_1_Down
   channel_03 EZ_Licht
   channel_04 HM_462EDC_Sw_02
   disableNotifyFn 1
   lastMsg    No:00 - t:40 s:462EDC d:000000 0100
   protCmdDel 59
   protLastRcv 2021-10-31 18:03:35
   protRcv    18 last_at:2021-10-31 18:03:35
   protResnd  171 last_at:2021-10-31 18:37:38
   protResndFail 55 last_at:2021-10-31 18:37:44
   protSnd    78 last_at:2021-10-31 18:37:24
   protSndB   38 last_at:2021-10-31 17:55:58
   protState  CMDs_done_Errors:1
   rssi_at_CUL_868_SlowRF cnt:34 min:-62 max:-47.5 avg:-51.32 lst:-57
   READINGS:
     2020-07-12 18:47:38   CommandAccepted yes
     2020-07-11 17:39:40   D-firmware      1.5
     2020-07-11 17:39:40   D-serialNr      NEQ0130459
     2021-10-31 18:37:24   IODev           CUL_868_SlowRF
     2020-02-07 17:49:05   PairedTo        0x333ABC
     2020-02-07 17:49:05   R-pairCentral   0x333ABC
     2021-10-31 18:03:35   battery         ok
     2021-10-31 10:56:12   cfgState        updating
     2021-10-31 18:37:44   commState       CMDs_done_Errors:1
     2021-10-31 17:56:08   fwUpdate        fail:notInBootLoader
     2020-07-12 18:47:38   sabotageAttackId_ErrIoId_BC9AB8 cnt:43749
     2020-07-12 18:47:38   sabotageAttack_ErrIoAttack cnt 43749
     2021-10-31 18:37:45   state           MISSING ACK
   helper:
     HM_CMDNR   4
     PONtest    1
     addVal     1
     cSnd       01333ABC462EDC030E,01333ABC462EDC040E
     lastMsgTm  1635699815.56825
     mId        F0A9
     peerFriend -
     peerOpt    -:remoteAndSwitch
     regLst     0
     rxType     1
     supp_Pair_Rep 0
     cmds:
       TmplKey    :no:1635668606.51679
       TmplTs     1635668606.51679
       cmdKey     0:1:0::HM_462EDC:F0A9:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   <filename>
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         tplDel     -tplDel-
         unpair     noArg
       lst:
         condition  slider,0,1,255
         peer       
         peerOpt   
         tplChan   
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         list       [({normal}|full)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        1
       raw        0
       tpl        0
     io:
       flgs       0
       newChn     +462EDC,00,00,00
       nextSend   1635701859.03279
       rxt        0
       vccu       
       p:
         462EDC
         00
         00
         00
       prefIO:
     mRssi:
       mNo        00
       io:
         CUL_868_SlowRF:
           -51
           -51
     peerIDsH:
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       dev        1
       prs        1
     rssi:
       at_CUL_868_SlowRF:
         avg        -51.3235294117647
         cnt        34
         lst        -57
         max        -47.5
         min        -62
     tmpl:
Attributes:
   IODev      CUL_868_SlowRF
   autoReadReg 4_reqStatus
   expert     defReg,allReg
   firmware   1.5
   model      HM-LC-Sw1PBU-FM-CustomFW
   room       CUL_HM
   serialNr   NEQ0130459
   verbose    5
   webCmd     getConfig:clear msgEvents