Viessmann Heizung VScotHO1: Daten auslesen

Langfristiges Ziel von mir war es über mein Smarthome System sehen zu können, wenn die Heizung in eine Störung gelaufen ist und allgemein was die Heizung und die Solarthermie so treiben.

Eine Heizung von Viessmann besitzt eine serielle Diagnose-Schnittstelle (Infrarot) etwas „versteckt“ hinter der grünen Betriebs-LED (rechts) und der roten Störungs-LED (links). Es gibt im Netz mehrere aufwändige oder weniger aufwändige elektronische Schaltungen mit IR-LEDs um mit dieser Schnittstelle zu kommunizieren. Viele Informationen findet man im Wiki von Openv auf github hier. Da ich wie immer die Schaltung so simpel wie möglich haben wollte, habe ich mir in diesem Wiki die Variante mit einem ESP8266 (mit dem Wemos D1 mini habe ich ja bereits die Wortuhr gebaut) genauer angesehen. Die nötigen Widerstände, den IR-Transistor (SFH 309 FA) sowie die IR-LED (SFH 487P OSO) habe ich bei Reichelt für kleines Geld bestellt.

Nach Lieferung schnell auf einem Breadboard zusammen gesteckt, den Mikrocontroller mit einem einfachen Sketch (Wifi-Serial-Bridge), welches es zu Hauf im Netz gibt, bespielt und mit einer TV-Fernbedienung schonmal den Empfang von IR-Signalen getestet. Leider musste ich die Fernbedienung, welche schon eine recht starke LED besitzt, bis auf unter einem Zentimeter an den Transistor halten um etwas zu Empfangen. Da konnte etwas nicht stimmen, aber was? Zig mal habe ich die doch recht überschaubare Schaltung überprüft und die Bauteile angezweifelt.

Schließlich bin ich über eine Antwort auf einen von mir erstellten Forumbeitrag auf die Lösung gekommen. Der Pin, den ich für den Empfang verwendet habe (RX), ist anscheinend mit einem Widerstand versehen. Vielleicht hätte ich den auch mit „pinMode“ umstellen können. Ich habe aber letztlich mit SoftwareSerial auf die Pins D1 und D2 gewechselt und alles war super.

Für weitere Tests habe ich die Schaltung auf eine Lochrasterplatine gelötet. In der Größe der rechteckigen Aussparung an der Heizung eine Hartschaumplatte geschnitten, 2 Lagen übereinander geklebt um mehr Abstand zubekommen, 2 Löcher für die LED und den Transistor reingebohrt und letztlich wieder ca. 2 mm abgeschliffen damit meine LED/Transistor genau vor denen der Heizung sitzen.

Die Schnittstelle, welche meinen Smarthome-Server mit der Heizung verbindet bzw. die Befehle sendet, habe ich per php-Script auf meinem Synology NAS umgesetzt:

Hier zeige ich Euch, wie ihr die Socket-Verbindung zum Mikrocontroller aufbaut und das vito_interface benutzen könnt:

Ich frage minütlich alle Werte ab und visualisiere mir das Ganze in EDOMI:

Categories: Allgemein