NEWS
Viessmann-Adapter mit vcontrol
-
@mcbeath
Die Außentemperatur bekommst du über<command name="getAussentemperatur" protocmd="getaddr"> <addr>0101</addr> <len>2</len> <unit>UT</unit> <description>Aussen Temperatur Sensor</description> </command>
Das ist der Datenpunkt 0101.
Du kannst hier in den Thread verschiedene XML-Dateien suchen und die passende dann anpassen.
-
@martybr sagte in Viessmann-Adapter mit vcontrol:
@mcbeath
Die Außentemperatur bekommst du über<command name="getAussentemperatur" protocmd="getaddr"> <addr>0101</addr> <len>2</len> <unit>UT</unit> <description>Aussen Temperatur Sensor</description> </command>
Das ist der Datenpunkt 0101.
Du kannst hier in den Thread verschiedene XML-Dateien suchen und die passende dann anpassen.
Das war mir klar, die AT funktioniert ja auch.
Ich möchte ja einen neuen Datenpunkt anlegen und scheitere ja schon beim neuen "getVerdicher_Druck" Befehl.
Oder muss ich nach anpassen der vito.xml mehr als nur im Adapter die vito.xml neu einlesen lassen?
Braucht vcontrold auch einen Neustart oder ähnliches? -
@mcbeath hatte deinen Text nicht vollständig gelesen. Ich bezog mich auf dein Code-Beispiel.
Ich starte den Raspi immer komplett neu, das geht schnell und funktioniert.
Ansonsten den vcontrold-Dienst neu starten.P.S.
Ich habe viessmannapi wieder gekündigt und arbeite wieder mit vcontrold.Welche WP setzt du ein? Vielleicht können wir gemeinsam an einigen Datenpunkten arbeiten. Mir fehlen die Energiewerte in Vcontrold. In der Viessmannapi konnte man wunderschön den Energieeinsatz (Stromverbrauch) und die Wärmeproduktion ablesen und somit den COP berechnen. In vcontrold lese ich den COP aus aber beide Werte werden schon praktisch. Vielleicht kannst du mir hierbei helfen?
-
Ich habe eine Vitocal A200 mit einer VT200 und W01C.
Deine vito.xml ist bei mir auch im Betrieb, aber viele Datenpunkte gehen nicht.nach neustart von vcontrold bekomme ich jetzt folgende Meldung.
Bedeutet dies 1610 gibt es nicht oder stimmt was mit der "unit" nicht?
Du kennst ja bestimmt schon die Fehlermeldungen.Vctrld send ERROR: ERR: >FRAMER: ERROR address 1610 code 4Error in recv, terminatingError executing getVerdichter_Druck
-
@mcbeath Nein, die kenne ich nicht, da ich den Datenpunkt 1610 nicht nutze.
Schade, der wäre bestimmt interessant geworden.Nutzt du Energieauswertung/abfrage?
-
@martybr sagte in Viessmann-Adapter mit vcontrol:
.. In der Viessmannapi konnte man wunderschön den Energieeinsatz (Stromverbrauch) und die Wärmeproduktion ablesen und somit den COP berechnen. ..
Wie du weißt, ermittle ich derzeit ja auch noch (sozusagen zu Fuß) aus den Daten der ViCare App den COP. In dem Viessmann Adapter von ioBroker sollten ja diese Daten enthalten sein, auch ohne das teure Abo buchen zu müssen. Leider stimmen die Werte aus beiden Quellen nicht überein. Schlimmer noch: Die Daten im Adapter - bzw. der ViessmannApi - sind völlig unübersichtlich/chaotisch. Da kann man nur raten, was gemeint sein könnte. Fiesmann halt!
Schade, dass deine WP sich nicht mit openE3 auslesen lässt. Damit lässt sich offensichtlich all das, was wir uns hier wünschen auslesen.
-
@legro
Die Daten in der Vikare App über den ViessmannApi Adapter ausgelesen waren schon sehr gut. Ich konnte den aktuellen Strombedarf der WP in W auslesen und auch gleichzeitig die erreichten Wärmewerte.Diese Werte waren mehr oder weniger die Ergänzung zum kostenlosen Angebot API. Ich konnte noch nicht einmal den Heizstab steuern. Ich habe daher auch das Advanced Paket (in der Testphase möglich) wieder gekündigt.
Also Wärmewerte dividiert durch eingesetzte Leistung hat direkt den COP Wert geliefert.
Nun lese ich den COP Wert direkt aus der WP mittels VControld aus. Ich hätte aber gerne auch die zugrundeliegen Werte
Ja, da bedauere ich auch. Es gibt scheinbar ein zur WAGO vergleichbaren Baustein für den KM-BUS, aber nach deinen Erfahrungen verzichte ich gerne darauf.
OpenE3 ist eine super Lösung, leider nicht kompatibel zu meiner WP.
-
@martybr sagte in Viessmann-Adapter mit vcontrol:
@mcbeath hatte deinen Text nicht vollständig gelesen. Ich bezog mich auf dein Code-Beispiel.
Ich starte den Raspi immer komplett neu, das geht schnell und funktioniert.
Ansonsten den vcontrold-Dienst neu starten.P.S.
Ich habe viessmannapi wieder gekündigt und arbeite wieder mit vcontrold.Welche WP setzt du ein? Vielleicht können wir gemeinsam an einigen Datenpunkten arbeiten. Mir fehlen die Energiewerte in Vcontrold. In der Viessmannapi konnte man wunderschön den Energieeinsatz (Stromverbrauch) und die Wärmeproduktion ablesen und somit den COP berechnen. In vcontrold lese ich den COP aus aber beide Werte werden schon praktisch. Vielleicht kannst du mir hierbei helfen?
Hey MartyBr
ich habe jetzt für meinen Kältekreis fast alle Werte gefunden.
12 Werte des Kältekreises. Manches sogar Doppelt....
Auch die Heizkreis VL Temperatur ist gefunden und dabei noch
unverhoffterweise wohl auch die Drehzahl der Sekundärpumpe, bin aber noch am auswertenBis zum COP oder Leistungswerten bin ich noch nicht.
Dafür sind aber die Werte Leistung in % vom Lüfter, Kompressor und Sekundärpumpe bestätigt. -
@mcbeath
Das klingt doch gut. Kannst du deine gefundenen Datenpunkte posten?
Ich würde dann die DPs nachstellen, ob sie auch an meiner WP funktionieren. -
@martybr
Folgt noch. die Stehen dezeit noch unschön auf dem Zettel und die Vito.xml
sieht noch recht wüst aus.Wenn die gecleant ist Poste ich das hier
-
Habe hier mal die Liste der Adressen die bei mir zumindest "0.0" und keinen Fehler ausgeben.
Einige sind doppelt (gleiche Werte auf verschiedenen Adressen). Manche bringen nur "0.0"
Die description ist teils nur von Viessmann übernommen und die unit ist alles UT (1/10 °C) noch nicht überarbeitet.
Wie erwähnt ist das nur eine Liste Grob ausgesiebter Datenpunke meiner A200.Vielleicht hilft es dennoch dem einen oder Anderen schon weiter
<command name="getVED" protocmd="getaddr"> <addr>1618</addr> <len>3</len> <unit>UT</unit> <description>Verdampfungsdruck Verdichter</description> </command> <command name="getKD1" protocmd="getaddr"> <addr>06B2</addr> <len>3</len> <unit>UT</unit> <description>Kondensatordruck</description> </command> <command name="getSD1" protocmd="getaddr"> <addr>06B0</addr> <len>3</len> <unit>UT</unit> <description>Saugdruck</description> </command> <command name="getSGD" protocmd="getaddr"> <addr>B410</addr> <len>3</len> <unit>UT</unit> <description>Sauggasdruck</description> </command> <command name="getHGD" protocmd="getaddr"> <addr>B411</addr> <len>3</len> <unit>UT</unit> <description>Heissgasdruck</description> </command> <command name="getEEV1-1" protocmd="getaddr"> <addr>5086</addr> <len>2</len> <unit>UT</unit> <description>EEV1-5086</description> </command> <command name="getEEV1-2" protocmd="getaddr"> <addr>5092</addr> <len>2</len> <unit>UT</unit> <description>EEV1-5092</description> </command> <command name="getEEV1-3" protocmd="getaddr"> <addr>5097</addr> <len>2</len> <unit>UT</unit> <description>EEV1-5097</description> </command> <command name="getEEV1-4" protocmd="getaddr"> <addr>5098</addr> <len>2</len> <unit>UT</unit> <description>EEV1-5098</description> </command> <command name="getgVKD" protocmd="getaddr"> <addr>1612</addr> <len>3</len> <unit>UT</unit> <description>gemittelter Kondensationsdruck Verdichter </description> </command> <command name="getTAVT" protocmd="getaddr"> <addr>1804</addr> <len>2</len> <unit>UT</unit> <description>Anlagenvorlauf Solltemperatur</description> </command> <command name="getTHK2" protocmd="getaddr"> <addr>1801</addr> <len>2</len> <unit>UT</unit> <description>Vorlauftemperatur HK2 </description> </command> <command name="getTPQ" protocmd="getaddr"> <addr>7415</addr> <len>2</len> <unit>UT</unit> <description>Primerquelle</description> </command> <command name="getTVD1" protocmd="getaddr"> <addr>5003</addr> <len>2</len> <unit>UT</unit> <description>Verdichter1</description> </command> <command name="getTEEV1-1" protocmd="getaddr"> <addr>5088</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5088</description> </command> <command name="getTEEV1-2" protocmd="getaddr"> <addr>5089</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5089</description> </command> <command name="getTEEV1-4" protocmd="getaddr"> <addr>5095</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5095</description> </command> <command name="getTEEV1-5" protocmd="getaddr"> <addr>5212</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5212</description> </command> <command name="getTEEV1-6" protocmd="getaddr"> <addr>5221</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5221</description> </command> <command name="getTEEV1-7" protocmd="getaddr"> <addr>5223</addr> <len>2</len> <unit>UT</unit> <description>EEV1 5223</description> </command> <command name="getTVKE" protocmd="getaddr"> <addr>500D</addr> <len>3</len> <unit>UT</unit> <description>Verdampferkreis Eintritt</description> </command> <command name="getTVKA" protocmd="getaddr"> <addr>5010</addr> <len>2</len> <unit>UT</unit> <description>Verdampferkreis Austritt</description> </command> <command name="getTVKEg" protocmd="getaddr"> <addr>5036</addr> <len>2</len> <unit>UT</unit> <description>Verdampferkreis Eintritt gedaempft</description> </command> <command name="getTFG" protocmd="getaddr"> <addr>B404</addr> <len>3</len> <unit>UT</unit> <description>Fluessiggastemperatur</description> </command> <command name="getTSAM" protocmd="getaddr"> <addr>B432</addr> <len>3</len> <unit>UT</unit> <description>Temperatur Sammler</description> </command> <command name="getTVER" protocmd="getaddr"> <addr>B407</addr> <len>3</len> <unit>UT</unit> <description>Temperatur Verdampfung</description> </command> <command name="getTKON" protocmd="getaddr"> <addr>B408</addr> <len>3</len> <unit>UT</unit> <description>Temperatur Kondensation</description> </command> <command name="getTSG" protocmd="getaddr"> <addr>B409</addr> <len>3</len> <unit>UT</unit> <description>Temperatur Sauggas</description> </command> <command name="getTHG" protocmd="getaddr"> <addr>B40A</addr> <len>3</len> <unit>UT</unit> <description>Temperatur Heissgas</description> </command> <command name="getTPV" protocmd="getaddr"> <addr>B400</addr> <len>3</len> <unit>UT</unit> <description>Primaer Vorlauf Temperatur</description> </command> <command name="getTPR" protocmd="getaddr"> <addr>B401</addr> <len>3</len> <unit>UT</unit> <description>Primaer Ruecklauf Temperatur</description> </command> <command name="getTSV" protocmd="getaddr"> <addr>B402</addr> <len>3</len> <unit>UT</unit> <description>Sekunder Vorlauf Temperatur</description> </command> <command name="getTSR" protocmd="getaddr"> <addr>B403</addr> <len>3</len> <unit>UT</unit> <description>Sekunder Ruecklauf Temperatur</description> </command> <command name="getTFG1" protocmd="getaddr"> <addr>B484</addr> <len>3</len> <unit>UT</unit> <description>Fluessiggas</description> </command> <command name="getTFG2" protocmd="getaddr"> <addr>B485</addr> <len>3</len> <unit>UT</unit> <description>Fluessiggas</description> </command> <command name="getTDUK" protocmd="getaddr"> <addr>B40D</addr> <len>3</len> <unit>UT</unit> <description>Delat Unterkühlung</description> </command> <command name="getLVD" protocmd="getaddr"> <addr>B423</addr> <len>2</len> <unit>UT</unit> <description>Leitung Verdichter Prozentg</description> </command> <command name="getLPQ" protocmd="getaddr"> <addr>B420</addr> <len>2</len> <unit>UT</unit> <description>Leitung Primerquelle Prozent</description> </command> <command name="getLSP" protocmd="getaddr"> <addr>B421</addr> <len>2</len> <unit>UT</unit> <description>Leitung Serkunderpumpe Prozent</description> </command> <command name="getTVHK2" protocmd="getaddr"> <addr>01D4</addr> <len>3</len> <unit>UT</unit> <description>Vorlauftemperatur HK2</description> </command> <command name="getASKP" protocmd="getaddr"> <addr>B4C1</addr> <len>1</len> <unit>UT</unit> <description>Ausgang Sekundaerpumpe</description> </command> <command name="getDZSP" protocmd="getaddr"> <addr>B4A1</addr> <len>2</len> <unit>UT</unit> <description>Drehzahl Sekundaerpumpe</description> </command> <command name="getTPrVL" protocmd="getaddr"> <addr>01C3</addr> <len>3</len> <unit>UT</unit> <description>Primer VL Temp.</description> </command> <command name="getTPrRL" protocmd="getaddr"> <addr>01C4</addr> <len>3</len> <unit>UT</unit> <description>Primer RL Temp.</description> </command> <command name="getFKo" protocmd="getaddr"> <addr>1A54</addr> <len>1</len> <unit>UT</unit> <description>Frequenz Kompressor</description> </command> <command name="getFV1" protocmd="getaddr"> <addr>1003</addr> <len>3</len> <unit>UT</unit> <description>Frequenz Verdichter</description> </command> <command name="getTime" protocmd="getaddr"> <addr>08E0</addr> <len>8</len> <unit>UT</unit> <description>Datum</description> </command> <command name="getSHK2" protocmd="getaddr"> <addr>048E</addr> <len>1</len> <unit>UT</unit> <description>HK Pumpe</description> </command> <command name="getSMi" protocmd="getaddr"> <addr>0600</addr> <len>8</len> <unit>UT</unit> <description>Mischer</description> </command> <command name="getTSO" protocmd="getaddr"> <addr>01CD</addr> <len>3</len> <unit>UT</unit> <description>Temp. Speicher Oben</description> </command> <command name="getTSU" protocmd="getaddr"> <addr>01CE</addr> <len>3</len> <unit>UT</unit> <description>Temp. Speicher Unten</description> </command> <command name="getRLP" protocmd="getaddr"> <addr>0496</addr> <len>1</len> <unit>UT</unit> <description>Relais Ladepumpe</description> </command> <command name="getRZP" protocmd="getaddr"> <addr>0490</addr> <len>1</len> <unit>UT</unit> <description>Relais Zirkulation</description> </command> <command name="getCOP1" protocmd="getaddr"> <addr>1690</addr> <len>1</len> <unit>UT</unit> <description>COP V1</description> </command> <command name="getCOP2" protocmd="getaddr"> <addr>1691</addr> <len>1</len> <unit>UT</unit> <description>COP V2</description> </command>
-
Hätte da noch eine Frage.
In meinel log kommt zu jeder Datenpunkt Abfrage die Meldung...State value to set for "viessmann.0.get.StatusVentilWW" has to be type "string" but received type "number"
Wie kann ich das denn abstellen?
Im IOB ist der Datenpunkt auf "number" gestellt, ändere ich das auf "string" ist die Meldung unverändert!Ist da irgendwo was in der vito.xml zu ändern?
-
@mcbeath Also, ich habe die entsprechenden Datenpunkte unter Objekte im ioBroker auf den gewünschten Wert gesetzt. In diesem Fall wäre das beim Beispiel "Zahl" oder "number".
Möglicherweise kann man das auch in der Vito.xml umstellen. In der Definition einen Int-Wert dem Datenpunkt zuweisen. -
Das letztere wäre der korrekte Weg. Der Andere geht aber auch
-
@martybr
Komisch, hatte ich eben schon mal probiert, aber jetz funktioniert alles -
@blauholsten
Ick wes. Das erste ist einfacher, das zweite der richtige weg, ist aber aufwendiger. -
@martybr
Konntest du mit meinen Datenpunkten an deiner Pumpe was mit Auslesen? -
@mcbeath
Noch nicht. Ich bin noch mit dem hydraulischen Abgleich meiner WP beschäftigt. Ich habe ja die bisherige Steuerung der VitoComfort 200 über den KM-Bus entsorgt und alle ERR entfernt bzw. abgeschaltet.
Das Ergebnis ist bisher eine Steigerung der COP Werte von 4,4 auf 5,1. Das sieht schon mal gut aus.
Die WP hat immer gegen teilweise geschlossene Ventile gearbeitet.Ich schaue mir das im Laufe der Woche an. Du hast eine Luft-Wärmepumpe, richtig? Ich muss mir dann die Werte mal anschauen und auf meinem Testsystem installieren.
Ich bin ja froh, dass der VControld gerade reibungslos läuft. Ich brauche ja die Werte für meine Auswertung. -
@martybr sagte in Viessmann-Adapter mit vcontrol:
@mcbeath
Das Ergebnis ist bisher eine Steigerung der COP Werte von 4,4 auf 5,1. Das sieht schon mal gut aus.
Die WP hat immer gegen teilweise geschlossene Ventile gearbeitet.Ich schaue mir das im Laufe der Woche an. Du hast eine Luft-Wärmepumpe, richtig? Ich muss mir dann die Werte mal anschauen und auf meinem Testsystem installieren.
Ich bin ja froh, dass der VControld gerade reibungslos läuft. Ich brauche ja die Werte für meine Auswertung.Eine Steigerung von 4,4 auf 5,1 Da hätte ich gerne nähere Infos drüber
Woher nimmst du denn den COP?
Ich bekomme hier nur die JAZ und die sind weit weg von 4,4Ja genau, das ist eine Luftpumpe
Berichte mal, wenn du testen konntest, freue mich, wenn ich helfen konnte
-
@mcbeath
Die WO1C liefert die Werte kontinuierlich. Zu berechnen ist der Wert ja über Stromverbrauch == Aufwand zu Wärmeproduktion der WP == Ergebnis.Hier die Grafik:
Links der Peak = Warmwasser, Rechts = Heizung
Die Verbesserung des COP-Wertes lag in der Verminderung der Taktraten des Kompressors. Das habe ich wie weiter oben schon beschrieben durch Abschalten der ERR erreicht.