NEWS
Viessmann-Adapter mit vcontrol
-
@darth2010
Leider nicht. Die Vitocal will immer lieber den Verdichter verwenden, was ja energetisch auch Sinn macht, aber der Heizstab arbeitet verschleißfrei (vorausgesetzt man übertreibt es nicht mit den Spitzentemperaturen, Stichwort Kalkausfall).
abe mein Optolink-Kabel von Kleinanzeigen ~ 35€, auf Löten hatte ich keine Lust.@MartyBr was meinst du genau 7901, kann laut meinem Handbuch nur 0 und 1. Da steht aber etwas von Wärmepumpenkaskade bei… ggf. müssen wir auf 6015 aufweichen um den Heizstab für Warmwasser zu nutzen, darauf wird zumindest bei 7900 verwiesen…
@issr4k Bei meinem Handbuch steht zu 6015: Wert 0 und 1
Freigabe Durchlauferhitzer 7900
Freigabe Elektroheizeinsatz (Freigabe Zusatzheizung 6014)
Das verstehe ich nicht.
Wie schaltest du die 7901? Hast du dazu ein Code-Beispiel?
Ich habe an der VitoCal den Heizstab über die Codier-Ebene 1 freigeschaltet. Über das Menü kann ich den Heizstab schalten, ich bekomme es aber nicht über Vcontrol hin. -
@issr4k Bei meinem Handbuch steht zu 6015: Wert 0 und 1
Freigabe Durchlauferhitzer 7900
Freigabe Elektroheizeinsatz (Freigabe Zusatzheizung 6014)
Das verstehe ich nicht.
Wie schaltest du die 7901? Hast du dazu ein Code-Beispiel?
Ich habe an der VitoCal den Heizstab über die Codier-Ebene 1 freigeschaltet. Über das Menü kann ich den Heizstab schalten, ich bekomme es aber nicht über Vcontrol hin. -
@martybr Ich bin leider noch nicht dazu gekommen.
Morgen im Laufe des Tages werde ich aber Erkenntnisse haben.@issr4k Lass dir Zeit, ich habe heute mal meine Dateien erstmal fertig bekommen. Die Lüftungswerte konnte ich noch nicht finalisieren. Ich bekomme da keine Werte. Es sollen 7D08 (Abluft-Temperatur Sollwert) und 7D1D (Quelle Raumtemperatur-Istwert).
Ich habe mir nun eine Test Vito.xml mit diesen Werten gebaut und werde ich auch morgen mal testen. -
@issr4k sagte in Viessmann-Adapter mit vcontrol:
Hättest du denn irgendeinen Ansatz für zB die 5012?
Hiermit gehts bei mir, unit
UTIaus meiner vcontrold.xml nehmen:<command name="getFreigabeVerdichter" protocmd="getaddr"> <addr>5012</addr> <len>1</len> <description>tbd</description> <unit>UTI</unit> </command> <command name="setFreigabeVerdichter" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>UTI</unit> <description>tbd</description> </command>Edit:
Das Einschalten des Heizstabes wäre ja theoretisch die logische Konsequenz, wenn der Verdichter gesperrt ist und die Hysterese unterschritten wird (und der Heizstab auch freigegeben ist).Ich probiere das morgen mal manuell aus direkt am Display der Vitocal.
5012 auf 0 setzen
7901 auf 1 um Warmwasser über Heizstab zu erlauben und dann 1x Warmwasserbereitung.
Dabei messe ich dann den Strom an den Vorsicherungen vom Verdichter und Heizstab.Ah ok jetzt hab ich verstanden wie du das umsetzen willst - das sollte wohl klappen. Bin gespannt auf deine Erfahrungen.
@scrounger
@Issr4k
Ich habe versucht, die Werte abzufragen. leider stürzt vcontrold immer ab. Vielleicht hat jemand einen Tipp für mich.Hier die Test-vito.xml:
<vito> <devices> <device ID="204D" name="V200-S" protocol="P300"/> </devices> <commands> <command name="getDevType" protocmd="getaddr"> <addr>00F8</addr> <len>2</len> <unit>UN</unit> <description>Information - Allgemein: Anlagentyp (204D)</description> </command> <command name="getTempA" protocmd="getaddr"> <addr>0101</addr> <len>2</len> <unit>UT</unit> <description>Information - Allgemein: Aussentemperatur (-40..70)</description> </command> <!-- VERDICHTER --> <command name="getFreigabeVerdichter" protocmd="getaddr"> <addr>5012</addr> <len>1</len> <description>tbd</description> <unit>UTI</unit> </command> <command name="setFreigabeVerdichter" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>UTI</unit> <description>tbd</description> </command> <!-- HEIZSTAB --> <command name="getHeizstab_Stufe_1_aktiv" protocmd="getaddr"> <addr>0488</addr> <len>1</len> <description>Heizstab Stufe 1 ein/aus</description> <unit>BST2</unit> </command> <command name="getHeizstab_Stufe_2_aktiv" protocmd="getaddr"> <addr>0489</addr> <len>1</len> <description>Heizstab Stufe 2 ein/aus</description> <unit>BST2</unit> </command> <!-- LUEFTUNG --> <!-- <command name="getFortluft" protocmd="getaddr"> <addr>0A05</addr> <len>1</len> <unit>RT</unit> <description>Volumenstrom Fortluft</description> </command> <command name="getZuluft" protocmd="getaddr"> <addr>0A04</addr> <len>1</len> <unit>RT</unit> <description>Volumenstrom Zuluft</description> </command> --> </commands> </vito>Hier die Definitionen:
<unit name='Temperatur 1Byte ganzzahlig'> <abbrev>UTI</abbrev> <calc get='V' set='V'/> <type>uchar</type> <entity>°C</entity> </unit> <unit name='Bitstatus_Boolean'> <abbrev>BST2</abbrev> <type>enum</type> <enum bytes='00' text='0'/> <enum bytes='01' text='1'/> <enum bytes='02' text='NV'/> <enum text='UNKNOWN'/> </unit>Meine originale Vito.xml startet ohne Probleme.
-
Ich kann erfolgreichen Vollzug melden

