Skip to content

Releases: Moritz-Staat/ESPSomfy-RTS

v2.4.9 — MQTT über TLS

Choose a tag to compare

@Moritz-Staat Moritz-Staat released this 06 Sep 14:43

Erster nutzbarer Release dieses Forks. Basis ist eb75868, der letzte Upstream-Commit vom 19. August 2024.

Was neu ist

MQTT über TLS. connect() wertet das vorhandene protocol-Feld jetzt aus: alles was mit mqtts beginnt bekommt einen WiFiClientSecure, der erst bei Bedarf angelegt wird. Damit lässt sich ein Broker außerhalb des eigenen Netzes benutzen, ohne Zugangsdaten im Klartext zu verschicken — und damit ein Controller in einem fremden Haushalt erreichen, ohne dort zusätzliche Hardware aufzustellen. Der TLS-Stack war über den OTA-Client längst eingebunden, das kostet also kein Flash.

Zwei Nebenwirkungen, die dazugehören: der Handshake läuft innerhalb von PubSubClient::connect() und ist deshalb aus dem Task-Watchdog ausgeklammert, sonst rebootet ein nicht erreichbarer Broker das Gerät. Und publishBuffer schreibt in 512- statt 128-Byte-Häppchen, weil über TLS aus jedem write() ein eigener Record mit rund 29 Byte Overhead wird.

Home-Assistant-Discovery reparieren. via_device trug dieselbe Kennung wie das Gerät selbst; Home Assistant 2026.9.0 lehnt das ab („A device can not be its own via device") und die Rollos erscheinen gar nicht. Upstream-Issue rstrouse#684. Das Feld entfällt.

Discovery-Topics tragen die Controller-Kennung. Vorher ging die Konfiguration an <prefix>/cover/<shadeId>/config — zwei Controller an einem Broker überschrieben sich damit gegenseitig. Jetzt steht die serverId als node_id im Pfad: homeassistant/cover/<serverId>/<shadeId>/config.

OTA zeigt auf diesen Fork. Sonst ließe sich ein Gerät mit diesem Build zum Downgrade auf eine Upstream-Version überreden.

Was noch nicht geprüft ist

Der Code kompiliert für alle vier Boards, ist aber noch nicht auf echter Hardware gelaufen. Ob die TLS-Verbindung dauerhaft hält und der Heap reicht, muss ein Gerät am Broker zeigen — eine offene TLS-Sitzung hält rund 20–35 KB. Erst am eigenen Gerät testen.

Dateien

Datei Wofür
SomfyController.onboard.esp32.bin.zip erste Installation über USB, enthält alles
SomfyController.ino.esp32.bin Firmware allein, für OTA
SomfyController.littlefs.bin Dateisystem mit dem Web-UI

Für S2, S3 und C3 liegen die entsprechenden Dateien ebenfalls bei.

Doku

  • ANLEITUNG.md — Einrichtung im fremden Haushalt bis zur Sprachsteuerung
  • WISSEN.md — gesammelte Befunde zur Firmware, Messwerte, verworfene Wege
  • FORK.md — was geändert wurde und warum

Seit v2.4.8

  • unpublishDisco() und der Aufräumpfad gelöschter Rollos leeren zusätzlich die Discovery-Topics vor v2.4.8, die die Controller-Kennung noch nicht trugen (#3). Beim Start wäre das falsch: hängt am selben Broker noch ein Controller auf dem alten Build, wischte man dessen aktive Konfiguration weg.
  • Die Protokoll-Auswahl im Web-UI schlägt beim Umschalten den passenden Port vor — 8883 für MQTTS, 1883 für MQTT (#4).