core
core copied to clipboard
Viessmann vicare consumption entity names are misleading
The problem
The Viessmann vicare integration provides a long list of entities to monitor the energy consumption of your heating and DWH system. In case of a gas boiler there are the following entities for reporting the amount of gas burned:
component::vicare::entity::sensor::gas_consumption_heating_today::name
component::vicare::entity::sensor::gas_consumption_heating_this_week::name
component::vicare::entity::sensor::gas_consumption_heating_this_month::name <-
component::vicare::entity::sensor::gas_consumption_heating_this_year::name <-
component::vicare::entity::sensor::gas_summary_consumption_heating_currentday::name
component::vicare::entity::sensor::gas_summary_consumption_heating_lastsevendays::name
component::vicare::entity::sensor::gas_summary_consumption_heating_currentmonth::name <-
component::vicare::entity::sensor::gas_summary_consumption_heating_currentyear::name <-
Unfortunately those for "this_month" and "this_year" vs. "currentmonth" and "currentyear" (indicated by "<-" above) have completly identical names as
- "Heating gas consumption this month"
- "Heating gas consumption this year"
So it's impossible to understand what they actually mean and how they differ.
Given than in group of the latter four for "summary_consumption" we have "lastsevendays" I can only guess that "currentday" is actually for the last 24 hours, "currentmonth" for the last 30/31 days and "currentyear" for the last 12 months.
And the first four are counting from the start of the respective calendar day, week, month and year. If true, using "this calendar day, week, month, year" for the names would be a simple fix.
In addition to this, the "Heating energy" entities are actually for electrical energy consumed:
component::vicare::entity::sensor::energy_summary_consumption_heating_currentday::name
component::vicare::entity::sensor::energy_summary_consumption_heating_lastsevendays::name
component::vicare::entity::sensor::energy_summary_consumption_heating_currentmonth::name
component::vicare::entity::sensor::energy_summary_consumption_heating_currentyear::name
So in case of an gas boiler this is just the electricity consumed by the circulation pumps and electronics. This needs to be made much clearer by renaming them to "Heating - Electrical energy consumption …"
In addition they need the same naming fix as the other "summary_consumption" entities above.
What version of Home Assistant Core has the issue?
core-2024.10.1
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Viessmann ViCare
Link to integration documentation on our website
https://www.home-assistant.io/integrations/vicare
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
We do have a Vidtodens 300-W gas boiler in our house so I was able to compare the numbers reported by the HA integration vs. the ViCare app from Viessmann.
This way I can see that the "Heating energy" entities are actually reporting just the electrical energy consumed and not - as one might suspect - the kWh derived from the m³ reported by the "Heating gas consumption" entities.
As we don't produce hot water with our system I cannot comment on all the DHW entities but I assume similar fixes need to applied there, too.
Stumbled over all this while trying to create a correct German translation in Lokalise.
Hey there @cfenner, mind taking a look at this issue as it has been labeled with an integration (vicare) you are listed as a code owner for? Thanks!
Code owner commands
Code owners of vicare can trigger bot actions by commenting:
@home-assistant closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign vicareRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.
(message by CodeOwnersMention)
vicare documentation vicare source (message by IssueLinks)
Hey @NoRi2909 thanks for raising this. Actually regarding the heating energy the labels are defined exactly as you suggest:
https://github.com/home-assistant/core/blob/fe9ae0d8bd725b9db1e09aea7e24509367bb5de8/homeassistant/components/vicare/strings.json#L236-L247
I guess someone messed up the translations in Lokalize?
Regarding the gas consumption, unfortunately it's not that clear from the API docs what the differences are. At least the summary data point provide multiple entries (not exposed via HA or the library) so you could see the values of each of the last x months. So I guess the values should be identical. From the sample data we gathered so far, it seems that not all devices implement both of the data points, I if remember correctly.
Just had a quick check, unfortunately, some implement both, some only one and some only the other..
Hi Christopher,
Thanks for that ultra-quick reply!
Regarding the heating energy entities the names do match what I see in Lokalise. And they do not make clear at all that those are electrical kWh, not gas kWh.
With the current (correct) German translation as "Heizenergieverbrauch" that does not make any sense.
For example we have used 2.4 m³ today in gas, which is approx. 25 kWh of energy. But the heating_energy entity reports 0.6 kWh which is in fact just the electrical energy used by the boiler. This misleading entity naming is one of the two main issues here.
Regarding the second issue here, the gas consumption problem with the identical names. To better see what I mean here the problematic ones next to each other:
"gas_consumption_heating_this_month": {
"name": "Heating gas consumption this month"
},
"gas_summary_consumption_heating_currentmonth": {
"name": "Heating gas consumption this month"
},
"gas_consumption_heating_this_year": {
"name": "Heating gas consumption this year"
},
"gas_summary_consumption_heating_currentyear": {
"name": "Heating gas consumption this year"
},
As you can see the names are absolutely identical, so I do have quite a problem to translate them differently into German. They should be fixed in the English original first, then everyone can pick this up in Lokalise, too.
BTW: There is also a very major bug in Viessmann's cloud software that messes up the data if the heating is not online at the end of a day, week, month or year. If you turn off the power of your heating in the summer all your data is shifted in the statistics for number of those periods the device was offline. I reported this several times, but never got any reaction in last 2-3 years.
Perhaps we can address this as well and figure out how the statistics work for the entities here, too.
Hallo Christopher,
ich schieb das hier mal auf Deutsch dazwischen, weil wir beide das so einfacher miteinander klären können. Ich hab auf Lokalize gesehen, dass du die deutschen Übersetzungen auch eingepflegt hattest.
Die englischen Entitäten mit "Heating gas consumption" hattest du durchgehend als "Heizgasverbrauch" übersetzt, bis auf component::vicare::entity::sensor::gas_consumption_heating_today::name, wo du "Gasverbrauch Heizung" benutzt hattest. Letzteres hatte ich wegen der Suchfunktion in HA dann auch auf "Heizgasverbrauch" korrigiert. Man findet dann bei Eingabe des Suchbegriffs auch alle acht Entitäten, was im Moment nicht der Fall ist.
Nachdem ich den Bug hier geschrieben habe, denke ich aber, dass es besser ist, wenn wir umgekehrt durchgehend "Gasverbrauch für Heizung" verwenden, weil das dann auch besser zu "Gasverbrauch für Warmwasser" und eben "Stromverbrauch für Heizung" bzw. "Stromverbrauch für Warmwasser" passt. Dito mit "Gasverbrauch von Brennstoffzellen" etc. Nebenbei hat das auch den Vorteil, das es sich bei alphabetischer Sortierung der Entitäten schön gruppiert. Die Liste ist ja sehr lang, da verliert man aktuell schnell den Überblick.
Entsprechend sollten wir alle Entitiäten, die bislang "energy" enthalten, aber damit den Stromverbrauch meinen, im Englischen auch auf "electricity" umbenennen. Dann wäre das 100% unmissverständlich und im Deutschen wie oben vorgeschlagen zu übersetzen.
Wenn du letzteres klären kannst, können wir uns der Lösung dann entsprechend Schritt-für-Schritt annähern. Ich hab hier jetzt auch mal alle verfügbaren Verbrauchsentitäten für unsere Vitodens 300-W aktiviert, um in der Aufzeichnung zu sehen, wie sich diese im Vergleich zueinander verhalten. Warmwasser machen wir aber nicht damit, daher hab ich da keine Daten aus der Praxis.
Hallo Christopher,
ich befürchte, wir reden hier gerade komplett aneinander vorbei, weil dieses Hin und Her mit Englisch alles nur unendlich verkompliziert. Englisch ist furchtbar unpräzise und das ist ja auch die ganze Ursache für den Schlamassel hier.
Auf Deutsch kann ich das ganz einfach lösen mit
- Gasverbrauch Heizung
- Stromverbrauch Heizung
und jeder weiß, was gemeint ist. Das erstere wird in Kubikmetern Gas gemessen, das zweite in Kilowattstunden Strom.
Aktuell steht da aber
- Heizgasverbrauch
- Heizenergieverbrauch
Das ist völlig missverständlich, was soll das zweite jetzt sein? Der Gasverbrauch in kWh, wie er mir auch am Ende in Rechnung gestellt wird? Nein, es ist nur der Stromverbrauch für die Pumpen und Steuerung.
Ich kann das in Lokalise einfach hinbiegen, aber dann ist das Problem im Englischen doch immer noch da …
Gas Consumption for Heating(m^3) ->Gasverbrauch für HeizungGas Consumption for DHW(m^3) ->Gasverbrauch für WarmwasserEnergy Consumption for Heating(kwh) ->Energieverbrauch für HeizungEnergy Consumption for DHW(kwh) ->Energieverbrauch für Warmwasser
Also für mich macht das Sinn, aber ich bin auch keine native speaker..
Bei einer Gasheizung ergibt der aktuelle Begriff "Energieverbrauch" überhaupt keinen Sinn, weil es hier tatsächlich nur der Strom für die Pumpen und Steuerung ist.
Der tatsächliche "Energieverbrauch" ist zig mal höher, weil der doch im Gasverbrauch steckt.
Daher eben "Stromverbrauch", was für Gasheizungen wie auch für Wärmepumpen passt, deren "Energieverbrauch" eben nur der "Stromverbrauch" ist.
Also von mir aus machen wir im Englischen aus "Energy Consumption" generell das unmissverständliche "Electrical Energy Consumption".
Alles andere mit "Energy" und "Power" nicht verändern. Das sind "Energie" und "Leistung", also zwei völlig verschiedene Dinge. Und wo das noch steht, geht es eh nur noch um Strom.
Übrigens ist es "DWH" für "Domestic Water Heater", nicht "DHW", was du oben geschrieben hattest. Im Deutschen eigentlich "Brauchwasser-Erwärmung", aber "Warmwasser" ist reichlich kürzer und üblicher.
Damit hätten wir dann
- Electrical Energy Consumption for Heating -> Stromverbrauch für Heizung
- Electrical Energy Consumption for DWH -> Stromverbrauch für Warmwasser
Das kommt dann ja mit unterschiedlichen Zeiträumen vor, die dann noch angehängt werden.
Übrigens ist es "DWH" für "Domestic Water Heater", nicht "DHW", was du oben geschrieben hattest.
Wir folgen hier der Namensgebung von Viessmann domestic hot water, die sonst überall zum Einsatz kommt. Wenn ich jetzt DWH für Durchlauferhitzer benutze, ist glaube ich auch der Letzte komplett verwirrt 😉.
OK sorry, dann war ich mit "DWH" auf dem falschen Dampfer.
Ich nehme alles zurück und behaupte das Gegenteil. 😉.
Naja, ist nun die Energie für das Warmwasser und das Heizen oder für den Durchlauferhitzer und die Heizung.. damit wären wir wieder bei:
Englisch ist furchtbar unpräzise und das ist ja auch die ganze Ursache für den Schlamassel hier.
Wie genau die jeweiligen Geräte das zuordnen können, kann ich auch nicht beurteilen. Das kann nur Viessmann beantworten.
Ein Gas-Brennwertkessel weiß ja auch nur, dass z. B. im Sommer der Heizkreis komplett ausgeschaltet ist. Dann ist der Gas- und Stromverbrauch komplett der Warmwasser-Erzeugung zuzuordnen.
Wie die das bei Gas im Winter aufteilen, ist mir auch ein Rätsel. Denn der Kessel wird nunmal nur über eine Gasquelle aufgeheizt und ohne Wärmemengenzähler kann man ja überhaupt nicht genau sagen, wieviel davon über das Dreiwege-Ventil nun exakt in den Heizkreis oder den Warmwasserspeicher fließt, also wie viel des Gasverbrauchs ich dem einen oder anderen zuordne.
Den wenigen Stromverbrauch für Heizung und Warmwasser kann man aber einigermaßen genau den jeweiligen Pumpen zuordnen. Und das ist ja auch nur das, was wir hier anfassen wollen.
Und bei Wärmepumpen sind ja üblicherweise Wärmemengenzähler verbaut, um auch den COP zu ermitteln. Dann kann ich den Stromverbrauch einigermaßen gut zuordnen.
Können wir denn #127888 erstmal so zum Review geben?
Ich bin da im Moment mit Github und dem Stand deiner Änderungen überfordert, da ich damit keine Übung hab. Ansonsten hätte ich selbst schon an den Strings rumgebastelt und das als Änderung eingereicht.
Ich hab die letzten Tage über 1000 Übersetzungen in der Android-App in Lokalize überarbeitet (Ja, war echt katastrohal, wie das aussah). Von daher geht im Moment nicht noch mehr in meinen Kopf, sorry …
Ah, jetzt sehe ich die Änderung hier:
https://github.com/home-assistant/core/pull/127888/files/378f40ffa081e8706075145bdee8bef95ed82f55..4fca2de08ed163f84706c6d20a86eb2ebfe13bd2
OK, das wären dann die besprochenen Namen. Das passt dann aus meiner Sicht.
Können wir denn #127888 erstmal so zum Review geben?
Ja. Das andere Problem (unsachgemäße(?) Auswahl von "fixed" via API führt zu undefiniertem Verhalten der Heizanlage) ist bei Viessmann. Sollen die meine Kiste ohne Ausschalten ausnüchtern.
@CFenner Ich hab wie oben angekündigt jetzt mal gut eine Woche alle Sensoren für Gas- und Stromverbrauch parallel laufen lassen. Hier mal mit den im Deutschen bei mir und für das nächste Core-Update auch in HA schon angepassten Namen, damit das alles mal übersichtlicher in eine Reihenfolge kommt:
Wie man sieht, kommt das mit den Stromsensoren alles hin. Die also noch in der Pipeline steckende Änderung von "energy" auf "electricty" passt.
Was die doppelten Gas-Verbrauchsensoren angeht, hab ich mal im Bild markiert. Man sieht, dass die jeweils identische Werte liefern, aber sich beim Icon unterscheiden.
Möglicherweise meint Viessman mit "summary" in den Entitäten die Summe aus Gas für Heizung und Gas für Warmwasser, wenn das eben eine kombinierte Gastherme ist.
Das würde einiges erklären, nur nicht, warum man dann einmal die letzten sieben Tage und einmal die angebrochene Woche aufsummiert. Das bekommen wir für die Woche dann ja nicht zusammen, heute sind wir da ja bei 14 m³ für die angebrochene Woche und 20 m³ für die letzten 7 Tage.
in der Vicare-App ist das alles sinnvoller mit den Werten ich hab da
Tag - Woche - Monat - Jahr
Und als rollende Summen
7 Tage - 6 Wochen - 12 Monate
Die müssten ja auch über die API zu bekommen sein?
Die default icons hängen vom Sensor ab, wenn der keinen Typ hat, gibt es das Auge.
Und die Summenzähler kann man auch im HA mit den "utility meter"-Sensoren machen, da weiß man, was man bekommt. Notfalls kommt man auch noch leicht an den Wert der vorherigen Periode heran und wenn der Sensor, auf den man sich bezieht, keine Daten liefert, kommt aus dem utility meter der letzte gültige Wert.
Can we please keep the conversation in english?
@joostlek No problem, we switched to German at some point because there is still a problem with the wording here and it was easier to explain in German what the correct terms should be.
So to sum up where we stand: We still have duplicated entities for heating gas consumption that report the same numbers for
- today
- month
- year
@CFenner needs to take over here as he has the overview of what the Viessmann cloud is delivering here.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
not stale
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.