Zwar manuell über das Display der Vitocal, aber im Vorfeld konnte ich dann auch die 5012 aktiv über iobroker > vcontrold setzen.
Danke @Scrounger !Warum bei reinen Zahlenwerten (5012 = 0-15Wertebereich) Integer nicht funktioniert verstehe ich nicht, aber stattdessen mit uchar ??!!!??? Bin halt kein Informatiker

So klappt es:
<!-- vcontrold.xml --> <unit name='Einstellwert-Test'> <abbrev>XX</abbrev> <calc get='V' set='V'/> <type>uchar</type> <entity/> </unit><!-- vito.xml --> <command name="setComp" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichter </description> </command> <command name="getComp" protocmd="getaddr"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</description> </command>-
5012 auf 0 (Verdichter sperren)

-
7900 Freigabe Heizwasser-Durchlauferhitzer (DLH) beachten (bei mir automatisch auf "3", siehe Beschreibung)

-
7901 nicht aufrufbar bei der Vitocal 222-G (nur bei Kaskade) stattdessen 6015 auf 1
gleiche Einstellung wie über das normale Benutzermnü > Warmwasser > Häckchen setzen bei "WW mit Elektro"

-
ggf. 7902 auf 1

-
ggf. Leistung des Durchlauferhitzers anpassen über 7907

Den Strom habe ich wie angekündigt gemessen:

während unter Diagnose > Anlagenübersicht der Heizstab vor sich hingeblinkt hat, gab der Verdichter keinen Mucks von sich...
Die "2" links davor kennzeichnet die Leistung (7907)

Generell ist die Stromaufnahme etwas unsymmetrisch, das liegt aber an den unterschiedlichen Leistungen der Heizwiderstände:

