abbrechen
Suchergebnisse werden angezeigt für 
Anzeigen  nur  | Stattdessen suchen nach 
Meintest du: 

Energy consumption for Viessmann heat pump 300G.

Hi.

 

@MichaelHanna , 

 

Looks like the API is not returning heating.power.consumption.total or heating.power.consumption.dhw as device features or data points for heat pumps 300G connected via VitoconnectOPTO2. Is there any particular reason for that?

 

At the same time I do notice the API returns these data points: Compressor Hours Load Class 1 to Load Class 5. I am not sure how to read these values. Any pointers or documentation on this?

 

Thank you!

 

 

48 ANTWORTEN 48

Hi @stobies!

Ich hab auch eine Vitocal 200-S. Bei mir werden die Werte zwar in der ViCare-App angezeigt aber nicht über die API. Dieser Datapoint fehlt bei mir schlicht im zurückgelieferten JSON.

 

Sollte er da sein, wird er auch mit PyViCare ausgelesen: https://github.com/somm15/PyViCare/blob/8ba411483a865e074d1146fd1b8b7a8c4f4be122/PyViCare/PyViCareHe.... Wenn ich @handleNotSupported richtig interpretiere wird damit nur ein Logeintrag gemacht, dass dieser Datenpunkt nicht geliefert wurde.

 

@MichaelHannaWieso bekommen manche die Werte und manche nicht? Vielen Dank!

@Geri es ist durchaus möglich, dass es Unterschiede in den verfügbaren Funktionen gibt. Ich vermute in diesem Fall, dass es sich bei einer der beiden Anlagen um ein Gerät mit Vitoronic Regelung handelt, welches über eine Vitoconnect mit dem Internet verbunden ist. Die andere Anlage (welche die Funktion über die API erhält) besitzt wahrcheinlich eine ONE BASE Regelung mit integriertem Wifi-Modul.

Gruß,

Michael

@stobies @MarioZo 

Meine 200-S ist noch ganz neu und hat in der Tat eine integriertes WiFi Modul.  Hier ist das JSON was für diesen Datapoint zurückgeliefert wird (einschliesslich der anscheinenden Inkosistenzen zwischen den Verschiedenen Zeiträumen, aber da ich immer nur die Jahresdaten nehme, scheint es zu funktionieren).

 

