Rainer-Rebhan

Hausautomatisierung

VVT Manager (Viessmann VitoTronik)

Auslesen, Auswerten und Übertragen von Daten einer Viessmann-Heizungsregelung.

Moderne kompakte Heizungsanlagen verfügen immer über eine elektronische Steuerung und Regelung der Heizungsaggregate. Im Mittelpunkt steht der Wärmeenergie-Erzeuger mit den Sensoren und Pumpen zur Wärmeverteilung und Warmwasseraufbereitung. Die optimale Regelung der Wärmeenergieerzeugung und Verteilung ist ein wesentlicher Beitrag zur Schonung unserer Umwelt. Die elektronische Regelung ermitteln über Temperatur-Sensoren ( Innen-, Aussen-, Warmwasser-, Kessel-, Vorlauf - usw.) Temperaturen und steuert dann Pumpen zum Wärme-Austausch und zur Wärme-Verteilung. Die Informationen über die Einstellungen und die aktuellen Soll/Ist-Werte werden auf einem Display zusammengefasst und können angepasst bzw. verändert werden. Die optimale Anpassung und Funktion dieser Regelung ist ein wichtiger Punkt bei der Energieeinsparung.
Zum Auslesen der Regelungs-Informationen (über Datenpunkte) wurden mehrere Geräte gebaut um den VVT-Manager zu realisieren. VVT steht hierbei für die Viessmann-VitoTronic Regelung. So sind (z.B.) die Informations-Adressen der Regelung zum Auslesen der Werte nicht ausreichend genug dokumentiert - mehr dazu weiter unten. Beschrieben wird auf dieser Seite folgende Elektronik:

Informationen zum VVT-Manager

--> Der VVT-Manager und Optolink-Adapter-Schaltbild (pdf) Alle Sensorwerte, alle Einstellungen und alle Soll- und IST-Werte der Heizungssteuerung sind über ein Display direkt an der Heizungs-Regelung zu ermitteln. Diese Werte können i.d.R. nicht auf ein zentrales Informationsdisplay der Haus-Automatisierung übertragen und gegebenfalls dort auch verändert werden. Um diese Informationen im Hausnetz z.V. zu stellen wurde der VVT-Manager entwickelt. Dieses Gerät fragt direkt alle wichtigen Werte der Regelung ab und stellt diese z.B. im Hausnetz zur Verfügung. Der VVT-Manager ist speziell an die Geräte-Serie 200 KW2 angepasst. Die Abfrage der Werte wird optoelektrisch durchgeführt. Ein Eingriff in die Heizungsregelungs-Elektronik ist nicht notwendig.

Der Optolink-Adapter

Die Kommunikation mit der Heizungsregelung erfolgt optisch. Der Adapter hierfür ist (bei einer Vitotronik wie im Foto) in der Serviceklappe unterhalb des Bedienteils/Displays zugänglich. Der Adapter ist das Gegenstück des in der Regelung eingebauten OptoLink-Senders und -Empfängers. Ein Selbstbau des Adapters ist möglich, denn er besteht nur aus wenigen Bauteilen. Das Schaltbild für einen Optolink-Adapter befindet sich in der PDF. Der Selbstbau-OptoLink-Adapter sitzt auf den beiden Status-LEDs der Regelung direkt auf - rechts die grüne Status LED, links die rot Störung-LED. Dabei ist die rot LED auch ein Infrarot Empfänger - die grüne LED auch ein IR-Sender. Die Adapter-Leiterplatte kann unter der Service-Klappe des Regelungsgehäuses, auf der linken Seite eingebaut werden. Die Abdeckung in der Klappe ist herausnehmbar - damit ist die LP unsichtbar und geschützt, aber auch gut zugänglich.

Kommunikation

Das Viessmann VitoTronik 200 KW2 Protokoll sendet zyklisch den Hex-Wert 5 (0x05) ca. 1x pro Sekunde. Die Abfrage der Werte und Einstellungen der Heizungs-Regelung erfogt über Kommunikations-Adresse (Datenpunkte) . Diese bestehen i.d.R. aus 2 Bytes. Zur Initialisation einer Abfrage wird das 'Start'-Byte = Hex-Wert 01 (0x01) gesendet, gefolgt von dem Abfrage Type-Byte für Lesen oder Schreiben = Hex-Wert 0xF7 bzw. 0xF4. Darauf folgte die Abfrage -Adresse = 2 Bytes und dann ein Byte für die Anzahl der in der Regelung abgefragten Werte-Bytes. Zusammengefasst ist jede Kommunikation im KW2 Protokoll somit aufgebaut aus: Kommunikations-Adressen (KW2 Datenpunkte) als PDF

Rückgabe Werte

Der Rückgabewert einer Abfrage besteht in vielen Fällen aus 2 Bytes. Diese werden von der Regelung sofort nach der Annahme einer gültigen Kommunikations-Adresse gesendet . Werden z.B. bei einem Temperaturwert 2 Bytes von der Regelung gesendet und vom VTT-Manager empfangen, ist folgendes zu beachten: das 1. Byte ist das Low-Byte , das 2. Byte ist das High-Byte daraus wird der Temperatur-Wert über eine Umwandlung der 2-Byte-Hex-Zahl in eine Dezimal-Zahl ermittelt. I.d.R. wird dieser Wert noch durch 10 dividiert um den Temperaturwert zu erhalten. Negative Temperaturwerte werden über das sog. 2er Komplement dargestellt. In der (Software-) Umwandlung von Hex-in-Dezimal ist das zu berücksichtigen. Hier ein Abfragebeispiel für die aktuelle "AussenTemp" -> senden von 01 F7 55 25 02 -> empfangen von 5B 00 = Aussentemperatur 9,1°C. Es werden Informationen und Werte abgefragt die als 1, 2, 4 oder 8 Byte Informationen zurückgegeben werden. Neben dem gezeigten Temperaturwert, gibt es Status-Informationen (1 Byte) , Informationen z.B. zur Anzahl der Brennerstarts (4 Bytes) oder die Schaltzeiten-Timer (8 Bytes). Die Schaltzeiten sind wie folgt in einem (1) Byte codiert dargestellt: die höheren 5 Bit sind die Stunden und die unteren 3 Bit sind die Minuten einer Schaltzeit. Die Minuten sind mit 10 zu multiplizieren und geben die Min.-Schaltzeit in 10 Minutenschritten an. Insgesamt hat ein Timer 8 Schaltzeiten-Bytes in der Reihenfolge EIN- und AUS- Schaltzeit die sich 4x wiederholt.
MSB                                           LSB
+-----+-----+-----+-----+-----+-----+-----+-----+
| h4    h3    h2   h1     h0  |  m2    m1   m0  |
+-----+-----+-----+-----+-----+-----+-----+-----+
Viele Abfrage-Adressen die im KW2 Protokoll zur Verfügung stehen sind in der Software für den VVT-Manager hinterlegt. Aus dieser Liste können die für Ihre Anwendung wichtigen Werte (= Abfrageadressen) selektiert werden.

Der VVT Datenpunkte Tester

Leider sind viele die einzelnen Informations-Adressen bei den verschiedenen Regelungen und Ausführungen der Regelung nicht genau bekannt. Finden man Informationen bzw. Angaben über Datenpunkte und deren Bedeutung, stellt man bei der tatsächlichen Abfrage fest, dass keine oder falsche Werte geliefert werden. Das kann an der Informationsquelle oder auch an der Regelung (Typ, Ausführung, Firmware-Stand o.a.) liegen. Um Datenpunkte "auftzuspüren" ohne den VVT-Manager immer umprogrammieren zu müssen, wurde der VVT- Datenpunkte-Tester entwickelt. Mit dem Tester kann man über eine Taststur schnell Datenpunkt-Adressen eingeben und den Rückgabewert ansehen. Das Gerät wird wie der VVT-Manager direkt an den Optolink Adpt. angeschlossen, und verwendet einen Arduino-Mega mit einem I2C-LCD Display und eine 4x4 Matrix Tastatur. Der VVT-Datenpunkte Tester (PDF) Software -Infos zum VVT-Datenpunkte Tester erhalten sie über eine Anfrage per Email.