Generell muss man sagen, dass die Visualisierung über das Display der Vitocal sehr träge ist bis etwas zu sehen ist, auch bis der Heizstab mal endlich ansprang, gingen Sekunden ins Land.
<command name="setComp" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichter (0=aus 1=WW 2=Heiz 3=WW+Heiz 15=default)</description> </command> <command name="setHeaterforWW" protocmd="setaddrValue"> <addr>6015</addr> <len>1</len> <unit>XX</unit> <description>Druchlauferhitzer für Warmwasser aktivieren</description> </command> <command name="setHeaterforRoomtemp" protocmd="setaddrValue"> <addr>7902</addr> <len>1</len> <unit>XX</unit> <description>Durchlauferhitzer für Heizung aktivieren</description> </command> <command name="setHeater" protocmd="setaddrValue"> <addr>7907</addr> <len>1</len> <unit>XX</unit> <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</descript> </command> -
-
@scrounger
@Issr4k
Ich habe versucht, die Werte abzufragen. leider stürzt vcontrold immer ab. Vielleicht hat jemand einen Tipp für mich.Hier die Test-vito.xml:
<vito> <devices> <device ID="204D" name="V200-S" protocol="P300"/> </devices> <commands> <command name="getDevType" protocmd="getaddr"> <addr>00F8</addr> <len>2</len> <unit>UN</unit> <description>Information - Allgemein: Anlagentyp (204D)</description> </command> <command name="getTempA" protocmd="getaddr"> <addr>0101</addr> <len>2</len> <unit>UT</unit> <description>Information - Allgemein: Aussentemperatur (-40..70)</description> </command> <!-- VERDICHTER --> <command name="getFreigabeVerdichter" protocmd="getaddr"> <addr>5012</addr> <len>1</len> <description>tbd</description> <unit>UTI</unit> </command> <command name="setFreigabeVerdichter" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>UTI</unit> <description>tbd</description> </command> <!-- HEIZSTAB --> <command name="getHeizstab_Stufe_1_aktiv" protocmd="getaddr"> <addr>0488</addr> <len>1</len> <description>Heizstab Stufe 1 ein/aus</description> <unit>BST2</unit> </command> <command name="getHeizstab_Stufe_2_aktiv" protocmd="getaddr"> <addr>0489</addr> <len>1</len> <description>Heizstab Stufe 2 ein/aus</description> <unit>BST2</unit> </command> <!-- LUEFTUNG --> <!-- <command name="getFortluft" protocmd="getaddr"> <addr>0A05</addr> <len>1</len> <unit>RT</unit> <description>Volumenstrom Fortluft</description> </command> <command name="getZuluft" protocmd="getaddr"> <addr>0A04</addr> <len>1</len> <unit>RT</unit> <description>Volumenstrom Zuluft</description> </command> --> </commands> </vito>Hier die Definitionen:
<unit name='Temperatur 1Byte ganzzahlig'> <abbrev>UTI</abbrev> <calc get='V' set='V'/> <type>uchar</type> <entity>°C</entity> </unit> <unit name='Bitstatus_Boolean'> <abbrev>BST2</abbrev> <type>enum</type> <enum bytes='00' text='0'/> <enum bytes='01' text='1'/> <enum bytes='02' text='NV'/> <enum text='UNKNOWN'/> </unit>Meine originale Vito.xml startet ohne Probleme.
-
@martybr Hast du mal mit "debug on" versucht über cli?
Habe das auch ab und zu mal. Neustart hilft dann.
-
Hi, dann wird in deinen xml Dateien die Type Deklaration nicht passen.
@blauholsten sagte in Viessmann-Adapter mit vcontrol:
Hi, dann wird in deinen xml Dateien die Type Deklaration nicht passen.
Das Problem konnte ich lösen.
Ich habe aber eine Verständnisfrage: Ich versuche die VitoVent zu integrieren. Dazu ändere ich häufig die Vito.xml Datei. Bei jeder Änderung muss die Viessmann-Instanz löschen und wieder installieren. Da gehen mir natürlich auch die Datenpunkte verloren, die ich per Influxdb logge.
Hast du hierfür einen Tipp? Ich hatte in GitHub??? gesehen, dass du an einer Lösung für das dynamische Einlesen der Vito.xml Datei arbeitest.
Vielleicht habe ich auch etwas verwechselt
, schön wäre es dann trotzdem. -
Ich kann erfolgreichen Vollzug melden

Zwar manuell über das Display der Vitocal, aber im Vorfeld konnte ich dann auch die 5012 aktiv über iobroker > vcontrold setzen.
Danke @Scrounger !Warum bei reinen Zahlenwerten (5012 = 0-15Wertebereich) Integer nicht funktioniert verstehe ich nicht, aber stattdessen mit uchar ??!!!??? Bin halt kein Informatiker

So klappt es:
<!-- vcontrold.xml --> <unit name='Einstellwert-Test'> <abbrev>XX</abbrev> <calc get='V' set='V'/> <type>uchar</type> <entity/> </unit><!-- vito.xml --> <command name="setComp" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichter </description> </command> <command name="getComp" protocmd="getaddr"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichterstufe (1=WW 2=Heiz 3=WW+Heiz 15=default)</description> </command>-
5012 auf 0 (Verdichter sperren)

-
7900 Freigabe Heizwasser-Durchlauferhitzer (DLH) beachten (bei mir automatisch auf "3", siehe Beschreibung)

-
7901 nicht aufrufbar bei der Vitocal 222-G (nur bei Kaskade) stattdessen 6015 auf 1
gleiche Einstellung wie über das normale Benutzermnü > Warmwasser > Häckchen setzen bei "WW mit Elektro"

-
ggf. 7902 auf 1

-
ggf. Leistung des Durchlauferhitzers anpassen über 7907

Den Strom habe ich wie angekündigt gemessen:

während unter Diagnose > Anlagenübersicht der Heizstab vor sich hingeblinkt hat, gab der Verdichter keinen Mucks von sich...
Die "2" links davor kennzeichnet die Leistung (7907)

Generell ist die Stromaufnahme etwas unsymmetrisch, das liegt aber an den unterschiedlichen Leistungen der Heizwiderstände:

Generell muss man sagen, dass die Visualisierung über das Display der Vitocal sehr träge ist bis etwas zu sehen ist, auch bis der Heizstab mal endlich ansprang, gingen Sekunden ins Land.
<command name="setComp" protocmd="setaddrValue"> <addr>5012</addr> <len>1</len> <unit>XX</unit> <description>Freigabe Verdichter (0=aus 1=WW 2=Heiz 3=WW+Heiz 15=default)</description> </command> <command name="setHeaterforWW" protocmd="setaddrValue"> <addr>6015</addr> <len>1</len> <unit>XX</unit> <description>Druchlauferhitzer für Warmwasser aktivieren</description> </command> <command name="setHeaterforRoomtemp" protocmd="setaddrValue"> <addr>7902</addr> <len>1</len> <unit>XX</unit> <description>Durchlauferhitzer für Heizung aktivieren</description> </command> <command name="setHeater" protocmd="setaddrValue"> <addr>7907</addr> <len>1</len> <unit>XX</unit> <description>Leistung Durchlauferhitzer (1=3, 2=6 oder 3=9kW)</descript> </command>@issr4k said in Viessmann-Adapter mit vcontrol:
So hat es funktioniert:
3. 7901 nicht aufrufbar bei der Vitocal 222-G (nur bei Kaskade) stattdessen 6015 auf 1
gleiche Einstellung wie über das normale Benutzermnü > Warmwasser > Häckchen setzen bei "WW mit Elektro"

D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?
Gruß
Darth -
-
Ich habe jetzt einige Werte der Lüftung VitoVent300F erfolgreich einbinden können:
<vito> <devices> <device ID="204D" name="V200-S" protocol="P300"/> </devices> <commands> <command name="getTempA" protocmd="getaddr"> <addr>0101</addr> <len>2</len> <unit>UT</unit> <description>Information - Allgemein: Aussentemperatur (-40..70)</description> </command> <!-- VITOVENT --> <command name="getMinZuluftBypass" protocmd="getaddr"> <addr>7D0F</addr> <len>2</len> <unit>UT</unit> <description>Minimale Zulufttemperatur für den ByPass in Grad 0,1 °C</description> </command> <command name="setMinZuluftBypass" protocmd="setaddr"> <addr>7D0F</addr> <len>2</len> <unit>UT</unit> <description>Setze Minimale Zulufttemperatur für den ByPass in Grad 0,1 °C</description> </command> <command name="getAbluftTemp" protocmd="getaddr"> <addr>7D08</addr> <len>2</len> <unit>UT</unit> <description>Ablufttemperatur-Sollwert in Grad 0,1 °C</description> </command> <command name="setAbluftTemp" protocmd="setaddr"> <addr>7D08</addr> <len>2</len> <unit>UT</unit> <description>Setze Ablufttemperatur-Sollwert in Grad 0,1 °C</description> </command> <command name="getVolstromRed" protocmd="getaddr"> <addr>7D0A</addr> <len>2</len> <unit>UCH</unit> <description>Volumenstrom reduzierte Lüftung in m3</description> </command> <command name="setVolstromRed" protocmd="setaddrValue"> <addr>7D0A</addr> <len>2</len> <unit>UCH</unit> <description>Setze Volumenstrom reduzierte Lüftung in m3 xxx</description> </command> <command name="getVolstromNormal" protocmd="getaddr"> <addr>7D0B</addr> <len>2</len> <unit>UCH</unit> <description>Volumenstrom normale Lüftung in m3</description> </command> <command name="setVolstromNormal" protocmd="setaddrValue"> <addr>7D0B</addr> <len>2</len> <unit>UCH</unit> <description>Setze Volumenstrom normale Lüftung in m3 xxx</description> </command> <command name="getVolstromIntensiv" protocmd="getaddr"> <addr>7D0C</addr> <len>2</len> <unit>UCH</unit> <description>Volumenstrom intensive Lüftung in m3</description> </command> <command name="setVolstromIntensiv" protocmd="setaddrValue"> <addr>7D0C</addr> <len>2</len> <unit>UCH</unit> <description>Setze Volumenstrom intensive Lüftung in m3 xxx</description> </command> <!-- ENDE VITOVENT --> </commands> </vito> -
@issr4k said in Viessmann-Adapter mit vcontrol:
So hat es funktioniert:
3. 7901 nicht aufrufbar bei der Vitocal 222-G (nur bei Kaskade) stattdessen 6015 auf 1
gleiche Einstellung wie über das normale Benutzermnü > Warmwasser > Häckchen setzen bei "WW mit Elektro"