{'properties': {'day': {'type': 'array', 'value': [1.1, 3, 47.1, 1.7, 1.2, 0, 1.7, 1.5], 'unit': 'kilowattHour'}, 'week': {'type': 'array', 'value': [51.2, 17.5, 18.900000000000002, 0, 0, 0, 0, 0], 'unit': 'kilowattHour'}, 'month': {'type': 'array', 'value': [48.199999999999996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 'unit': 'kilowattHour'}, 'year': {'type': 'array', 'value': [48.199999999999996, 0], 'unit': 'kilowattHour'},  [...], 'commands': {}, 'apiVersion': 1, 'uri': 'https://api.viessmann.com/iot/v1/features/installations/yyy/gateways/xxx/devices/0/features/heating....', 'gatewayId': 'zzz', 'feature': 'heating.power.consumption.total', [...] }

 

@Geri 

Hallo @MichaelHanna ,

ja, ich hab Vitotronic 200 und Vitoconnect. Aber ich sehe die Werte ja in der ViCare-App von euch. Also muss meine Anlage ja was schicken! Allerdings hab ich gerade gesehen, dass ich da nur zusammengefasste Daten pro Woche hab.

 

Welche Möglichkeiten hab ich, dass ich an detaliertere Daten komme, die ich in mein Energie-Management-System importieren kann? Das wäre für meine Heizungsoptimierung schon sehr wichtig. Vielen Dank!

meine Vitocall 222-S hat das gleiche Problem. In der App werden die Verbrauchswerte angezeigt. Aber die API lieferte keine Comsumption Werte zurück.

 

Seite ca. 2 Wochen kann man nicht mehr die einzelnen Betriebststunden von Class1 - Class5 auslesen.
PyViCare/PyViCare/PyViCareHeatPump.py at 8ba411483a865e074d1146fd1b8b7a8c4f4be122 · somm15/PyViCare ...

getHours funktioniert noch. Aber nicht mehr getHoursLoadClass1 - ....5

War immer interessant darüber zu sehen in welchen Leistungsstufen die Betriebsstunden anfallen.

 

@handleNotSupported
def getHours(self):   
return self.service.getProperty(f"heating.compressors.{self.compressor}.statistics")["properties"]["hours"]["value"]

 

@handleNotSupported
def getHoursLoadClass1(self):
return self.service.getProperty(f"heating.compressors.{self.compressor}.statistics")["properties"]["hoursLoadClassOne"]["value"]

Hallo @stefanvogel ,

ich hab die Stunden per Leistungsstufen nicht im Home-Assistant Dashboard, deshalb ist mir erst jetzt aufgefallen, dass die bei mir auch seit 3 Tagen keine Werte mehr liefern. Das wäre zumindest eine Behelfslösung gewesen, anhand dieser Stunden den Verbrauch zu schätzen. Aber die Idee kann mal wohl jetzt auch verwerfen.

 

Ich muss ehrlich sagen, dass ich das echt frustrierend empfinde, wenn ich meine eigenen Daten nicht abfragen "darf". @MichaelHanna  Ihr habt diese Datenendpunkte in der API-Dokumentation unter Basic gelistet. Bitte stellt sie auch zur Verfügung.

@Geri wie bereits erwähnt, gibt es Funktionen, dessen Verfügbarkeit von der vorliegenden Regelung abhängen. So zum Beispiel "heating.power.consumption.total", welche nur auf ONE BASE Geräten verfügbar ist. Die von @stefanvogel erwähnte Funktion "heating.compressors.N.statistics" sollte auch dir zur Verfügung stehen. Warum in dieser Funktion die Leistungsklassen überhaupt zu finden waren und weshalb sie nun nicht mehr zur Verfügung stehen, werden wir uns genauer anschauen.

Könntest du mir sagen, welche Funktionen es genau sind, die wir in der API Dokumentation unter Basic angeben, die dir nicht zur Verfügung stehen? Beachte dabei, dass einige Funktionen im Bereich "heating.compressors.N" nicht im Basic Paket, sondern nur im Advanced Paket zur Verfügung stehen.

Ich hoffe, ich konnte weiterhelfen.

Gruß,

Michael

Ich denke, die eigentliche Antwort hier ist, nicht über das API zu gehen, sondern die Daten direkt am CAN Bus abzugreifen. Dafür gibt es ja sowohl die "offizielle" (und teure) Lösung über das WAGO Gateway, als auch die Selbstbaulösung über einen Minirechner mit CAN Adapter und https://github.com/abnoname/open3e . Ich weiss nicht, wie der offizielle Standpunkt von Viessmann zu dieser Lösung ist, aber ich persönlich finde eine lokale Lösung, die die Daten ohne Umweg über die Cloud bereitstellt, ohnehin eleganter. Beim Umweg über das API hat man sonst immer mit der Verfügbarkeit des APIs und den Interessen des Anbieters zu tun, der natürlich immer auch Mehrwertdienste verkaufen will. Ich mache das Gleiche seit längerer Zeit mit meiner SMA PV Anlage, wo ich auch selber die Anlagendaten lokal tracke und in meine Datenbank schreibe. 

 

Meine Anlage  - meine Daten, und das funktioniert nur zuverlässig, wenn die Daten auch lokal erhoben werden.

@MichaelHanna, sorry wenn ich lästig bin, aber so ganz verstehe ich das nicht. Wann hat man ein ONE BASE Gerät? Die Infos dazu auf euren Webseiten lassen mich eher glauben, dass das ein Energie-Management-System in der Cloud ist. Da in meiner ViCare-App Verbrauchswerte zu sehen sind, muss meine Anlage ja Daten an die Viessmann-Server übermitteln! Sollten demnach technisch auch über die API abrufbar sein.

 

Hier ein Screenshot von den (5 ersten/Basic) Datenpunkten an denen ich interessiert bin:

Geri_0-1698236481751.png

Irgendwie stimmt das nicht zusammen. Entweder werden die Daten fälschlicherweise nicht übermittelt, oder die Werte in der Docu sind falsch kategorisiert. Letzteres fände ich allerdings sehr schade, wenn das eine reine wirtschaftliche Entscheidung ist. Meine Bereitschaft für meine eignen Daten zu zahlen geht gegen null.

@stobies,

das ist auch meine Einstellung dazu! Mein Wechselrichter wird bereits lokal getrackt. Es sollte auch was geben mit openv: https://community.home-assistant.io/t/viessmann-openv-vcontrold-client-optolink/496463/22

Allerdings verliert man scheinbar die verlängerte Garantie, was mich doch noch etwas abschreckt. Daten. Das neue Gold...

@Geri Danke für die Erläuterung. Du erkennst, ob du ein ONE BASE Gerät hast, wenn deine Anlage ein integriertes Wifi-Modul besitzt, mit dem du die Anlage mit dem Internet verbindest. Solltest deine Anlage einen Optolink Anschluss besitzen, mit dem ein Vitoconnect Gateway verbunden ist, besitzt kein ONE BASE Gerät.

Die von dir erwähnten Funktionen heating.power.consumption.* sind nur auf ONE BASE Geräten verfügbar. Ich gehe davon aus, dass die Daten, die du in ViCare siehst, zu den Funktionen heating.compressors.N.power.consumption.* gehören. Gerne kannst du aber nochmal ein Screenshot aus ViCare teilen, nur um sicher zu gehen.

Hallo @MichaelHanna ,

sorry, hab deine Antwort übersehen. Ok, dann habe ich kein ONE BASE Gerät, da ich per Vitoconnect online bin. Hier ist der Screenshot von meiner ViCare-App:

IMG_5517.PNG

Die von dir erwähnten Funktionen heating.compressors.N.power.consumption.* bekommen ich über die API allerdings auch nicht. Hab das gerade noch mal verifiziert. Eine Suche nach "power" im gelieferten JSON bringt nur Einträge mit heating.solar.power.*, die aber alle deaktiviert sind, da meine PV noch nicht eingebunden ist (das ist meine andere Baustelle). Ich hab in einem anderem Forum die Vermutung gelesen, dass es was bringen könnte den OAuth-API-Key zu erneuern. Aber daran glaube ich ehrlich gesagt nicht. Oder könnte da was dran sein?

also ich habe auch eine Vitoconnect Verbindung. Via der Bezahl Version der ViCare App bekomme ich Stromverbräuche auf Stundenbasis. Die Daten müssen also auch via Vitoconnect geschickt werden. Vermutlich verhindert aber Viessmann etwas wenn man via API darauf zugreifen möchte. Mein JSON Object gibt auch nichts mit Power oder Consumption zurück (ausser den von Dir erwähnten solar.power)

 

Wäre schön wenn sich hier jemand von Viessmann melden würde um Klarheit reinzubringen. Entweder hat die Doku Fehler, oder technisch ist der Wurm drin.

Installateur: Dellen und Werner - Hellenthalstraße 18, 47661 Issum Bauprojekt: Bonhoefferstrasse 19, 47661 Issum

@Geri den API Client (API Key) zu löschen bringt nichts, sofern du mit deinem Client die API erfolgreich abrufen kannst, was ja bei dir der Fall ist.

Über die public API bieten wir nicht den Zugriff auf alle Funktionen, die beispielsweise in der ViCare App verfügbar sind. Das hat verschiedene Gründe. Zum einen stehen nicht alle Daten in der public API bereit. Bisher sind hier größtenteils Betriebsparameter abgebildet, manche Daten in der App sind jedoch aufbereitete und historisierte Daten, die wir aktuell nur dort anbieten. Zum anderen wird auch in der Verfügbarkeit der Betriebsparameter zwischen App und public API unterschieden. Es ist daher wichtig, in der API Dokumentation auf die verfügbaren Funktionen zu schauen.

Die public API wird sich stetig weiterentwickeln und immer mehr Funktionen und Möglichkeiten anbieten.

danke.

Laut API soll  Power consumption in der Basis Version verfügbar sein. Siehe Screenshot.

stefanvogel_0-1699016079679.png

 

 

Hallo @MichaelHanna,

danke für deine Antwort, dann bleibt mir nur darum zu bitten, dass ihr eure API Dokumentation auch auf dem aktuellen Stand haltet. Ich nehme an, dass du mit public API die Datenendpunkte meinst, die mit Basic gekennzeichnet sind. Ich hab gerade nachgesehen und die sind immer noch z.B. heating.power.consumption.heating mit dabei. So wie du es beschreibst bekommt man das nur in ViCare und laut einem Beitrag von jemandem anderem (auch Vitoconnect) mit dem advanced Paket.

 

Und das geht in Österreich selbst wenn ich wollte sowieso nicht. Hab gerade vorhin die Antwort vom österreichischen Viessmann Support bekommen:

"Auch die heating.compressors.* Datenpunkte sind für AT aktuell nicht verfügbar, weil diese im Advanced Paket enthalten sind, welches kostenpflichtig ist und aktuell nur in DE zur Verfügung steht."

ich habe vor einem halben Jahr auch die kostenpflichtige API (Advanced Paket) getestet. Es gab auch dort nicht die Consumption und Power Werte. Sehr seltsam.

Vor einem halben Jahr hatte ich die Daten auch noch nicht in der ViCare-App. Ich vermute, dass Viessmann die erst seit ein paar Monaten serverseitig sammelt. Scheint mir noch "work in progress" zu sein...

 

Da mir das sowieso sympathischer ist, werde ich in Richtung einer lokalen Anbindung weiter machen. Es gibt die Möglichkeit den OPTO2-Anschluss von der Vitoconnect zu nutzen oder was mir noch mehr zusagen würde direkt per Modbus. Hier https://www.viessmann-community.com/t5/Waermepumpe-Hybridsysteme/Modbus-PV-Zaehler/m-p/178515 hat z.B. jemand der WP einen virtuellen PV-Energiezähler vorgespielt. Könnte schon sein, dass da auf dem Modbus auch einiges auszulesen ist!? Auch das Handbuch erwähnt für den Modbus-Anschluss eben einen Energiezähler oder "andere Geräte". Klingt irgendwie vielversprechend!

Hallo @MichaelHanna,

 

also wenn Ihr schon zwischen "ONE BASE" (diese Definition finde ich in keiner Dokumentation) und Vitoconnect Geräten unterscheidet, müsst Ihr das in der API Beschreibung auch klar abgrenzen. Das ganze ändert aber nichts daran das Ihr unsere Daten bereits schon in einer Datenbank eurerseits vorliegen habt und nur einen einfachen Endpunkt freischalten müsst. Genau das gleich macht Ihr ja eh schon bei den ONE BASE Geräten.

 

Des Weiteren sehen wir alle diese Daten (netterweise) in der App, somit gibt es bereits einen Endpunkt in eurer Produktionsumgebung. Das Thema für die eigenen Daten noch weiter zu zahlen wird ja bereits zu genüge hier im Forum Thematisiert. Hier aber genau die gleichen Daten in der App zur Verfügung zu stellen welche ich mittels API bezahlen soll ist ziemlich absurd.

 

Gibt es diesbezüglich ein update wie diese Endpunkte perspektivisch angeboten werden?

Gibt es hier seitens Viessmann bereits ein Update?

Ich habe heute den Adapter für iobroker installiert, nachdem mir die Vitoconnect bei der letzten Wartung installiert wurde, bereits mit dem Gedanken, die Verbrauchswerte selber tracken zu können. In der Dokumentation stehen diese Datenpunkte weiterhin als "Basic" mit dabei, was ich bei einer heutigen Anlage auch erwarten würde.

Hi @MichaelHanna ,

ich schließe mich den anderen hier in der Diskussion an und würde gerne fragen, ob es zu dem Thema ein Update gibt.

- Siehe den Screenshot vom 3.11. oben: Die Leistung der WP sollte laut eurer Doku in der Basic-API enthalten sein.

- in der viCare-App werden elektr. Leistung und erzeugte Wärmeleistung angezeigt, die Daten sind also vorhanden (zumindest für meinen Fall führt damit die Diskussion um ONE BASE und WLAN-Modul in die Irre.

- ist der zusätzliche Datenpunkt tatsächlich kostenpflichtig? Hierzu der Hinweis, dass der Tages-Stromverbrauch ja über die Basic-API geliefert wird, es fehlt also lediglich die Ableitung dieses Wertes. Das kann doch nicht kostenpflichtig sein????

 

Vielen Dank!

Hi @MichaelHanna@Flo_Schneider ,

wäre es möglich, die offene Frage (siehe mein vorheriger Post) zu klären? Also, gesucht ist der API-Call, mit dem die aktuelle elektr. Leistung der Wärmepumpe abgerufen werden kann. Laut Doku sollte der in der Basic-API enthalten sein. Vielen Dank euch!

Hallo Anselm1,

ich glaub es ist die Mühe nicht wert hier weiter nachzuhacken. Ich vermute, dass die elektrische Leistung sowieso nur ein errechneter Wert ist aus der Zeit wie lange die Wärmepumpe mit welcher Stufe gelaufen ist. Also nichts genaues. Ich hab bei mir mittlerweile einen Shelly Pro 3EM der mir den Strom misst.