Viessmann API und Node-Red – Teil 1

Überblick

Dies ist ein eigener Abschnitt meines Blogs, der sich an Besitzer von Viessmann Wärmeerzeugern und sonstigen Geräten dieses Herstellers richtet, welche mit dem Internet verbunden sind.

Hier auf die einzelnen Gerätschaften einzugehen, würde zu weit führen, da ich mich primär nur mit meiner Heizanlage auskenne – einer Vitodens 200 W Gastherme mit Vitocontrol 200 und VitoConnect Opto 2 Internet Schnittstelle.

Prinzipiell sind alle neueren Viessmann Vitotronic Heizungssteuerungen (außer Vitotronic 100) dafür ausgelegt, mit dem Internet verbunden zu werden. Das geschieht bei den sogenannten Legacy Geräten über eine optische Schnittstelle namens Optolink – ein Stecker steckt im Viessmann “V” an der Vorderseite des Geräts und ist mit dem Vitoconnect Kästchen verbunden. Bei den neueren One Base (E3) Geräten mit erfolgt die Internetverbindung direkt mit der integrierten  WiFi Connectivity des Geräts – z.B. bei Gasheizgeräten ab  Baujahren von ca. 2020. Kompatibilitätsliste siehe hier (bei unterstützte Regelungen).

Die Variantenvielfalt ist schier unendlich, aber die meisten Hinweise in diesem Blog gelten für alle Arten von ViCare bzw. Viessmann API Implementationen

Otto Normalverwender wird derartige Anlagen meist über die ViCare App auf dem Handy kontrollieren und steuern. Das funktioniert, indem die Anlage über das Vitoconnect- oder integrierte Interface eine Internetverbindung zu den Viessmann Servern aufbaut und diese dann  mit ViCare App auf dem Mobiltelefon kommmunizieren. Kommunikation “über Bande” sozusagen.

Viessmann ist hier also immer “the man in the middle”.  Das hat dann auch den Vorteil, dass die eigene Heizung von überall auf der Welt angefunkt werden kann, ohne dass man irgendwelche Ports am Router freischalten muss. Bei den millionenfach verbauten IP Überwachungskameras funktioniert das genauso.

Manche sehen das auch kritisch, weil Viessmann so eine Menge über unser Heiz- und Kühlverhalten lernt. Ich habe allerdings den Eindruck, dass sich besonders diejenigen darüber aufregen, welche bedenkenlos Whatsapp, Facebook, Google Search und Maps, Youtube verwenden.

Die kommerzielle Seite, nämlich, dass man unter Umständen für das Beziehen seiner eigenen Daten Geld bezahlen muss, sehe ich allerdings auch recht kritisch.

Großartige Sorgen um die Sicherheit der Daten mache ich mir weniger. Der Zugang zu den Viessmann Servern ist ziemlich vernagelt und wohl nur schwer zu knacken – aber wer weiß…

Viessmann API

Irgendwann ist man bei Viessmann wohl auf die Idee gekommen, das Application Program Interface (API) öffentlich zugänglich zu machen, um allen, die sich intensiver mit Internet of Things beschäftigen, eine Möglichkeit zur Integration zu bieten. Hierfür gibt es auch eine Reihe von SAchnittstellen zu Hausautomatisierungslösungen wie FHEM, Open Hab, Home Assistant, Homematic und so weiter.

Das Ganze funktioniert wieder ähnlich wie bei der ViCare App. Die IoT Lösung zuhause funkt den oder die Viessmann Server an, holt sich Daten, verarbeitet diese und stellt sie dar. Ebenso können die Parameter der Anlage (Temperaturen oder Betriebsmodi) eingestellt werden. Auch hier also wieder der “Viessmann in the middle” – rein lokale Lösungen unter Umgehung der Viessmann Server gibt es zwar auch aber die sind meiner Meinung nach nicht so ausgereift und technisch sehr viel anspruchsvoller.

Die kostenfreien Basisfunktionen der API reichen für die meisten Anwendungsfälle aus, weitergehende Abfragen und Funktionen können kostenpflichtig (ViCare+) hinzubestellt werden.

Node-Red

Ich persönlich finde die fertigen Haus Automatisierungssysteme etwas zu komplex und mächtig für meine kleinen Smart Home Anwendungen. Außerdem sind die Smart Home Systeme oft nur mit proprietären Protokollen und Aktoren (Schaltern, Sensoren etc.) und extra Gateway verwendbar und so bei kleinen IoT Installationen auch relativ teuer.

Meine Ansprüche sind deutlich geringer. Mein IoT Zoo enthält neben den üblichen Basteleien mit Shelly Schaltern (über WiFi), selbstgelöteten WiFi Sensoren auf Basis ESP8266, MQTT als Datenprotokoll, einen Raspberry Pi als “Gehirn” mit Node-Red als universeller und leicht erlernbarer Programmierplattform. So bleibt alles unter meiner Kontrolle. Zusätzlich zur Vitodens 200-W B2HB Therme mit VitoConnect Opto2 habe ich noch drei Viessmann Solarthermie Panels, einen Hoxter Heizkamin und einen Viessmann (Italia) Solarcell HSK 1000 Liter Kombispeicher.

Node-Red ist ein graphisches Entwicklungstool zum Programmieren von Abläufen. Es ist wunderbar auf einem Raspberry Pi (ab Pi Zero) lauffähig, wobei ich komplexere Anwendungen eher auf einem Pi 3+ oder Pi 4+ laufen lassen würde.

Neue Raspberry Pi sind zur Zeit (Anfang 2023) leider Mangelware. Ich empfehle, hier auf eBay auszuweichen und sich ein gebrauchtes Teil zu kaufen.

Die Ablauflogik wird über Drag & Drop von sogenannten Nodes (Knoten) realisiert, komplexere Operationen werden in Javascript Funktionsblöcken implementiert. Allgemeine Programmierkenntnisse (z.B. Python oder BASIC) braucht man schon, Javascript ist dem sehr ähnlich und man kommt relativ schnell damit zurecht. Zudem unterstützt der Editor beim Erstellen von Funktionen, indem er auf Fehler hinweist. Gewöhnungsbedürftig ist, dass Zeilen in der Regel mit einem Semikolon abgeschlossen werden müssen. Ferner müssen Variablen immer vorher mit var oder let definiert werden. Dafür ist Javascript ausgesprochen tolerant bei Variablentypen wie String oder Float.

Das Schöne ist, dass es bei Node-Red bereits existierende Verknüpfungen (Interface-Nodes) mit dem Raspberry Pi (GPIO), dem MQTT Protokoll, One Wire Sensoren, Datenbanken und externen Diensten (Wetter,  Astronomie etc.) gibt. Die selbst entwickelten Logiken bzw. Abläufe lassen sich über ein Dashboard visualisieren. Auch einfache Diagramme zur Wertedarstellung sind möglich. Wenn man etwas tiefer einsteigt, sind wirklich sehr hübsche und funktionale Panels realisierbar.

Der erste Schritt ist die Installation von Node-Red auf dem Raspberry Pi. Das Ganze ist hier sehr gut (auf englisch) beschrieben: https://nodered.org/docs/getting-started/raspberrypi

Weiterführende Tutorials gibt es tonnenweie (meist auf englisch) im Internet.

Geplant bzw. verfügbar sind in diesem Blog folgende Artikel:

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert