View on GitHub

ccuio adapter vitotronic

Adapter für ccu.io um Daten mittels vcontrold aus einer vitotronic abzufragen.

Download this project as a .zip file Download this project as a tar.gz file

ccuio_adapter_vitotronic

Ein Adapter für ccu.io um Daten mittels vcontrold aus einer vitotronic abzufragen und in ccu.io zu visualisieren oder manipulieren.

Voraussetzungen

Es muss bereits ein vcontrold laufen und über einen Optolink-Adapter mit der Vitotronic verbunden sein. Außerdem muss natürlich ein ccu.io installiert sein.

Sollte eines davon nicht auf Dich zutreffen, informiere Dich zunächst auf:

  1. http://openv.wikispaces.com/vcontrold

  2. http://ccu.io/

Bei mir läuft beides auf einem Banana Pi. Als Optolink-Adapter verwende ich den Nachbau, der über ein Community-Mitglied des Openv Wikis verfügbar ist.

Installation

Nach dem Download z.B. der ZIP-Datei muss das Verzeichnis vitotronic (unterhalb von adapter) in des Unterverzeichnis "adapter" Eurer ccu.io Installation kopiert werden. Die Datei aus dem Verzeichnis datastore in das gleichnamige Verzeichnis unterhalb von ccu.io

Konfiguration

In der Konfiguration des Adapters könnt Ihr folgende Dinge einstellen:

Enabled: true, wenn der Adapter aktiviert werden soll. Sonst false

ccu.io.log schreiben?: true, wenn Informationen in die ccu.io Log-Datei geschrieben werden sollen - z.B. für das Aufspüren von Fehlern.

vcontrold - Host: IP-Adresse des Systems, auf dem vcontrold läuft. 127.0.0.1 (Default), wenn vcontrold und ccu.io auf dem gleichen System laufen.

Pfad zu vcontrold Konfigurationen: Verzeichnis, in dem die XML-Konfigurationsdateien von vcontrold liegen. Standard ist /etc/vcontrold/. Wenn vcontrold auf einem anderen Rechner läuft, können die XML-Dateien einfach auf das System kopiert werden, auf dem ccu.io läuft.

Wenn vcontrol bei Euch lauffähig ist, kennt Ihr sicherlich die Dateien vcontrold.xml und vito.xml, die die Konfigurationen enthalten. Diese kann der Adapter selbständig auslesen, was aber einige Voraussetzungen erfordert (Die in den fertigen Configs, die man so findet immer der Fall ist)

Beispiel vito.xml

    <command name='getTempRaumRedSollM1' protocmd='getaddr'>
        <addr>2307</addr>
        <len>1</len>
        <unit>UTI</unit>
        <description>Ermittle die Raumsolltemperatur reduziert M1 in Grad C</description>
    </command>
    <command name='setTempRaumRedSollM1' protocmd='setaddr'>
        <addr>2307</addr>
        <len>1</len>
        <unit>UTI</unit>
        <description>Setze die Raumsolltemperatur reduziert M1 in Grad C</description>
    </command>

Im Feld protocmd muss hier immer getaddr oder setaddr stehen. Dies ist bei den überall veröffentlichten Configs meistens der Fall, kann aber theoretisch auch anders heißen. Damit der Adapter get- und set- Events auf den gleichen Datenpunkt zurückführen kann, müssen die Commands immer den gleichen Namen tragen.

z.B. setDatenpunkt1 und getDatenpunkt1

In diesem Fall gibt es in ccu.io einen neuen Datenpunkt, der nur Datenpunkt1 heißt. Das get und set wird also abgeschnitten. Natürlich ist der set-Command optional. Viele Informationen aus der vitotronic sind ja readonly.

Sind alle Daten eingegeben, kann mit dem Button "update" der Prozess gestartet werden, der die XML Dateien einliest. Danach erscheinen darunter alle Datenpunkte, die der Adapter gefunden hat. Hier muss dann entschieden werden, welche Datenpunkte geloggt werden sollen und wie oft: Logging-Config

Hierzu einige Empfehlungen: Aufgrund technischer Eigenschaften der Vitotronic-Schnittstelle kann es leicht mal 5 Sekunden dauern, um einen Wert abzufragen. Gibt man nun bei 30 Datenpunkten an, dass die Werte "möglichst oft" oder "alle 10 Sekunden" geloggt werden sollen, wird das dazu führen, dass man nur ca. 1 Wert je 2-3 Minuten hat. Das kann reichen, um den einen oder anderen Peak in einer Grafik zu verpassen. Man sollte also genau überlegen, welche Daten man wirklich braucht und sinnvolle Intervalle wählen. Bei schnell ändernden Werten, wie der Leistung oder der Kesseltemperatur sollte man z.B. "möglichst oft" auswählen. Bei der Aussentemperatur reichen sicher auch mehrere Minuten.

Hier mal ein Beispiel einer mit Highcharts erstellen Grafik mit einigen Daten aus der Vitotronic. Beispielgraph

Abschließend sei gesagt, dass ich keinerlei Verantwortung für eventuelle Schäden an was auch immer übernehme. Bevor man Daten in der Vitotronic setzt, sollte man genau wissen, welche Werte und Einheiten überhaupt möglich, erlaut oder sinnvoll sind.