Test-Hardware und Simulation-Software

In vielen Fällen steht die Heizungsregelung mit der OptoLink-Schnittstelle nicht in der Nähe der Entwicklungsumgebung mit der Arduino-Hardware. Nach einem erfolgreichen Test des Eigenbau-OptoLink-Adapters mit dem Senden und Empfangen von Daten-Bytes wurde die VVT-Manager-Software mit Hilfe eines OptoLink-Simulators entwickelt. Dieser Simulator ist ein Arduino-UNO bei dem die Monitorschnittstelle (Serial) mit der Kommunikationsschnittstelle des VVT-Managers (über das USB-Kabel) direkt verbunden wurde. Die Software des Simulators liefert die zyklischen 05 Hex-Bytes ca. alle 1,3 Sekunden und beim Empfang einer Abfrage-Adresse vom VVT-Manager gibt der Simulator die Werte-Zahlen mit 1, 2 Byte- oder 8 Byte - Zufallszahlen zurück. Damit kann die VVT-Manager-Software entwickelt und getestet werden. Die Arduino-Software für den Simulator können sie
hier downloaden -> Simulator-Software (zip) .

Hinweise:

1. Nicht alle Viessmann -Heizgeräte verstehen das o.g. KW2 Protokoll. Welches Protokoll tatsächlich verwendet wird muß vorher geklärt werden. Für weitere Infos zu den verschiedenen Protokolle empfehle ich diese Internetseite - > openv.wikispaces.com/home
2. Die Informationsabfrage meiner VVT-Manager Software synchronisiert sich über das zyklische 05 Byte der Heizungsregelung. Für 30 Abfragewerte werden damit ca. 30 Sekunden benötigt. Eine schnelle Abfrage kann mann erreichen wenn man sofort nach Erhalt der Antwort eine weitere Abfrage-Adresse sendet. In diesem Fall darf man das Start-Byte (0x01) jedoch nicht mitsenden.
Das Projekt wurden auf die ESP32 Hardware von ESPRESSIF SYSTEMS umgestellt. Als Basis wurde ein sog. Entwicklungs-Kit /-Board (ESP32-Dev-Kit) verwendet. Auch die Soft/Firmware musste angepasst werden. Der HW-Aufwand konnte jedoch so erheblich reduziert werden. Als Entwicklungsumgebung wurde die Arduino-IDE weiter verwendet. Bei Interesse an der Hard-und Software schreiben sie mir bitte eine Email.

Die Funktionen des VVT Managers

1. Aktuelle Zeit von einem Zeit-Server aus dem Internet abholen (optional) 2. Aufbereiten der UTC Zeit für Datenspeicherung auf einer SD Karte (optional) 3. Lesen der aktuellen Daten über das USB Kabel von der Vitotronic Regelung 4. Die gelesenen Daten werden geprüft und dann gespeichert 5. Speichern der Daten auf einer SD Karte (2- 4 GB)(optional) 6. Es können, je nach SD Karten-Größe, bis zu 30 Jahre lang Daten aufgezeichnet werden 7. Auswerten und Umrechnen der Heizungs-Werte-Daten in dezimal Werte (2er Komplement) 8. Alle Werte werden im Netz zur Verfügung gestellt Konfiguration über einen Webbrowser: a) Mit oder ohnen SD Kartenaufzeichnung. Standard ist ohne SD-Kartenaufzeichnung. b) Program-Zyklus-Zeit : Neue Daten abholen alle 1, 2, 5, 10 Minuten c) Uhrzeiten : Reset Wlan-Adapter und RTC-Zeit nachstellen In der Version 1 werden nur Werte z.V. gestellt, eine Veränderung der Heizungseinstellung ist (noch) nicht vorgesehen Status-Anzeige über LEDs Es werden über 7 LEDs verschiedene Statusinformationen gezeigt. Die Daten können über einen Browser und Javascript (HTTP-Request) abgefragt werden.

Hardware

Das komplette Gerät besteht aus den Baugruppen:

Weitere Informationen zur Hardware und Software erhalten sie per Email.

nach oben zurueck weiter