Fakten, Schlussfolgerungen und eine moralische Betrachtung zum TCU301-Gateway der Viessmann E3-Generation.
Dieser Post ergänzt die laufende Diskussion um die abgeschaltete Developer-API (PACKAGE_NOT_PAID_FOR seit 10.02.2026) um eine weitere Perspektive: Was steckt eigentlich in dem TCU301-Gateway, das in unseren Geräten verbaut ist – und welche Software läuft darauf?
Hinweis zur Methodik
Dieser Post kennzeichnet jede Aussage explizit:
[FAKT] – Direkt technisch verifiziert und reproduzierbar
[SCHLUSS] – Logische Folgerung aus Fakten, aber nicht direkt bewiesen
[FRAGE] – Offene Frage, von außen nicht klärbar
[MEINUNG] – Persönliche Bewertung
Alle Messungen wurden lokal im eigenen Netzwerk durchgeführt (nmap vollständiger TCP-Portscan aller 65.535 Ports, curl auf Port 80, nc-Verbindungstests).
Was wir wissen (Fakten)
[FAKT] Das TCU301-Gateway betreibt auf Port 80 eine Lizenzseite mit allen verwendeten Open-Source-Paketen. Diese ist gesetzlich vorgeschrieben und von uns vollständig ausgelesen worden.
[FAKT] Lizenzverteilung (Anzahl Lizenz-Referenzen, direkt gezählt):
GPL-2.0-or-later 133 ← größte Gruppe
BSD-3-Clause 67
GPL-2.0-only 61
MIT 46
LGPL-2.1-or-later 39
BSD-2-Clause 22
ISC 12
Apache-2.0 10
LGPL-2.1-only 8
LGPL-2.0-only 6
MPL-2.0 2
EPL-2.0 2
... weitere ~50
─────────────────────
Gesamt: 460+ davon 194x GPL, 53x LGPL[FAKT] Installierte Pakete (Auszug, direkt aus der Lizenzseite):
Linux Kernel 6.1.28 GPL-2.0-only
bash GPL-2.0-or-later
busybox GPL-2.0-only
systemd LGPL-2.1-or-later
mosquitto EPL-2.0 ← MQTT-Broker
libmosquitto1 EPL-2.0
zeromq MPL-2.0
openssh BSD/ISC
openssh-sshd BSD/ISC ← SSH-Daemon installiert
openssh-sftp-server BSD/ISC
avahi-daemon LGPL-2.1-or-later
dnsmasq GPL-2.0-or-later
can-utils GPL-2.0-only
can-isotp GPL-2.0-only
iptables (+~100 Module) GPL-2.0-or-later
connman GPL-2.0-only
glibc LGPL-2.1-or-later
swupdate GPL-2.0-or-later
optee-client BSD-2-Clause ← TEE / Secure Boot Client
optee-os-stm32mp BSD-2-Clause
tf-a-stm32mp BSD-3-Clause ← ARM Trusted Firmware
u-boot-stm32mp GPL-2.0-or-later
... (200+ Pakete gesamt)[FAKT] Portscan aller 65.535 TCP-Ports (nmap -sS -sV -p- --open -T4, lokal durchgeführt):
Port 80/tcp HTTP OFFEN → statische Lizenzseite, kein API
Port 22/tcp SSH CLOSED → openssh-sshd installiert, aber blockiert
Port 1883/tcp MQTT CLOSED → mosquitto installiert, aber blockiert
Port 4712/tcp EEBus CLOSED → embedded-websocket-library installiert, blockiert
Port 13400/tcp DoIP CLOSED → nicht erreichbar
72 weitere Ports: silently gefiltert (aktive Firewall)[FAKT] Verbindungstest (nc -zv) bestätigt für alle oben genannten Ports: „Connection refused“. Der HTTP-Server auf Port 80 gibt keinen Server:-Header zurück – die Webserver-Software ist nicht identifizierbar.
Was wir schlussfolgern (nicht direkt bewiesen)
[SCHLUSS] mosquitto ist als MQTT-Broker-Paket installiert. Da Port 1883 nach außen geschlossen ist, wird es – falls aktiv – nur intern verwendet. Wofür genau, ist von außen nicht einsehbar.
[SCHLUSS] openssh-sshd ist als Paket installiert, Port 22 nach außen geschlossen. Ob der Daemon aktiv läuft und ob Viessmann ihn für Fernwartung nutzt, können wir nicht von außen bestätigen.
[SCHLUSS] optee-client, optee-os-stm32mp und tf-a-stm32mp (ARM Trusted Firmware) sind installiert – das ist die klassische Secure-Boot-Kette für STM32MP-Prozessoren. Ob Secure Boot aktiv ist und das Einspielen modifizierter Software verhindert, ist von außen nicht verifizierbar.
[SCHLUSS] 133 Pakete sind „GPL-2.0-or-later“ lizenziert – sie dürfen unter GPL-3.0 genutzt werden. Ob Viessmann sie als GPL-2.0 oder GPL-3.0 einsetzt, ist nicht dokumentiert, macht aber einen erheblichen lizenzrechtlichen Unterschied.
Was wir nicht wissen (offene Fragen)
[FRAGE] Läuft mosquitto aktiv als Daemon? Für welchen Zweck? (Interne IPC? Cloud-Kommunikation? Nur installiert, nicht aktiv?)
[FRAGE] Nutzt Viessmann SSH-Fernzugriff auf die Geräte im Feld? Oder ist SSH nur für lokalen Werkszugang vorhanden?
[FRAGE] Ist Secure Boot aktiv und verhindert es den Austausch von LGPL-Bibliotheken? Das wäre eine mögliche LGPL-Verletzung.
[FRAGE] Welche GPL-Version wählt Viessmann für die „or-later“-Pakete? GPL-2.0 oder GPL-3.0? Das ist entscheidend für die Tivoization-Frage.
[FRAGE] Hat Viessmann eigene Patches an GPL-Paketen (Linux-Kernel, can-isotp) vorgenommen, ohne diese zu veröffentlichen?
Die lizenzrechtliche Dimension
Formal erfüllt Viessmann die Mindestanforderungen: Lizenzseite vorhanden, Lizenztexte zugänglich. Es gibt jedoch Graubereiche:
1) LGPL und Bibliotheksaustausch [FRAGE/SCHLUSS]
Die LGPL erlaubt die Einbettung in proprietäre Produkte – aber unter einer Bedingung: Nutzer müssen die LGPL-Bibliothek gegen eine modifizierte Version austauschen können. 53 LGPL-lizenzierte Pakete sind verbaut (glibc, systemd, avahi u.a.). Falls der TEE-Stack (OP-TEE) oder Secure Boot den Austausch verhindert, wäre das eine mögliche LGPL-Verletzung. [FRAGE] Das können wir von außen nicht abschließend beurteilen.
2) Tivoization und GPL-3.0 [SCHLUSS/FRAGE]
GPL-3.0 §6 („Installation Information“) verpflichtet Hersteller von Consumer Products dazu, Installationsanweisungen für modifizierte Software bereitzustellen – explizit um Fälle wie diesen zu verhindern. GPL-2.0 hat diese Klausel nicht. 133 der verwendeten Pakete sind „GPL-2.0-or-later“ – also potenziell GPL-3.0-pflichtig. Ob Viessmann sie als GPL-2.0 oder GPL-3.0 einsetzt, ist nicht dokumentiert [FRAGE]. Zuständig für solche Fragen: https://sfconservancy.org/copyleft-compliance/
3) Was eindeutig ist [FAKT + MEINUNG]
Viessmann veröffentlicht keine eigenen Beiträge zurück an die Open-Source-Community, betreibt ein vollständig abgeriegeltes Gerät auf gemeinschaftsentwickelter Software, und bewirbt es im Verkaufsprospekt (9444 803-2 DE, Stand 09/2025) als „offene Plattform für alle digitalen Services“.
Die moralische Dimension [MEINUNG]
Open-Source-Software lebt davon, dass Nutzende – auch kommerzielle – etwas zurückgeben: Code, Dokumentation, Bug-Reports. Viessmann baut ein Gerät auf ~200 Open-Source-Paketen auf, spart damit erhebliche Entwicklungskosten, gibt nichts zurück, riegelt das Gerät vollständig ab und schaltet die einzige externe Schnittstelle (Developer-API) am 10.02.2026 ab – während im Verkaufsprospekt noch „nahtlose Smart-Home-Integration“ versprochen wird. Das steht im direkten Widerspruch zum Geist der Software, auf der das Gerät läuft. Das ist unsere Meinung – jede und jeder kann das selbst bewerten.
Reproduzierbarkeit
Alle Fakten können von jedem TCU301-Besitzer selbst nachgeprüft werden (IP des eigenen Geräts einsetzen):
curl http://<IP-des-TCU301>/
curl http://<IP-des-TCU301>/ | grep -oP "licenses/[^/]+" | cut -d'/' -f2 | sort -u
curl http://<IP-des-TCU301>/ | grep -oP "generic_[A-Za-z0-9.+-]+" | sort | uniq -c | sort -rn
nmap -sS -sV -p- --open -T4 <IP-des-TCU301>
Weiterführende Kontakte
GPL/LGPL-Compliance:
Software Freedom Conservancy – https://sfconservancy.org
FSFE (Free Software Foundation Europe) – https://fsfe.org/contact/
Irreführende Werbung (§5 UWG):
Wettbewerbszentrale – mail@wettbewerbszentrale.de
Verbraucherzentrale BW – info@vz-bw.de
Für mich grenzt das an Betrug. Ich bin schwer enttäuscht und bereue die Entscheidung für Viessmann. Auch verstehe ich nicht, warum Viessmann seinen Kunden das Leben so schwer macht. Schließlich will ich nur Daten von meiner eigenen Wärmepumpe (für die ich einen 5stelligen Betrag bezahlt habe) nutzen. Viessmann sollte sich überlegen den Product Manager zu ersetzen, Kundenfreundlichkeit geht anders und Anbindung an ein SmartHome-System ist heute eigentlich Standard.
| Benutzer | Anzahl |
|---|---|
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |