Hotel-Thermostat-Firmware: Der Hersteller sagt, Flash wird blockweise gelöscht, deshalb keine kleinen Updates. Riskant, das vollständige Image zu übertragen?
Von English mit KI übersetzt ·
Facility Manager eines Hotels mit 120 Zimmern. In jedem Zimmer ist ein Thermostat-Controller eines kleinen Herstellers verbaut, mit einem ESP32 im Inneren, der über das Hotel-WLAN mit Hermetry verbunden ist. Sie wollen einen Fehler beheben, bei dem der Lüfter dauerhaft eingeschaltet bleibt, und planen dafür, die Firmware-Updates von Hermetry zu nutzen.Ich habe gefragt, ob sie nur „den Fix“ schicken können, damit es schneller geht. Der Hersteller hat Nein gesagt: Der Flash könne nur blockweise gelöscht werden, deshalb senden sie immer das komplette 1,4-MB-Image. Das klingt plausibel, aber ich verstehe es nicht wirklich. Meine eigentlichen Sorgen sind, dass 120 Zimmer gleichzeitig über das Gäste-WLAN herunterladen und ein fehlerhaftes Image im November Zimmer ohne Heizung zurücklässt. Ist es riskant, das komplette Image an alle zu senden?
Facility manager at a 120-room hotel. Every room has a thermostat controller from a small vendor, ESP32 inside, connected to Hermetry over the hotel Wi-Fi. They want to fix a bug where the fan stays on, and the plan is to use Hermetry’s firmware updates.
I asked if they could send „just the fix“ to keep it quick. The vendor said no, the flash can only be erased in blocks so they always send the whole 1.4 MB image. That sounds plausible but I don’t really understand it. My real worries are 120 rooms downloading at once on the guest Wi-Fi, and a bad image leaving rooms with no heat in November. Is pushing the full image to all of them risky?
Von English mit KI übersetzt ·
Das mit den Blöcken stimmt, ist aber nicht wirklich der Grund. Flash wird in 4-KB-Sektoren gelöscht und seitenweise geschrieben, daher kann man Bytes nicht direkt an Ort und Stelle patchen. Delta-Updates sind trotzdem möglich: Das Gerät baut das neue Image aus dem alten Image plus Patch in einer Ersatzpartition neu auf. Dafür braucht es zusätzlichen Code auf dem Gerät und ein Patch-Werkzeug auf Herstellerseite. Die meisten kleinen Hersteller machen sich diese Mühe nicht.Der Sicherheitspunkt, nach dem du fragen solltest, ist, ob sie zwei OTA-Partitionen haben. Dann wird das neue Image in die inaktive geschrieben, und das alte bleibt erhalten, falls der Start fehlschlägt.
The block thing is true but not really why. Flash is erased in 4 KB sectors and written in pages, so you can’t patch bytes in place. Delta updates are still possible, the device rebuilds the new image from old image plus patch into a spare partition. It needs extra code on the device and a patch tool on the vendor’s side. Most small vendors don’t bother.
The safety bit you want to ask about is whether they have two OTA partitions. Then the new image goes into the inactive one and the old one is still there if it fails to boot.
Von English mit KI übersetzt ·
Habe sie gefragt. Sie sagen „ota_0 and ota_1 with rollback enabled“, 4 MB Flash. Außerdem signierte Images, was auch immer das für mich bedeutet.
Asked them. They say „ota_0 and ota_1 with rollback enabled“, 4 MB flash. Also signed images, whatever that means for me.
Von English mit KI übersetzt ·
Dann ist das vollständige Image in Ordnung, Delta würde ich mir nicht mehr Gedanken machen. Wir haben letzten Frühling ein 1,6 MB großes Image an etwa 200 Controller in unserem Werk übertragen. Der gestaffelte Rollout hat dafür gesorgt, dass alles ruhig blieb.Bei der Paketzuweisung wählen Sie Jedes Gerät des Profils und aktivieren In Wellen senden. Üblich ist ein Canary-Test mit 1 % (mindestens eins, höchstens zehn), dann 10 %, dann 50 %, dann der Rest, mit 15 bis 30 Minuten Wartezeit dazwischen. Wenn eine Welle mehr als 5 % Fehler hat, pausiert es automatisch. Für ein Hotel würde ich die Wellen anpassen: erste Welle 3 Zimmer, die Sie zu Fuß erreichen, dann ein paar Stunden warten, danach 20, und den Rest über Nacht. Niemand lädt vor seiner Welle herunter, sodass das WLAN nur wenige Geräte gleichzeitig sieht.Weitere Dinge, die uns geholfen haben:
- Testen Sie zuerst mit Einzelgerät-Zuweisungen auf zwei Geräten.
- Der Download-Link läuft nach 15 Minuten ab, aber das Gerät kann erneut anfragen und mit einer HTTP-Range-Anfrage fortsetzen. Ein wackeliges Zimmer ist also kein Desaster.
- Ein Gerät, das nicht mit der neuen Version zurückkommt, wird als Auf alte Version zurückgesetzt angezeigt. Das zeigt, dass Ihr Rollback funktioniert.
Details: Firmware-Rollout in Wellen.
Then the full image is fine, I’d stop worrying about delta. We pushed a 1.6 MB image to about 200 controllers at our plant last spring. The rollout is what made it calm.
On the package assignment pick Every device of the profile and turn on Send in waves. The usual plan is a canary of 1% (at least one, at most ten), then 10%, then 50%, then the rest, with 15-30 minute waits between, and it pauses itself if a wave has more than 5% failures. For a hotel I’d edit the waves: first wave 3 rooms you can walk to, wait a couple of hours, then 20, then the rest overnight. Nobody downloads before their wave, so the Wi-Fi only ever sees a few at once.
Other things that helped us:
- Test with One device assignments on two units first.
- The download link expires after 15 minutes but the device can ask again and resume with an HTTP Range request, so a flaky room isn’t a disaster.
- A device that doesn’t come back on the new version shows as Went back to the old version, that’s your rollback working.
Details: Rolling out firmware in waves.
Von English mit KI übersetzt ·
Wir haben es letzte Woche mit meinen eigenen Wellen gemacht: zuerst 3 Zimmer im 2. Stock, dann 20, dann den Rest um 1 Uhr nachts. Ein Zimmer zeigte in Welle 2 „Nicht für dieses Gerät“, weil dessen Controller eine Version hatte, die älter als die kleinste erlaubte Version des Pakets war, und wurde deshalb übersprungen. Der Hersteller flasht dieses eine manuell. Der Lüfterfehler ist überall sonst behoben. Viel weniger beängstigend, als ich erwartet hatte.
We did it last week with my own waves, 3 rooms on floor 2 first, then 20, then the rest at 1 a.m. One room showed Not for this device in wave 2, its controller was on a version older than the package’s lowest allowed one, so it got skipped. Vendor is flashing that one by hand. Fan bug gone everywhere else. Much less scary than I expected.
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
Mitdiskutieren
Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

