Seite 1 von 4

Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Fr Mär 15, 2019 10:45 pm
von murelli146
Anbindung einer Viessmann Heizung über eine Optolinkschnittstelle.

Verfügbar auf GitHub und Docker Hub inklusive Anleitung für Portainer auf dem TWS.

Es wird der vcontrold Server mit dem vclient zur Verfügung gestellt. Optional können die Werte in einem einstellbarem Intervall über Mqtt gepublisht werden.

@Robert_Mini Sobald ich weiß wie man einen KB Beitrag erstellt mach ich das ;)

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Fr Mär 15, 2019 11:46 pm
von gbglace
Hi Gernot.

Das klingt ja Super, jetzt brauch ich also ganz ganz schnell nen vernünftigen Verteilerschrank im Keller, damit der TWS nach unten in die Nähe der Heizung wandern kann.

Ein Docker für beide Komponenten? und ne Brücke in den KNX. Klasse Danke dafür. Und mit der MQTT Basis sicher auch ne Option das noch direkt in TWS-Objekte zu bringen.

Die Anleitung für die KB kannst auch gern so in einen Beitrag schreiben, wir schieben das dann in einen KB-Artikel.

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Sa Mär 16, 2019 9:07 am
von Robert_Mini
Super Sache!

Bitte als Beitrag verfassen oder Word-File und per Mail schicken.
KB Erstellung funktioniert momentan mit einem normalen Zugang nicht so recht, da die Beiträge nach dem Speichern selbst nicht mehr sieht....

Robert

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: So Mär 17, 2019 12:04 am
von murelli146
openvdocker

Anbindung einer Viessmann Heizung über die Optolinkschnittstelle.

Verfügbar auf GitHub und Docker Hub

Es wird der vcontrold Server mit dem vclient zur Verfügung gestellt. Optional können die Werte in einem einstellbarem Intervall über Mqtt gepublisht werden.

Installation über Portainer

Bildstrecke findet ihr im unteren Teil.

Volume erstellen:

Name: vcontrold-conf > "Create the Volume" drücken.

Container erstellen:

Name: openvdocker
Image: murelli146/openvdocker
Port mapping: host 3002 -> container 3002 TCP
> "Deploy the Container"

Container einstellen:

Command > Console: Interactive & TTY
Volumes mapping > container: /etc/vcontrold -> volume: vcontrold-conf
Env >
    OPTOLINK        /dev/ttyUSB1         Optolink Adapter
    IPMQTTBROKER    192.168.179.45       IP vom Mqtt Broker (z.B. mosquitto)
    PORTMQTTBROKER  1883                 Port vom Mqtt Broker
    MQTTTOPIC       Vitoplus_300         Topic Name (Ergebnis: z.B. Vitoplus_300/getTempA)
    MQTT            true                 Mqtt Option aktivieren oder deaktivieren
    MQTTPUB         30                   Zeit in Sekunden wie oft die Werte gepublisht werden (!Intervall)
Restart policy > value: always
Runtime & Resources > host: /var/husky/devices/FTDI_FT232R_USB_UART_AI0309KD   container: /dev/ttyUSB1
Info: Den Pfad zum Optolinkadapter am Host findet man im WebIF vom TWS unter Portainer. 
> "Deploy the Container"

Konfiguration

Alle relevanten Dateien sind im /etc/vcontrold Ordner.

Um auf die Dateien zu zugreifen, verwendet man am besten den SSH Container.

vcontrold.xml und vito.xml

Diese zwei Files müssen an die jeweilige Heizungstype angepasst werden.
Die Informationen bekommt man über das openv Wiki
Für die Konfiguration dieser Dateien kann hier kein Support erfolgen.

Nun ist der vcontrold Server einsatzbereit und man kann über telnet (IP_vom_Host:3002) auf die vclient prompt zugreifen.


Ist die Option Mqtt aktiviert muss man noch volgende Einstellungen vornehmen.

1_mqtt_commands.txt

Befehlsliste die Abgerufen werden.
Die Zeilennummer entspricht der Variablen Nummer im Template (2_mqtt.tmpl)

z.B. Zeilennummer 3 entspricht im Template den Variablen $C3 (Befehlsname) und $3 (Wert)

Code: Alles auswählen

3 getTempWWist
2_mqtt.tmpl

Hier wird eingestellt welche Werte veröffentlicht werden sollen.

z.B. Zeile 3 (getTempWWist) der Befehlsliste

Code: Alles auswählen

mosquitto_pub -h $IPMQTTBROKER -p $PORTMQTTBROKER -t $MQTTTOPIC/$C3 -m $3
Zur Veranschaulichung, diese Zeile sieht letztlich beim Abfragen wie folgt aus:

Code: Alles auswählen

mosquitto_pub -h 192.168.179.45 -p 1883 -t Vitoplus_300/getTempWWist -m 60.00000
ToDo

Optolinkadapter soll auch über eine Variable im Portainer eingestellt werden können. (auch IP:Port)
Werte sollen zukünftig über mqtt auch gesetzt werden können.



Bildstrecke:

1.) Volume erstellen
Bild

2.) Container erstellen
Bild
Deploy the Container

3.) Container einstellen
Bild

Bild

Env
Bild
OPTOLINK        /dev/ttyUSB1         Optolink Adapter
IPMQTTBROKER    192.168.179.45       IP vom Mqtt Broker (z.B. mosquitto)
PORTMQTTBROKER  1883                 Port vom Mqtt Broker
MQTTTOPIC       Vitoplus_300         Topic Name (Ergebnis: z.B. Vitoplus_300/getTempA)
MQTT            true                 Mqtt Option aktivieren oder deaktivieren
MQTTPUB         30                   Zeit in Sekunden wie oft die Werte gepublisht werden (!Intervall)

Restart policy
Bild

TWS WebIF
Bild

Optolinkadapter
Bild


Bild

Hinzugefügt nach 1 Stunde 32 Minuten 45 Sekunden:
@gbglace und @Robert_Mini

Und ab in die KB ;)

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: So Mär 17, 2019 2:14 am
von tws88_user
Spitze Gernot

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: So Mär 17, 2019 9:06 am
von Robert_Mini
Super gemacht! KB wird heute noch erledigt!
Robert

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Mo Mär 18, 2019 8:55 am
von StefanW
Hallo Gernot,

ein wahnsinnnig guter Beitrag, das hilft der Community sehr. Vielen Dank dafür.

Danke Robert, für Deinen immerwährenden Einsatz, das in die Knowledge Base zu bringen

lg

Stefan

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Mo Mär 18, 2019 6:49 pm
von Jürgen
Hallo zusammen,

das klingt auch für mich interessant, meine Viessmann-Heizung an den Timberwolf anzubinden.
Vielen Dank für diese super Anleitung. Jetzt müsste ich nur noch die Zeit haben das einzurichten.

Mein Problem ist derzeit nur, der Timberwolf steht 3 Etagen über der Heizungsanlage.
Ich habe auch bereits einen Optolink-Koppler da - allerdings nicht mit USB-Port, sondern noch mit RS232.

Ist dieser auch dafür nutzbar und welche Einstellungen muss ich dafür anpassen bzw. muss ich eventuell einen Koppler mit USB besorgen (oder geht auch ein USB - RS232-Adapter??

Viele Grüße
Jürgen

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Mo Mär 18, 2019 8:02 pm
von tger977
Hallo Gernot,

Tolle Arbeit, Danke!

Mir fehlt nun noch der Part wie ich über MQTT die Werte auf den KNX bekomme. Warum gehst du den Umweg über MQTT und nicht gleich auf den KNX per eibd?

Re: Viessmann vcontrold > openvdocker mit mqtt

Verfasst: Mo Mär 18, 2019 10:11 pm
von gbglace
MQTT als Ziel ist schon in Ordnung, da der TWS intern das noch beigebracht bekommt und somit die Werte dann auch direkt in Logiken usw. verwenden kann. Es sind dann halt echte TWS Objekte, die er dann schön über den DOS UOD weiter verteilen kann.

Mit einem eibd im Docker und dem schreiben auf dem Bus ist es nur gerade optisch schneller, von der Systemarchitektur her aber eher ungünstiger.
Wirklich auf dem Bus brauche ich nur wenige Werte davon, meistens nur in einer Logik. Eine moderne Visu hat entweder eh einen MQTT-Modul oder wird zukünftig auch auf der HW des TWS-Laufen und greift dann die TWS-Objekte an. Insofern ist der Docker so schon super schlank und zukunftsweisend zusammengestellt.

Wer derzeit den TWS mit Openhab / iO.Broker / EDOMI kombiniert, der hat eh auch direkten Zugriff auf die MQTT-Quelle des Dockers. und braucht dann auch nicht erst alles über KNX-GA transportieren.
Heizung >> USB >> TWS-Docker (IP) >> eibd (KNX) >> TWS (KNX) >> Logik >> Visu ist kein schlanker Weg zumal der KNX-Bus auch nicht das wahre Tempowunder ist.