Umsetzungsstand MQTT/FMM003 nachtragen: Zertifikate erzeugt, DuckDNS/Dual-Stack bestätigt, Cloudflare-Frage geklärt
- Eigene CA + Server-/Client-Zertifikate erzeugt und Mosquitto konfiguriert - Dateinamen-Endungs-Stolperstein am FMM003-Configurator dokumentiert (.pem/.pem.crt/.pem.key) - Dual-Stack am Router bestaetigt, Portfreigabe-Risiko damit ausgeraeumt - Klargestellt: Cloudflare ersetzt DuckDNS+Portfreigabe+Mosquitto nicht, sondern ergaenzt sie fuer einen anderen Zweck (App-Erreichbarkeit statt Fahrzeug-MQTT) - AGENTS.md Open-Items-Liste entsprechend abgehakt
This commit is contained in:
@@ -165,6 +165,11 @@ Entschlüsseln des binären Codec8-Protokolls. Das Gerät liefert die Daten dann
|
||||
Exakte eigene Werte erst bei der Inbetriebnahme festlegen.
|
||||
- **TLS ist Pflicht, nicht optional:** ohne hochgeladene Zertifikate arbeitet MQTT nicht. Zertifikat,
|
||||
privater Schlüssel und Wurzelzertifikat werden im Configurator unter *Security* hinterlegt.
|
||||
- **Dateinamen-Endung ist strikt geprüft (2026-08-11, live am Configurator beobachtet):** hochgeladene
|
||||
Dateien müssen auf `.pem`, `.pem.crt` oder `.pem.key` enden, sonst Fehler „File format is not valid
|
||||
or not supported". Reiner Inhalt (PEM-Format) reicht nicht, die Endung muss stimmen. Schema folgt
|
||||
offenbar der AWS-IoT-Download-Konvention: Root-Zertifikat `*.pem`, Geräte-Zertifikat `*.pem.crt`,
|
||||
privater Schlüssel `*.pem.key`. Eigene CA-Dateien entsprechend umbenennen, nicht nur `.crt`/`.key`.
|
||||
- **Firmware-Abhängigkeit:** Codec JSON ist nicht in jeder Firmware enthalten (bei mehreren
|
||||
Modellen erst ab 03.28.00 dokumentiert). Der Besitzer bestätigt, dass es auf diesem Gerät
|
||||
verfügbar ist — vor der Inbetriebnahme trotzdem die Firmware-Version notieren.
|
||||
@@ -341,10 +346,23 @@ else in this document:
|
||||
Privatfahrzeug. Betrifft nur den Weg Fahrzeug→Zuhause und ist unabhängig von der Anbindung der
|
||||
App (§4, dort bleibt es bei Cloudflare Tunnel — kein Widerspruch, siehe dort die Begründung, warum
|
||||
ein eng begrenzter, zertifikatsgesicherter Port etwas anderes ist als HA selbst offenzulegen).
|
||||
**Noch zu erledigen:** stabile öffentliche Adresse fürs Zuhause (feste IP oder DynDNS-Hostname)
|
||||
und die Portfreigabe am Router selbst — beides erst bei der Inbetriebnahme.
|
||||
2b. **TLS-Zertifikate für Mosquitto und das Gerät** — bei der Inbetriebnahme zu erzeugen; ohne sie
|
||||
verweigert der FMM003 die MQTT-Verbindung.
|
||||
**Umsetzungsstand (2026-08-11):** DuckDNS-Hostname `datametric360.duckdns.org` angelegt und als
|
||||
Add-on in HA eingerichtet (inkl. eigenständigem Let's-Encrypt-Zertifikat für die HA-Oberfläche
|
||||
selbst — unabhängig von den MQTT-Zertifikaten unten, siehe dortige Anmerkung). Router bestätigt
|
||||
**Dual-Stack** (kein DS-Lite) — die Portfreigabe funktioniert damit grundsätzlich. **Noch offen:**
|
||||
die Portfreigabe selbst am Speedport Smart 4 Plus.
|
||||
|
||||
Nebenbei geklärt: ein Vorschlag, stattdessen komplett auf Cloudflare zu setzen, wurde geprüft und
|
||||
**ist keine Alternative** — Cloudflare Tunnel kann kein rohes MQTT/TCP transportieren (nur HTTP),
|
||||
der FMM003 kennt außerdem kein Tunnel-Konzept, nur IP/Domain+Port. Bleibt bei der klaren Trennung:
|
||||
Cloudflare Tunnel für die App (§4), Portfreigabe+DuckDNS nur für die Fahrzeug-MQTT-Verbindung.
|
||||
2b. **TLS-Zertifikate für Mosquitto und das Gerät** — ✅ **ERLEDIGT (2026-08-11):** eigene private CA
|
||||
(10 Jahre gültig) erzeugt, Server-Zertifikat (CN `datametric360.duckdns.org`) und Client-Zertifikat
|
||||
für das Gerät signiert, beide gegen die CA verifiziert. Mosquitto ist mit `certfile`/`keyfile`/
|
||||
`cafile`/`require_certificate: true` konfiguriert. **Noch offen:** die drei Geräte-Dateien (Root,
|
||||
Client-Zertifikat, privater Schlüssel) müssen noch in den FMM003-Configurator hochgeladen werden —
|
||||
dabei auf die Dateinamen-Endung achten (siehe Anmerkung oben bei „Dateinamen-Endung ist strikt
|
||||
geprüft").
|
||||
3. **Reverse-proxy add-on: Nginx Proxy Manager vs. Traefik** — both viable (§4), pick deferred to the
|
||||
next audit pass. Doesn't depend on the FMM003 — could be set up and tested against HA's existing API
|
||||
before the hardware arrives, if worth doing ahead of time.
|
||||
|
||||
Reference in New Issue
Block a user