NEWS
Viessmann-Adapter mit vcontrol
-
@martybr sagte in Viessmann-Adapter mit vcontrol:
@issr4k
Hier zwei Unit-Einträge:<unit name='BetriebsArt'> <abbrev>BA</abbrev> <type>enum</type> <enum bytes='00' text='Abschaltbetrieb'/> <enum bytes='01' text='Warmwasser'/> <enum bytes='02' text='Heizen und Warmwasser'/> <enum bytes='03' text='3'/> <enum bytes='04' text='dauernd reduziert'/> <enum bytes='05' text='dauernd normal'/> <enum bytes='06' text='normal Abschalt'/> <enum bytes='07' text='nur Kuehlen'/> <enum text='UNKNOWN'/> </unit> <unit name='Aktuelle Betriebsart'> <abbrev>ABA</abbrev> <type>enum</type> <enum bytes='00' text='Abschaltbetr. (Dauernd)'/> <enum bytes='01' text='Red. Betrieb (Schaltuhr)'/> <enum bytes='02' text='Normalbetrieb (Schaltuhr)'/> <enum bytes='03' text='Normalbetrieb (Dauernd)'/> <enum text='?'/> </unit>
Und wieder beispielhaft, mit welcher Adresse verwendest du die Einheit ABA ?
-
@issr4k
Habe ich noch nicht implementiert. Das wird mich in den nächsten Wochen beschäftigen. Ich schreibe ja gerade die vito.xml komplett um (hatte ich ja weiter oben geschrieben). Ich habe extra ein Testsystem aufgebaut, um mein laufendes System nicht zu himmeln. -
@issr4k
Meine Liste von Viessmann der Datenpunkte zur 204D muss fehlerhaft sein. Ich habe jetzt versucht, die Lüftung zu integrieren, das ist aber fehlgeschlagen. Beim Vergleich der Datenpunkte funktionierende Befehle zur Viessmannliste zeigt große Differenzen.
Hast du evtl. eine Liste der Datenpunkte? -
Hier gibts ein nettes Projekt wo man sich die möglichen Adressen für sein Gerät rausziehen kann:
https://github.com/sarnau/InsideViessmannVitosoftBei mir ist das leider schon lange her und hat auch nur bedingt funktioniert. Ich hab mir da folgende Daten rausgezogen und nen Excel erstellt:
EventTypes.xlsxWenn man nach
WPR3
filtert findet man alle Adressen inkl. Type für W01C Steuerung.
Allerdings muss man dann doch immer probieren ob die funktionieren. Ich hab mir das Handbuch genommen und dort nach den Adressen geschaut und dann getestet. Mit der Methode hab ich alles gefunden was ich so brauche. Die Adressen stehen ja auch in der Anlage wenn man in Codierebene 1 / 2 geht.Hier mal meine xmls:
vcontrold.xml
vito.xmlDamit hab ich dann ne ganz nette Visu erstellen können:
Edit:
Grad noch entdeckt: https://github.com/philippoo66/ViessData21
Hier gibts die Listen (DP_Listen_2.zip) pro Gerät. -
@scrounger Super, vielen Dank. Die Werte korrespondieren mit meinen Werten, dass scheint die gleiche Steuerung zu sein.
Eine Frage habe ich aber noch: Müssen eure Mieter niedrigere Temperaturen als ihr haben, oder ist das Zufall?Ich schaue mir mal in Ruhe die Excel an, auch hier für vielen Dank. Ich habe mir gerade das Handbuch der VitoTronic 200 rausgesucht. Dann kann ich da ja die Dateien finalisieren.
Ich habe nun auch im Handbuch endlich die Werte für die Vitovent gefunden:
Die liegen bei 7D0x.
Da steckt ja noch jede Menge Arbeit vor mir.Meine Visa sieht aktuell so aus (nicht so schön wie deine, bin noch am basteln):
-
@martybr sagte in Viessmann-Adapter mit vcontrol:
Eine Frage habe ich aber noch: Müssen eure Mieter niedrigere Temperaturen als ihr haben, oder ist das Zufall?
Ich wusste das diese Frage kommen wird
Da steckt ja noch jede Menge Arbeit vor mir.
Definitiv - ich habe Stunden damit verbracht. Hatte aber den positiven Nebeneffekt das ich mich sehr intensiv mit den Parametern beschäftigt habe und so noch einiges an der Anlage optimieren konnte.
Hat dabei geholfen Fehler in der Anlage aufzudecken und abzustellen, aber leider auch Fehler seitens Viessmann aufzudecken, die echt der Knaller sind....
https://www.viessmann-community.com/t5/Waermepumpe-Hybridsysteme/Standby-Stromverbrauch-Vitocal-200s/td-p/184588 -
@scrounger Das klingt heftig.
Ich ärgere mich seit einiger Zeit über Viessmann: Ich hatte mit 2016/2017, als ich neu gebaut habe, eine Steuerung von Viessmann installieren lassen: Homeautomatisierung live: die Vitocomfort. Damit konnte ich die Rollos etc. und die ganze Heizung inkl. Kühlung und Lüftung steuern. Alles über EnOcean. Top.
Letztes Jahr hat Viessmann die Vitocomfort abgekündigt. Als Ersatz gab es eine Migration (rabattiert) auf den Wibutler. Das ist ein tolles System mit u.a. Zwave, Zigbee und Enocean.
Das Dinges kann sogar mit Viessmann Komponenten. Leider keine Kühlung und es kennt die VitoVent 300F nicht.
Ich habe jetzt im Wibutler Forum einen Post hinterlassen, dass ich das Ding kostenlos abgebe. Schrottiges Forum, keine Antwort auf Fragen etc.
Nun Frust aus !! -
Hier wie angekündigt die Bilder zu Beitrag 50
Habt ihr eine Idee wie ich den Datentyp abbilden kann?
So 100% habe ich das mit dem erstellen der Datentypen noch nicht verstanden.Ich spreche 5012 an:
und zurück kommt 0x0F... sprich 15
gleiches hier mit 0x0B bzw. 11
EDIT:
Habe den Datentyp mal auf Integer geändert.<unit name="Test"> <abbrev>XX</abbrev> <calc get="V" set="V"/> <type>int</type> <entity/> </unit>
Damit bekomme ich zumindest mal den Dezimal Wert von vctrld rückgeliefert
Auf die gleiche Art einen Wert setzen geht allerdings nicht.
-
@issr4k sagte in Viessmann-Adapter mit vcontrol:
@martybr
Ließt du nach jeder Änderung an der vito.xml im ioBroker adapter neu ein?
Bei mir passiert irgendwie gar nichts mehr im Adapter.
Wenn ich „neu einlesen“ ankreuze meldet iobroker das der adapter wiederholt abstürztWas sagt denn die Log Ausgabe dazu?
Ggf Mal auf debug stellen. -
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 !
-
@issr4k Das muss ich auch immer machen, wenn ich eine der xml-Dateien ändere.
-
Klasse Idee mit diesem Thread
Ich bin leider noch bei bei der Planung der Anbindung meiner Vitocal 222-G an ioBroker.Mein Ziel:
Aktiveren /Deaktivieren des Heizsstabs über ioBroker.Hat dies schon jemand umgesetzt?
Gruß
Darth -
@darth2010 Da sind wir dran.
Allerdings scheitert das momentan noch an den genauen Datentypen bzw. wie wir die Adressen ansprechen können.
Ich kann z.B. die 790... aufrufen, aber bisher noch nicht ändern über vcontrold. Gleiches bei 5012Stand jetzt könnte es so aussehen bei z.B. einer Vitocal 222-G:
- Parametergruppe 5012 auf 0 stellen (Verdichter sperren)
- 7900 sollte auf 3 stehen (ergibt sich aber durch die Wärmepumpe selbst)
- 7901 auf 1 (Freigabe Durchlauferhitzer (DLH) für Warmwasser) je nachdem ob gewünscht EDIT: laut Handbuch doch eher die 6015 auf 1
- 7902 auf 1 (Freigabe DLH für Raumbeheizung) je nachdem ob gewünscht
- 7907 auf 1, 2 oder 3 (Max. Leistung des DLH mit 3, 6 oder 9kW, Abstufung je nach PV Leistung)
und dann ggf. noch die Solltemperaturen erhöhen: - 6000 auf zB. 60Grad (Warmwassersoll 1)
oder - 600C (Warmwassersoll 2)
dann ggf. noch - 2000 auf z.B. 24Grad (Soll-Raumtemperatur)
Ob das is der Praxis dann auch so funktioniert bzw. die Wärmepumpe das mitmacht, wird sich zeigen
Bitte immer alle Werte in der eigenen jeweiligen Serviceanleitung gegenprüfen.
-
@scrounger Hast du eine Ahnung wie man die Adressen ansprechen könnte?
-
Also so wie ich das in meiner schlauen excel sehe ist:
5012 readonly, boolean
7900 readonly, boolean
7902 readonly, boolean
@darth2010 sagte in Viessmann-Adapter mit vcontrol:
Mein Ziel:
Aktiveren /Deaktivieren des Heizsstabs über ioBroker.Das geht meines Wissen nach nicht.
Weil die Adressen zum Heizstab alle readonly sind. Außerdem müsste ich bei meiner WP den Heizstab anschalten, die Sekundärpumpe und das 3-Wege-Ventil auf WW stellen. Ebenfalls alles readonly adressen.Die einzige Möglichkeit die ich kenne geht über die WW2 Bereitung -
B020
. Und da springt der Heizstab nur mit an wenn die Hysterese für den Heizstab6008
greift.Ich hab mir einen Heizstab noch zusätzlich gekauft und den in meinem WW-Tank montiert. Der wird bei PV Überschuß per iob angesteuert. Im Sommer bleibt somit die WP komplett aus.
-
@scrounger sagte in Viessmann-Adapter mit vcontrol:
Das geht meines Wissen nach nicht.
Weil die Adressen zum Heizstab alle readonly sind. Außerdem müsste ich bei meiner WP den Heizstab anschalten, die Sekundärpumpe und das 3-Wege-Ventil auf WW stellen. Ebenfalls alles readonly adressen.Bist du sicher?
Denn die Werte lassen sich über die Vitocal direkt am Display in Codierebene 1 ja auch ändern… -
Ok da hast du natürlich recht, dann muss man die auch schreiben können. Hab gesehen das die in der Excel 2mal auftauchen und da sind sie beschreibbar.
Wie das genau geht müsste ich auch ausprobieren bzw. aus meiner vito eine Adresse mit gleichen type finden und dann entsprechend umbauen.Das sind aber nur Einstellungen die man dadurch ändert. Ein Einschalten des Heizstabes wird darüber denke ich nicht möglich sein. Ob Heizstab aktiv ist lese ich z.B. so aus:
<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>
Schreiben ging bei den Adressen wenn ich es noch richtig im Kopf habe nicht.
-
@scrounger Habe mir deine Dateien ja auch angesehen und leider keinen passenden Typ gefunden.
Die Adresse die ich genannt habe stehen ja im Handbuch drin.
Die 0488 und 0489 nicht, wenn ich es richtig gesehen habe…Hättest du denn irgendeinen Ansatz für zB die 5012?
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. -
@issr4k sagte in Viessmann-Adapter mit vcontrol:
Hättest du denn irgendeinen Ansatz für zB die 5012?
Hiermit gehts bei mir, unit
UTI
aus 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 Prima, damit versuche ich es. Danke!
Und das manuelle Testen ebenso. Spätestens am Wochenende.