Ich möchte mich zunächst sehr herzlich bei dem Author von Viess-Data bedanken. Er hat hervorragende Arbeit geleistet, die ich nutzen konnte, um das Programm auf das Protokoll 300 umzustellen und einige Funktionen hinzuzufügen:

  • Vermeidung der kryptischen Fehlermeldungen durch Fokus auf Vitodens 300W
  • Protokoll 300, dadurch fehlergesicherte Übertragung zur Therme
  • Graph auf -20 bis 100 verschoben
  • Alle wichtigen Daten auf der Übersichtsseite
  • Schreiben der wichtigsten Codierungen, Schaltzeiten und Solltemperaturen
  • Bei Thermen mit Volumenstromsensor wird die Rücklauftemperatur berechnet
  • Gasverbrauch wird berechnet
  • Fenstergröße kann verändert werden, Graphgröße passt sich an
  • Minimierung von Datenverlusten, dennoch flexible Einstellung der Abfragefrequenz
  • Automatisches Starten der Abfrageschleife mit -a Kommandozeilen-Option

Ich habe alle Adressen und Codierungen sehr eigennützig an meine Vitodens 300W, B3HA, mit einem Heizkreis angepasst, aber ich bin sicher, mit wenigen Modifikationen kann Viess-Data 2.0 auch für andere Thermen verwendet werden.

Hier eine Kurzanleitung:

Starten Sie Viessdata im Verzeichnis Viess_data/bin/Release. In diesem Verzeichnis liegen alle Konfigurationsdateien, auch die gelogten Daten werden hier in .csv Dateien abgelegt.

Viessdata hat ein Programmfenster, eine obere Steuerleiste und eine Registerseite mit verschiedenen Reitern.
Mit der Fenstergröße skaliert sich jetzt auch der Graph.

Viessdata204.JPG


Zunächst die Steuerleiste:
Ganz links der Button "Alles Speichern", braucht man nur, wenn Adressen oder Graph-Einstellungen geändert wurden.
Dann der Button "Alles lesen", kann benutzt werden, um ALLE Adressen zu lesen, nicht nur die, die zur Speicherung oder Anzeige selektiert sind.
Im nächsten Pull-Down kann man bestimmen, nach welcher Zeit ein neues Lesen der Adressen angestoßen wird.
Hier nun der wichtigste Button, mit dem Dreieck nach rechts. Damit stößt man das periodische Lesen über die Optolink Schnittstelle an. Man kann das auch bei Programmstart automatisieren, indem man in der Kommandozeile viessdata.exe -a angibt.
Das nächste Feld ist grün, wenn gerade über Optolink abgefragt wird, sonst rot.
Im nächsten Pulldown stellt man den Vergrößerungsfaktor für den Graphen ein.
Die nächsten Felder sind nur zur Information, während des Auslesens.

Daten:
Dies ist die unterste Ebene des Programms, in der angezeigt wird, welche Adressen aus der Optolink-Schnittstelle der Therme ausgelesen werden, welche Daten ankommen und wie sie interpretiert werden. Jede Adresse steht in einer Zeile.
Diese Tabelle würde ich zunächst nicht verändern. Jedes Häkchen und jeder Eintrag hat seinen Sinn. Wenn Sie etwas ändern, wird an anderen Stellen im Programm evtl. etwas nicht mehr richtig angezeigt oder geloggt.
In der ersten Spalte "Akt." kann man angeben, ob die jeweilige Adresse bei jedem Durchlauf ausgelesen werden soll oder nicht. Das ist notwendig, um z.B. die aktuellen Temperaturen im System immer aktualisiert anzuzeigen.
Die nächste Spalte bestimmt, ob die Daten in einer Datei gespeichert werden. Um die Daten an der Adresse im Graph anzuzeigen, muss bei "Akt." und "Sp." der Haken gesetzt sein.
Dann kommt die Bezeichnung, die Adresse, die ausgelesenen Bytes in verschiedenen Schreibweisen, die laufende Nummer, die Anzahl der ausgelesenen Bytes, der Einheits-/Umrechenfaktor und einige andere.
Auf der rechten Seite werden die Daten für die serielle Schnittstelle angezeigt.
Bitte die Buttons unten nicht benutzen, sie leeren oder verändern die Tabelle.
Wenn Veränderungen der Tabelle notwendig werden, legen Sie vorher eine Sicherheitskopie der .xml Dateien im Verzeichnis an, damit Sie auf eine funktionierende Konfiguration zurückgreifen können.
Bei Thermen ohne Volumenstromsensor wird die Abfrage bei der Adresse 0C20 und 0C24 stehen bleiben. Bitte tragen Sie in der Zeile, wo die Abfrage keine Daten mehr liest, in der Spalte "len" 0 ein, dann wird diese Adresse nicht mehr gelesen. Danach "Alles speichern".
Der Volumenstrom wird mit einer Skalierung 0,1 eingelesen, damit der große Wert in den Wertebereich des Graphen passt.
Alle Datenpunkte und zugehörigen Informationen werden in der Datei vito_DP.xml abgespeichert. Sollen neue Adressen ausgelesen werden, einfach die Datei vito_DP.xml mit einem Texteditor um Einträge erweitern.

Übersicht:
Hier werden die ausgelesenen Daten und Konfigurationsparameter in verständlicher und übersichtlicher Form angezeigt.
Links stehen Betriebsmodus und Solltemperaturen, in der Mitte die wichtigsten Konfigurationsparameter und ganz rechts die aktuellen Temperaturen, Brenner- und Pumpenwerte. Die Temperatursensoren, die einen Status liefern, sind grün hinterlegt, wenn der Status "ok" ist, rot bei Status "Fehler".
Der Betriebsmodus, die Solltemperaturen und Parameter können einfach durch Klicken in ein Feld überschrieben werden. Wichtig: Bei Verlassen des Eingabekästchens mit "Tab", Klick auf einen anderen Ort im Fenster, oder Taste "Enter", wird der geänderte Wert überprüft und wenn ok, zur Therme geschickt. Das Übernehmen des Wertes klappt nicht immer, besonders, wenn Viessdata mit Auslesen beschäftigt ist, kollidiert das Senden des geänderten Wertes eventuell mit dem Auslesen. Ich empfehle daher, mit dem Senden zu warten, bis das Auslesen abgeschlossen ist. Wurde der neue Wert gesendet, wird ein Lesen ALLER Adressen angestoßen, um zu sehen, ob der neue Wert korrekt von der Therme empfangen und gespeichert wurde. In der Steuerungsleiste gibt es den Button "Alle Werte lesen". Es schadet nichts, diesen ab und zu zu betätigen, um alle Adressen nochmals zu aktualisieren.
Manche Eingabefelder sind Pull-down Menüs, um nicht im Servicemanual nachsehen zu müssen, welche Werte welche Bedeutung haben, und um Fehler zu vermeiden.
Hier gilt Gleiches: Wert wird geschrieben, sobald Pull-down Menü losgelassen wird. Dann erst mal das Lesen aller Adressen abwarten, und überprüfen, ob die Übertragung funktioniert hat.
Wichtig: Das Feld max. Leistung der Therme ist ein Eingabefeld. Hier muss vom Benutzer der richtige Wert eingegeben werden, damit die Gasverbrauchswerte in Statistik richtig berechnet werden.

Zeitprogramme:
Hier werden die aktuellen Schaltzeiten angezeigt. Nun kann man sie auch verändern, und mit dem Button Sende Tabelle an die Therme schicken. Wieder gilt hier abwarten, bis das regelmäßige Lesen abgeschlossen ist, dann klappt es ohne Probleme.

Graph:
Hier werden die periodisch gelesenen Werte graphisch angezeigt. Mit dem Pulldown Menü "Graph" in der Steuerleiste kann man die Vergrößerung der Zeitachse einstellen. Mit linke Maustaste gedrückt halten kann man den Graph recht/links verschieben. Indem man mit der Maus über den Graphen fährt, kann man an eine bestimmte Zeit fahren, dann werden in der obersten Graphzeile die entsprechenden Werte zu dieser Zeit angezeigt. Mit rechter Maustaste kann man Graphlinien ausblenden, neue Farben einstellen, etc. Wenn es beim nächsten Start wieder so angezeigt werden soll, "Alles speichern" in der Steuerleiste drücken.
Alle im Graph dargestellten Datenpunkte werden in der Datei vito_Config.xml abgespeichert. Soll die Reihenfolge geändert werden oder neue Datenpunkte im Graph dargestellt werden, einfach vito_Config.xml mit einem Texteditor erweitern. Beachte: Weitere analoge Daten, wie Temperaturen sollten vor den digitalen Datenpunkten, z.B. Zirkupumpe ein/aus, eingefügt werden.

Graph.GIF


Statistik:
Hier werden die wichtigsten statistischen Werte errechnet und dargestellt.
Je nach Therme können manche Werte hier fehlen, z.B. Verbrauch kann nur berechnet werden, wenn der maximale Verbrauch der Therme auf der Seite Übersicht korrekt eingegeben ist..
Hier kann auch eine ältere Wochendatendatei geöffnet werden, um sie anzuzeigen. Nicht vergessen, danach wieder auf die aktuelle Datei zu wechseln.
In der untersten Zeile werden evtl. Programmfehlermeldungen angezeigt.

Basis Version 2.0:




Version 2.01:



- Sourcecodes inbegriffen
- Dateien für Vitodens 300W Therme ohne Volumenstromsensor inbegriffen
- Fehler bei Abfragefrequenz-Pulldown beseitigt
- Falscher Skalierungsfaktor bei Brennerleistung bei nicht-englischer Ländereinstellung berichtigt


Version 2.02:


- Bugfix: Letzter Datenpunkt wird jetzt korrekt gelesen
- Bugfix: Min. und max. Temperatur auf der Statistikseite wird nun richtig berechnet
- Datenpunkte wurden überarbeitet und zur Verbesserung der Übersichtlichkeit nach Adresse sortiert
- Raumtemperatur HK1 der Vitotrol kann jetzt auf der Seite Übersicht angezeigt und als Graph angezeigt werden
- Frostschutzmodus wird nun aus Therme ausgelesen
- Übersichtsseite überarbeitet


Version 2.03:


- Applikation akzeptiert auch unbekannte Thermen-ID
- Gas-Verbrauch wird mit 9 kWh pro Kubikmeter Gas berechnet
- Indikatoren zeigen aktive Sparschaltungen an

optolink.gif

Version 2.04:


- Korrektur der Anzeige für aktive Sparschaltung HK-Pumpe. Diese ist nämlich abhängig von der aktuellen Soll-Raumtemperatur
- Anzeige der aktuellen Soll-Raumtemperatur
- Party- und Spar-Betrieb können nun auf der Übersicht-Seite aktiviert und deaktiviert werden
- Diverse Änderungen von Texten
- Kleinere Bug-Fixes und Änderungen in der Daten-Adresstabelle


Version 2.05:


- Kleinere Bugfixes, z.B. korrekte Darstellung von negativen Außentemperaturen


Version 2.06:



- Rücklauftemperatur wurde nun auf Adresse 0x0C20 umgestellt. Wenn diese Adresse bei Ihnen nicht existiert, bitte len auf 0 setzen, dann wird die Rücklauftemperatur, wenn möglich, berechnet
- Gasverbrauch wird nun mit Brennermodulation 0x55D3 berechnet, nachdem ich gelernt habe, dass die Brennerleistung nicht der Brennermodulation entspricht. Im Graphen kann beides angezeigt werden.
- Gas Brennwert und Zustandszahl können nun eingegeben werden, um den Gasverbrauch exakter zu berechnen. Beide Werte werden mit "Alles speichern" gesichert.
- Eingabefeldreihenfolge auf Übersichts- und Zeitprogramme-Seite wurde berichtigt.
- Probleme mit Log-Dateinamen bei Jahresübergang sollten nun behoben sein.
- Ich hänge auch xml Dateien für Thermen ohne Volumenstrom- und Rücklauftemperatursensor an



Und zuguterletzt, wie immer bei Hobbyprogrammierern, Verwendung auf eigene Gefahr, es wird keinerlei Haftung für Schäden oder Folgen jedweder Art übernommen.
Viel Spass beim Loggen!

P.S. Bei mir steht der Rechner, auf dem Viessdata läuft, im Keller neben der Therme. Optolink ist selbstgebaut mit China-USB-Seriell-Konverter, Schaltplan, wie hier im Wiki, siehe Bild nebenan.
Ich greife mit TightVNC, einem exzellenten Remote-Desktop Protokoll über WLAN auf diesen Rechner zu. Es gibt Clients für Windows, und viele andere Betriebssysteme, sogar Android.+-