Viessmann API und Node-Red – Teil 1

Dies ist eine eigene Serie in meinem Blog, die sich an Besitzer von Viessmann Wärmeerzeugern und sonstigen Geräten dieses Herstellers richtet, welche mit dem Internet verbunden sind.

Überblick

Prinzipiell sind alle neueren Viessmann Steuerungen mit E3 Plattform oder  Vitotronic  (außer Vitotronic 100) dafür ausgelegt, mit dem Internet verbunden zu werden.

Die Variantenvielfalt der Viessmann Geräte ist schier unendlich. Die meisten Hinweise in diesem Blog gelten trotzdem für alle Arten von ViCare bzw. Viessmann API Implementationen. Auf einzelne Modelle einzugehen, würde zu weit führen, zumal ich mich primär nur mit meiner eigenen Heizanlage auskenne.

Die Verbindung ins Internet 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  erfolgt die Internetverbindung direkt mit der integrierten  WiFi Connectivity des Geräts – z.B. bei Gasheizgeräten ab  Baujahren ab ca. 2020. Kompatibilitätsliste siehe hier (bei unterstützte Regelungen).

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, Rasenmäh- und Putzrobotern 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 Schnittstellen 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, inoffizielle  Lösungen unter Umgehung der Viessmann Server gibt es zwar auch aber die sind meiner Meinung nach nicht so ausgereift und von der Umsetzung her 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 3B+ oder Pi 4B 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.

Ferner empfehle ich, dass der Raspberry Pi mit einer SSD Festplatte versehen wird, wenn man einmal über das Experimentierstadium hinaus ist. Allermindestens sollte eine 32GB  oder 64GB SD Karte verwendet werden. Unsere Software Komponenten schreiben jede Menge Logs auf die “Platte”. Auch wenn diese Logs nach einiger Zeit gelöscht werden, eine SD Karte verträgt  nur eine begrenzte Anzahl von Lösch-/Schreibzyklen. Bei einer großen Kapazität sorgt das Disk Management für eine bessere Verteilung. Statt einer SSD Festplatte kann man auch einen USB Stick mit entsprechender Kapazität verwenden. Wie Datenträger am USB Port eingerichtet werden, steht vielfach beschrieben im Internet.

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.

Mein Energie-Dashboard mit Heizkreis-Temperatureinstellung

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

 

Ein Gedanke zu „Viessmann API und Node-Red – Teil 1

  1. Wie im richtigen Leben 😉 Man trifft nicht oft jemanden der einen versteht, aber im Grunde verfolge ich die gleiche “Strategie” in Bezug auf mein “SmartHome” und eben auch auf die Viessmann-API. Die Heizung ist/war nicht mein “zentrales” Problem wohl aber das kostspieligste und so wird es zwangsläufig zu Einem!
    Habe trotz WP (noch) keinen Smartzähler und so lag der Gedanke nicht weit endlich den “alten” SmartPi (V1!) aus der Schublade zu holen, läuft zur Zeit auf RasPi2 (wegen Stromverbrauch), WLAN nützt im Metallschaltschrank wenig 😉 ) aber immerhin war auch schon NodeRed und MQTT in der “Firmware” vorgesehen, mit 2 x 16 LCD-Matrix sieht das ganze aus wie ein richtiger Zähler und man kann sich an diesem Projekt mit “echten” Problemen so richtig mit NodeRed austoben bzw. viel lernen. Z.B. eine “Bedienoberfläche” und eben viel mehr zu kreieren, incl. RasPi Systemparameter (u.a. Temp, RAM sowie Reset und Shutdown) 🙂 Als “SmartHome” ist (nicht nur erstmal) der ioBroker vorgesehen, nicht zuletzt durch die relativ einfache Unterstützung der “Tasmota” (Sonoff) -Welt die kostengünstig eine sehr breite Palette von Sensoren und Aktoren ermöglicht aber auch all die anderen Adapter mit ihren fantastischen Möglichkeiten incl. der Viessman-API. Freu mich auf mehr 🙂

Schreibe einen Kommentar

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