!Heizkreisverteiler mit Umwälzpumpe und Durchflussmessern an einer Kellerwand
Am 8. September 2026 meldete ein Home-Assistant-Nutzer namens JuRo1971 auf GitHub, seine Viessmann-Integration komme nach dem täglichen Neustart nicht mehr hoch. Im Log stand, das Tageslimit der Viessmann-API sei aufgebraucht: "Max 3000 calls in timewindow." Er wunderte sich, woher 3.000 Anfragen kommen sollten, er habe seit Monaten nichts geändert. Ein zweiter Nutzer meldete sich mit demselben Fehler. Sein Internetanbieter trennt nachts einmal zwangsweise die Verbindung, und danach war das Kontingent jeden Morgen weg.
Die Erklärung lieferte noch am selben Tag Christian Lackas, einer der beiden Betreuer der Integration. Er hatte das Problem zu Hause nachgestellt, und zwar unfreiwillig: Ein Techniker hatte seine Wärmepumpe für Arbeiten vom Netz genommen. In der Zeit feuerte Home Assistant 32 Anfragen pro Minute ab, 67 Minuten lang, dann waren die 3.000 verbraucht. Die Ursache lag nicht bei Viessmann und nicht bei den Nutzern: Nach einem einzigen gescheiterten Abruf war der gemeinsame Zwischenspeicher leer, und jede Entität holte sich ihre Werte danach einzeln aus der Cloud. Zwei Tage später war der Fehler behoben, ausgeliefert mit Home Assistant 2026.9.2.
Die Episode ist typisch für Viessmann in Home Assistant. Die offizielle Anbindung ist gut gepflegt, aber sie hängt an einer Cloud mit einem knappen Tagesbudget, und fast jeder Ärger dreht sich um dieses Budget. Wenn Sie eine Viessmann-Heizung oder -Wärmepumpe haben und wissen wollen, was die Integration kann, warum Ihre Werte nur alle paar Minuten kommen und wann sich der Umstieg auf einen lokalen Weg lohnt: Darum geht es hier, Stand 29. September 2026.
Die Kurzfassung
Der Standardweg ist die Integration "Viessmann ViCare". Sie spricht mit der Viessmann-Cloud, braucht eine eigene Client ID aus dem Viessmann-Entwicklerportal und darf im kostenlosen Tarif 1.450 Anfragen pro Tag stellen. Mit einem einzigen Gerät reicht das für Werte im Minutentakt. Hängen an Ihrem Konto mehrere Geräte, wird der Takt bis Home Assistant 2026.10 entsprechend langsamer. Lokal, also ohne Cloud und ohne Limit, geht es auf zwei Arten: bei älteren Anlagen über die optische Optolink-Schnittstelle, bei der neuen E3-Generation (etwa Vitocal 250-A) über den internen CAN-Bus mit dem Projekt open3e. Beides ist Bastelarbeit und nicht von Viessmann unterstützt.
Die offizielle Integration: Cloud mit eigener Client ID
Die ViCare-Integration gibt es seit Home Assistant 0.99, laut Dokumentation läuft sie auf 1,1 Prozent aller aktiven Installationen. Sie fragt die ViCare-REST-API ab, also dieselbe Cloud, mit der auch die ViCare-App arbeitet. Unterstützt werden laut Dokumentation die meisten neueren vernetzten Viessmann-Geräte, von der Gastherme bis zur Wärmepumpe und Lüftung. Gepflegt wird sie von CFenner und Christian Lackas, der seit April 2026 als zweiter Betreuer eingetragen ist und seither einen großen Teil der Änderungen geschrieben hat.
Vor der Einrichtung müssen Sie einmal ins Viessmann-Entwicklerportal, und zwar mit den Zugangsdaten Ihrer ViCare-App. Dort legen Sie einen neuen API-Client an. Die Home-Assistant-Dokumentation gibt die Werte genau vor:
- Name: HomeAssistant
- Google reCAPTCHA: deaktiviert
- Redirect URI:
https://my.home-assistant.io/redirect/oauth
Seit Home Assistant 2026.6 läuft die Anmeldung über OAuth2 statt über Benutzername und Passwort. Bestehende Installationen wurden beim Update automatisch umgestellt, allerdings mit einem Haken, den die Integration selbst als Reparaturhinweis meldet: Die Redirect URI im Entwicklerportal muss auf die neue Adresse zeigen. Daher kommen die beiden Fehlermeldungen, nach denen laut Google-Vorschlägen viele Leute suchen ("vicare home assistant fehler beim einrichten").
"Invalid redirection URI" bedeutet, dass im Portal die falsche Adresse steht, oder dass Sie eine Client ID aus einer älteren Anleitung verwenden. Manche Anleitungen im Netz nennen die Client ID der ViCare-App selbst, und die erlaubt laut Dokumentation nur die Adresse vicare://oauth-callback/everest, mit der Home Assistant nichts anfangen kann. Legen Sie also immer einen eigenen Client an.
"Client not registered" tritt typischerweise auf, wenn Sie ViCare schon einmal eingerichtet hatten. Home Assistant merkt sich die alte Client ID als sogenannte Anwendungsanmeldedaten und nimmt sie auch nach dem Löschen der Integration wieder. Die Lösung steht in der Dokumentation: unter Einstellungen, Geräte & Dienste, im Drei-Punkte-Menü oben rechts die "Anwendungsanmeldedaten" öffnen, den Viessmann-Eintrag löschen und die Integration neu hinzufügen.
Das Budget: 1.450 Anfragen pro Tag
Die Viessmann-API ist streng begrenzt. Im kostenlosen Tarif "Basic" gelten laut Home-Assistant-Dokumentation zwei Grenzen: 120 Anfragen in zehn Minuten und 1.450 in 24 Stunden. Wer eine davon reißt, ist für 24 Stunden gesperrt. Das Viessmann-FAQ beschreibt das Fenster genauer: Es öffnet sich mit der ersten Anfrage und zählt ab da, bis es abläuft. Ein Tag hat 1.440 Minuten. Die 1.450 sind also ziemlich genau eine Anfrage pro Minute, mit zehn Anfragen Luft für alles andere.
Diese zehn Anfragen sind schnell weg. Jede Temperaturänderung aus Home Assistant zählt mit, und nach der Dokumentation zählt auch jede Benutzung der ViCare-App mit, wenn App und Home Assistant dasselbe Konto verwenden. Ein Neustart kostet dagegen wenig. Lackas rechnete im September-Ticket vor, dass Home Assistant beim Start eine Anfrage für die Liste der Anlagen stellt und dann eine erste Abfrage pro Gerät, zusammen deutlich unter zehn.
Die Integration hält das Budget ein, indem sie ihre Abfragen streckt. Bis einschließlich 2026.9 rechnet sie: 60 Sekunden mal Zahl der Geräte. Mit einem Gerät kommen neue Werte jede Minute. Das Tückische ist, was Viessmann alles als Gerät zählt. Im Juni 2026 wunderte sich ein Nutzer im Ticket #174390, dass seine Werte nur alle 25 bis 35 Minuten kamen. Auf seinem Konto hingen 24 Geräte. Ein anderer sah nur zwei Geräte in Home Assistant und bekam trotzdem nur alle fünf bis sieben Minuten neue Werte. Lackas schaute in dessen Diagnosedaten und fand sieben Gerätekonfigurationen: das Gateway, einen Batteriespeicher Vitocharge, einen Energiemanager, zwei Raumbediengeräte, die eigentliche Wärmepumpe und ein virtuelles Gerät für den Wärmebedarf. Für PV-Überschuss-Automatisierungen, bei denen sich die Lage alle paar Minuten ändert, ist ein Sieben-Minuten-Takt zu träge. Der Nutzer schrieb das auch so: evcc funktioniere nur mit häufigen Updates.
Abhilfe bringt Home Assistant 2026.10, die Anfang Oktober erscheinen soll. Die Änderung #176163 rechnet nicht mehr pro Gerät, sondern pro Gateway. Alle Geräte hinter einem Gateway werden mit einem einzigen Sammelabruf gelesen. Für den Nutzer mit den sieben Konfigurationen hinter einem Gateway heißt das nach Lackas' Rechnung: statt alle sieben Minuten wieder jede Minute. Außerdem wartet die Integration nach einer Sperre künftig bis zum Ende des Sperrfensters, statt es weiter im normalen Takt zu versuchen (#181634).
Mehr Anfragen kaufen kann man dagegen nicht mehr. Auf der Preisseite des Entwicklerportals steht, dass die bisherigen Bezahlpakete eingestellt wurden und nicht mehr erhältlich sind. Neue, "flexible" Pakete seien in Arbeit, einen Termin nennt Viessmann nicht. Der Nutzer aus dem Einstieg hatte übrigens ein Limit von 3.000 statt 1.450 Anfragen, das ist laut Home-Assistant-Dokumentation die Grenze der Bezahltarife. Er gehört also offenbar zu denen, die noch einen haben.
Das trifft eine Gruppe besonders: Wer Viessmann-Heizkörperthermostate oder Raumklimasensoren hat. Laut Home-Assistant-Dokumentation sind diese Geräte nur im teuersten Tarif "Advanced" über die API erreichbar. In den günstigeren Tarifen tauchen sie in Home Assistant schlicht nicht auf. Wenn es "Advanced" nicht mehr zu kaufen gibt, heißt das nach meinem Verständnis der beiden Quellen: Wer heute neu einsteigt, bekommt seine Viessmann-Thermostate über die offizielle Integration derzeit gar nicht zu sehen. Die Dokumentation bittet ausdrücklich darum, Viessmann über dessen FAQ Rückmeldung zu geben, wenn Sie das für eine Einschränkung halten. Ich halte es für eine.
Der Sturm vom September und was Sie daraus mitnehmen
Zurück zum Einstieg. Der Fehler, der die 3.000 Anfragen in einer guten Stunde verbrannte, steckte in der Python-Bibliothek PyViCare, auf der die Integration aufbaut, und in der Art, wie einzelne Sensoren ihre Werte abholten. Er ist mit PyViCare 2.62.1 behoben, das mit Home Assistant 2026.9.2 am 10. September ausgeliefert wurde. Im selben Patch steckt eine zweite Korrektur (#181629): Scheitert schon der Start an einer Sperre, bleibt die Integration nicht mehr dauerhaft im Fehlerzustand hängen, sondern versucht es von selbst wieder.
Daraus folgen zwei praktische Dinge. Erstens: Wenn Sie ViCare nutzen, sollte Ihr Home Assistant mindestens auf 2026.9.2 stehen. Zweitens: Ein Router, der sich nachts neu verbindet, oder ein Vitoconnect mit schwachem WLAN im Keller (so beschrieb der zweite Betroffene seine Lage) sind genau die Auslöser, die auf älteren Versionen das Tagesbudget auffressen. Wenn Ihre Werte morgens regelmäßig auf "nicht verfügbar" stehen, lohnt sich ein Blick ins Log nach PyViCareRateLimitError.
Einen Trick aus den Tickets möchte ich erwähnen, gerade weil ich ihn nicht empfehle. Ein Nutzer ließ die Integration tagsüber alle zwei Minuten per Automatisierung komplett neu laden, weil ein Neuladen den Zwischenspeicher leert und frische Werte holt. Das funktioniert, er schrieb selbst, dass es die Logs zumüllt. Lackas nannte es einen ziemlich groben Hack für wenig Gewinn. Ich sehe das ähnlich: Sie verbrennen Ihr Budget schneller und kommen näher an die 24-Stunden-Sperre. Warten Sie lieber auf 2026.10. Wenn Ihnen auch ein Minutentakt nicht reicht, ist die Cloud grundsätzlich der falsche Weg.
Was die Integration kann, und wo sie Sie überrascht
Die Integration legt Klima-Elemente für die Heizkreise an, ein Warmwasser-Element, Lüfter für Lüftungsgeräte und dazu Sensoren, Schalter und Zahlenwerte, je nachdem, was die API für Ihr Gerät liefert. Über die Zahlenwerte lassen sich etwa Niveau und Neigung der Heizkurve verstellen, über einen Knopf lässt sich eine einmalige Warmwasserladung auslösen.
Bevor Sie Automatisierungen bauen, sollten Sie ein paar Eigenheiten kennen. Sie stehen alle in der Dokumentation, man überliest sie aber leicht.
Zuerst: "Aus" heißt nicht aus. Der HVAC-Modus "off" schaltet die Heizung nicht ab, sondern auf dauerhaft reduzierte Temperatur (bei Viessmann "ForcedReduced"). Und er deaktiviert dabei laut Dokumentation auch die Warmwasserbereitung. Wer im Sommer per Automatisierung "off" setzt, um Strom zu sparen, hat danach womöglich kaltes Wasser. "heat" bedeutet dauerhaft Normaltemperatur, "auto" folgt dem Zeitprogramm der Anlage.
Die Voreinstellungen eco und comfort entsprechen den Viessmann-Programmen gleichen Namens und laufen nach acht Stunden von selbst aus. Eco senkt die Solltemperatur um 3 Grad, Komfort setzt einen Wert, den Sie selbst festlegen.
Und das Warmwasser lässt sich nicht über das Warmwasser-Element abschalten, weil das mit den Betriebsarten der Heizung kollidieren würde. Stattdessen gibt es seit einiger Zeit ein Auswahlfeld für die Warmwasser-Betriebsart, dessen Optionen je nach Gerät unterschiedlich ausfallen.
Für Wärmepumpenbesitzer ist noch eine Kleinigkeit interessant. Ob die Pumpe gerade heizt, zeigt das Klima-Element über den Wert hvac_action. Seit Home Assistant 2026.6 unterscheidet die Integration dabei Heizen und Kühlen anhand der Verdichterphase. Eine Vitocal 150-A meldet allerdings während des Heizens die Phase "ready", und damit stand die Anzeige laut der Änderung #182026 immer auf "idle", obwohl der Verdichter lief. Diese Korrektur kommt ebenfalls mit 2026.10. Bis dahin ist der binäre Sensor für den Verdichter die ehrlichere Quelle.
Schließlich das Wort, das in der Dokumentation unter Fehlersuche steht: GATEWAY_OFFLINE. Die ViCare-Cloud verliert laut Dokumentation "von Zeit zu Zeit" den Kontakt zum Gateway, meist erledigt sich das von selbst. Hält es an, hilft ein Neustart des Gateways. Seit 2026.9 erholen sich die Sensoren nach solchen Aussetzern auch wieder von selbst. Vorher blieben sie mitunter dauerhaft "nicht verfügbar", bis man das Gerät entfernte und neu hinzufügte (#173776).
Ohne Cloud, Weg 1: Optolink bei älteren Anlagen
Viessmann-Regelungen der Vitotronic-Generation haben vorn eine optische Schnittstelle namens Optolink, ursprünglich für den Kundendienst gedacht. Über einen Lesekopf mit Infrarot-Diode lässt sich die Anlage dort direkt auslesen und beschreiben, ohne Cloud und ohne Tageslimit. Die Community nutzt das seit vielen Jahren, das alte openv-Wiki und der Dienst vcontrold stammen noch aus dieser Zeit.
Das aktivste Projekt ist heute der Optolink-Splitter von philippoo66. Sein Kniff steckt im Namen: Der Splitter sitzt zwischen Heizung und Vitoconnect und teilt die Schnittstelle. Home Assistant bekommt lokale Daten über MQTT, und die ViCare-App funktioniert trotzdem weiter. Laut README läuft er mit Vitodens, Vitocal, Vitocrossal und den meisten anderen Geräten mit Optolink, beherrscht beide Protokollvarianten (VS2/300 und VS1/KW) und schreibt Werte über einfache MQTT-Themen. Die Solltemperatur ändern Sie dann zum Beispiel, indem Sie 21.0 an vito/hk1_normal_temperature/set schicken.
Die Hardware ist überschaubar: ein Raspberry Pi, ein Optolink-Lesekopf, entweder das Original von Viessmann oder ein Nachbau, und für den Parallelbetrieb mit Vitoconnect ein USB-TTL-Wandler, das README empfiehlt einen mit CP2102-Chip. Als günstigsten Lesekopf nennt es einen Volkszähler-kompatiblen Kopf für etwa 8 Euro, bei dem man eventuell den Abstand der Dioden anpassen muss. Wer lieber einen ESP32 an die Heizung hängt, findet mit VitoWiFi von bertmelis eine Bibliothek für ESP8266 und ESP32, dann allerdings ohne die Splitter-Funktion. Den Einstieg in ESP32-Bastelei beschreibt unser Artikel zu ESPHome.
Der Preis dafür: Sie brauchen einen MQTT-Broker in Home Assistant, eine Liste der Datenpunkte für Ihr Modell (das Wiki des Splitters sammelt Beispielkonfigurationen) und die Bereitschaft, an Ihrer Heizung herumzuschrauben. Das README sagt es in einem Satz: Benutzung auf eigenes Risiko.
Ohne Cloud, Weg 2: open3e bei der E3-Generation
Die neueren Viessmann-Geräte der Plattform "One Base", in der Community E3 genannt, haben keine Optolink-Schnittstelle mehr. Dazu gehören etwa die Vitocal 250-A, neuere Vitodens-Gasthermen und der Batteriespeicher Vitocharge VX3. Sie reden intern über einen CAN-Bus, jenes Protokoll, das Bosch in den Achtzigern für Autos entwickelt hat. Viessmann hat laut dem open3e-Wiki gleich die Diagnoseprotokolle aus der Autowelt mit übernommen: UDS über CAN, und über das Netzwerk DoIP. Ihre Wärmepumpe spricht also im Grunde wie ein Motorsteuergerät.
Das Projekt open3e nutzt genau das. Ein USB-CAN-Adapter wird an den CAN-Bus der Anlage angeschlossen, open3e liest die Datenpunkte und stellt sie per MQTT bereit. Für Home Assistant gibt es ein Add-on, das open3e direkt auf dem Home-Assistant-Rechner laufen lässt (nur unter Home Assistant OS oder Supervised), und die Integration open3e-ha von MojoOli, die sich über HACS installieren lässt und Geräte und Entitäten selbst anlegt. Laut README unterstützt sie Vitocal, Vitoair, Vitodens und Vitocharge. Wie HACS funktioniert, steht in unserer HACS-Anleitung.
Als Adapter nennt das Wiki den USB2CAN von INNO-Maker. Ein zweiter für rund 20 Euro, auf Basis des offenen CANable-Designs, funktioniert laut Wiki ebenfalls mit einer Vitocal 250, hat aber keine galvanische Trennung. Adapter mit der üblichen SLCAN-Firmware gehen dagegen nicht, weil open3e auf SocketCAN setzt. Der Bus läuft mit 250 kbit/s. Nach der Einrichtung und nach jedem Firmware-Update muss open3e die Anlage einmal komplett erfassen, das dauert laut README meist 10 bis 20 Minuten.
Auch hier gilt: Das ist kein Viessmann-Produkt, und Sie greifen auf interne Datenpunkte zu. Dafür bekommen Sie, was die Cloud nicht liefert: Werte so oft, wie Sie wollen, und keine Abhängigkeit davon, ob Viessmann seine Tarife morgen wieder ändert. Einer der Betroffenen aus dem September-Ticket schrieb, er überlege gerade deshalb, Viessmann nicht mehr alle seine Daten zu geben, und sich nach einer Lösung "100 % cloud free" umzusehen.
Welcher Weg zu Ihrer Anlage passt
Die erste Frage ist, welche Generation bei Ihnen im Keller steht. Die Antwort gibt philippoo66, der beide Projekte begleitet, in den open3e-Tickets immer auf dieselbe Weise: Schauen Sie, ob Ihre Regelung eine Optolink-Schnittstelle hat. Wenn ja, ist der Splitter der richtige Weg. Wenn nein, nennen Sie die ersten sieben Ziffern der Herstellnummer vom Typenschild, dann lässt sich klären, ob die Anlage einen CAN-Bus hat. Im Januar 2026 fragte zum Beispiel ein Besitzer einer Sole-Wasser-Wärmepumpe Vitocal 300-G mit Regelung Vitotronic 200, ob open3e bei ihm geht. Antwort: nein, die Anlage hat Optolink, nimm den Splitter.
| Ihre Lage | Empfehlung |
|---|---|
| Ein Gerät, Werte zum Ansehen, keine Bastellust | ViCare-Integration, eigene Client ID, mindestens 2026.9.2 |
| Mehrere Geräte auf dem Konto, Werte zu träge | auf 2026.10 aktualisieren, dann rechnet die Integration pro Gateway |
| Viessmann-Heizkörperthermostate einbinden | über ViCare derzeit nur mit altem Advanced-Tarif, Preisseite prüfen |
| Ältere Anlage mit Vitotronic und Optolink | Optolink-Splitter mit Raspberry Pi, ViCare-App läuft weiter |
| E3-Gerät wie Vitocal 250-A, ohne Optolink | open3e mit USB-CAN-Adapter, Add-on plus open3e-ha |
| PV-Überschuss im Minutentakt steuern | lokaler Weg, oder SG Ready über Relais |
Unterm Strich ist Viessmann eine Marke mit zwei Gesichtern. Die offizielle Integration ist ordentlich gebaut und wird gerade sichtbar besser, die beiden Betreuer reagieren auf Fehler innerhalb von Tagen. Das Problem liegt eine Ebene tiefer: Viessmann gibt Ihnen für Ihre eigene Heizung eine Anfrage pro Minute, hat die Möglichkeit abgeschafft, mehr zu kaufen, und sperrt die Thermostate hinter einem Tarif, den es nicht mehr gibt. Nibe liefert Modbus ab Werk. Bei Viessmann muss die Community den Zugang selbst bauen, per Infrarot-Lesekopf oder CAN-Adapter. Dass sie das so gründlich getan hat, ist bemerkenswert. Ein Kompliment an Viessmann ist es nicht.
Quellen: Home Assistant, Integrationsdokumentation "Viessmann ViCare" (Stand 2026.9.4: Einrichtung im Entwicklerportal, Redirect URI, bis zu eine Stunde Aktivierung, PKCE, API-Limits 120 pro 10 Minuten und 1.450 pro 24 Stunden, 3.000 in Bezahltarifen, Thermostate nur im Advanced-Tarif, HVAC-Modi, Presets, Fehlersuche, 1,1 % der Installationen, seit 0.99) · home-assistant/core, manifest.json der Integration vicare (PyViCare 2.62.1, Codeowner CFenner und lackas) · Viessmann Developer Portal, Seite "Packages and pricing" (Bezahlpakete eingestellt, abgerufen 29.09.2026) und FAQ (Zählweise mit gleitendem Fenster, 1.450 Aufrufe in 24 Stunden) · GitHub home-assistant/core, Issue #181620 (JuRo1971, 08.09.2026; Kommentare lackas und Tech-no-1 bis 10.09.2026) · Issue #174390 (Analytics-rock, 21.06.2026; Kommentare lackas und futurehouse4 bis 31.08.2026) · Pull Requests #165621 (OAuth2, gemergt 07.05.2026, ab 2026.6), #168169 (zusätzlicher Codeowner, 14.04.2026), #173776 (Coordinator, ab 2026.9), #176163 (ein Coordinator pro Gateway, ab 2026.10), #181629 und #181830 (2026.9.2), #181634 und #182026 (ab 2026.10), #171945 (Verdichterphase, ab 2026.6) · GitHub philippoo66/optolink-splitter, README (Protokolle VS1/KW und VS2/300, Hardware, MQTT-/set-Themen) · GitHub bertmelis/VitoWiFi · GitHub open3e/open3e, README und Wiki (Kapitel 020 CAN-Adapter, 055 CAN-Bus, UDS, DoIP, 090 Home Assistant), Issues #316 (mibr85, 11.01.2026) und #100 (wunderbaum, Mai 2024) · GitHub MojoOli/open3e-ha, README (Version 1.0.18 vom 04.06.2026) · Google-Suggest-Abfragen zu "viessmann home assistant" und "vicare home assistant" (29.09.2026)