HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Antworten
kingmathers
Beiträge: 28
Registriert: 11.02.2020, 01:00
Hat sich bedankt: 3 Mal

HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Beitrag von kingmathers » 21.11.2021, 22:34

Hallo,

ich habe einen meiner HM-LC-Sw1PBU-FM nun erfolgreich mit dem OTA Bootloader und der alternativen Firmware geflasht. Ich habe dazu die alternative Firmware heruntergeladen und dabei Zeile 9 auskommentiert:

Code: Alles auswählen

#define USE_OTA_BOOTLOADER
In Zeile 49-56 habe ich trotzdem noch die entsprechenden Infos (Device ID und Device Serial) eingetragen. Die kompilierte Datei habe ich als Firmware.hex gespeichert

Den OTA Bootloader habe ich entsprechend dieser Anleitung mit der makeota.html vorbereitet - also Device Model (F335), HM ID und Serial eingetragen. Bei Firmware habe ich zuvor kompilierte Firmware.hex Datei gewählt und dann mit "Create Bootloader" alles zusammengeführt und abgespeichert.

Diese Datei konnte ich nun erfolgreich auf das Gerät flashen und das Gerät an die CCU3 (mit JP HB Devices) anlernen.

Jetzt habe ich jedoch noch weitere Geräte und möchte diese ebenfalls gerne so flashen und Taster und Aktor getrennt voneinander verwenden zu können. Selbstverständlich sind mit die HMIDs und Serials von allen Geräten bekannt. Dazu habe ich noch 2 Fragen:

1. Wenn ich in der Firmware Zeile 9 (USE_OTA_BOOTLOADER) aktiviert habe, werden dann die Infos in Zeile 49-56 (const struct DeviceInfo PROGMEM devinfo) ignoriert? Also muss ich die Firmware trotzdem jedes mal neu kompilieren, oder reicht es diese Informationen im Bootloader (mit makeota.html) zu hinterlegen und immer die gleiche Firmware zu verwenden?

2. Aktuell geht das Licht beim Tastendruck nach oben an und beim Tastendruck nach unten aus. Kann ich diese interne Verknüpfung löschen (z. B. möchte ich einen Schalter benutzen um eine Jalousie zu steuern - das Licht soll hingegen von einem anderen Schalter aus gesteuert werden)? Ich könnte diese Verknüpfung in der CCU3 unter "Direkte Verknüpfungen" nicht finden.

Vielen Dank!

jp112sdl
Beiträge: 12108
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2148 Mal
Kontaktdaten:

Re: HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Beitrag von jp112sdl » 21.11.2021, 22:49

kingmathers hat geschrieben:
21.11.2021, 22:34
Ich könnte diese Verknüpfung in der CCU3 unter "Direkte Verknüpfungen" nicht finden.
Das ist CCU-seitig auch nicht vorgesehen.
Workarounds findest du z.B. hier viewtopic.php?f=76&t=44943&p=450189#p450189

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

kingmathers
Beiträge: 28
Registriert: 11.02.2020, 01:00
Hat sich bedankt: 3 Mal

Re: HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Beitrag von kingmathers » 22.11.2021, 00:01

Super das scheint schonmal zu klappen.

Muss ich die HMID und Serial immer in der Firmware vor dem kompilieren hinterlegen oder werden diese Werte dann aus dem Bootloader gelesen?

papa
Beiträge: 705
Registriert: 22.05.2018, 10:23
Hat sich bedankt: 24 Mal
Danksagung erhalten: 120 Mal

Re: HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Beitrag von papa » 22.11.2021, 07:13

Wenn USE_OTA_BOOTLOADER gesetzt ist, werden die ID, das Model und die Seiral aus dem Bootloader verwendet. Die Daten im Code werden dann nicht beachtet. Es kann also immer die gleiche Firmware mit makeota.html verwendet werden.
Anfragen zur AskSin++ werden nur im Forum beantwortet

Homematicboy
Beiträge: 11
Registriert: 22.12.2019, 16:24

Re: HB-LC-Sw1PBU-FM mit OTA Bootloader flashen

Beitrag von Homematicboy » 04.02.2022, 20:47

Hallo,

ich würde mir auch gern die alternative Firmeware auf meinen Schalter flashen.
Den Bootloader habe ich auch schon drauf, aber ich bekomme es nicht hin die Datei HB-LC-Sw1PBU-FM.ino mit der Arduino IDE zu kompilieren.
Als Board habe ich wie beschrieben das Jabduino atmega644a eingestellt. Beim Kompilieren bekomme ich aber folgende Warnungen und Fehler:

Code: Alles auswählen

Warning: Board Jabduino:jabduino:atmega644 doesn't define a 'build.board' preference. Auto-set to: JABDUINO_ATMEGA644
Warning: Board Jabduino:jabduino:atmega644a doesn't define a 'build.board' preference. Auto-set to: JABDUINO_ATMEGA644A
Detecting libraries used...
recipe.preproc.macros pattern is missing
Fehler beim Kompilieren für das Board Jabduino ATmega644.
Kann mir jemand sagen was ich in der Arduino IDE ändern muss oder wie ich die Datei kompiliert bekomme?

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“