D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?
Gruß
Darth -
@issr4k
Ich habe deine <command> übernommen und auch in die Vito.xml eingebaut. Ich werde sie in den nächsten Tagen testen, so weit ich dafür Zeit finde.Meine Frau verplant gerade meinen Geburtstag, da kann es etwas eng werden

-
@issr4k Die beiden Smileys passen gut. Meine Frau und ich haben beide im Abstand von 8 Tagen Geburtstag. da kommt immer was zusammen .....
-
@darth2010 sagte in [Viessmann-Adapter mit vcontrol
D.h. wenn ich den Heizstab zusätzlich zum Verdichten anschalten möchte würde das ausreichen?
Ja!
-
Super, dann besorge ich ein Opto-Kabel und USB-Verlängerung um das ganze an den ioB-Server anzuschließen.
Danke

Muss man die Optolink Schnittstelle der Vitical noch freischalten oder ist die immer aktiv?
@darth2010
Die ist immer aktiv. -
So ok?
host.ioBroker 2023-02-21 10:10:44.881 error instance system.adapter.viessmann.0 terminated with code 6 (UNCAUGHT_EXCEPTION) viessmann.0 30446 2023-02-21 10:10:44.218 error Cannot read properties of null (reading 'native') viessmann.0 30446 2023-02-21 10:10:44.217 error TypeError: Cannot read properties of null (reading 'native') at Viessmann.startAdapter (/opt/iobroker/node_modules/iobroker.viessmann/main.js:110:8) viessmann.0 30446 2023-02-21 10:10:44.216 error unhandled promise rejection: Cannot read properties of null (reading 'native') viessmann.0 30446 2023-02-21 10:10:44.215 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). host.ioBroker 2023-02-21 10:10:11.673 error instance system.adapter.viessmann.0 terminated with code 6 (UNCAUGHT_EXCEPTION) viessmann.0 30431 2023-02-21 10:10:11.001 error Cannot read properties of null (reading 'native') viessmann.0 30431 2023-02-21 10:10:11.001 error TypeError: Cannot read properties of null (reading 'native') at Viessmann.startAdapter (/opt/iobroker/node_modules/iobroker.viessmann/main.js:110:8) viessmann.0 30431 2023-02-21 10:10:10.999 error unhandled promise rejection: Cannot read properties of null (reading 'native') viessmann.0 30431 2023-02-21 10:10:10.998 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().


EDIT: Habe gerade nochmal gegengecheckt. Instanz entfernen und neu installieren funktioniert. Und dein Adapter läuft wieder !
-
Bitte mal die GitHub Version testen. Das Problem kam mit der Großen Code Umstellung die ich vor ein paar Wochen gemacht habe.
Ich konnte jetzt leider nicht testen, darum bitte mal testen und Feedback geben. Danke
EDIT: Kann leider nicht testen.
Habe aus benutzerdefinierter URL https://github.com/misanorot/ioBroker.viessmann installiert. In der Objekt-Struktur taucht zwar etwas auf dieser Ordner ist leer.
Aber ansonsten komme ich in keine Adapterkonfiguration (Instanzen ist diesbezüglich leer) rein...Muss auch dazu sagen, dass ich noch nie einen Adapter o.Ä. von außerhalb des Stable installiert habe.
Wenn du mir erklärst wie, kann ich gerne testen.
-
EDIT: Kann leider nicht testen.
Habe aus benutzerdefinierter URL https://github.com/misanorot/ioBroker.viessmann installiert. In der Objekt-Struktur taucht zwar etwas auf dieser Ordner ist leer.
Aber ansonsten komme ich in keine Adapterkonfiguration (Instanzen ist diesbezüglich leer) rein...Muss auch dazu sagen, dass ich noch nie einen Adapter o.Ä. von außerhalb des Stable installiert habe.
Wenn du mir erklärst wie, kann ich gerne testen.


