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?
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.
An der CCU3 wird das Gerät als HM-LC-SwX erkannt. Wie wäre denn in Update über die CCU3 möglich?
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?
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.
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?
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.
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?
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.
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