Einheit einer Gruppe (kwh) dauerhaft festlegen

Basic im Umgang mit Home Assistant. Tipps und Ratschläge die den Umgang mit Home Assistant erleichtern.


Antworten
Benutzeravatar
Tobi
Beiträge: 44
Registriert: Mi 28. Jun 2023, 20:38
Wohnort: Soest
Has thanked: 25 times
Been thanked: 12 times

Einheit einer Gruppe (kwh) dauerhaft festlegen

Beitrag von Tobi »

Hi zusammen,

ich habe mir vor einiger Zeit eine Gruppe erstellt um den Tagesertrag meiner beiden Wechselrichter zusammenzurechnen. Das klappt auch gut, allerdings lässt sich die Einheit "kwh" nicht dauerhaft festlegen. Erhalte eine Fehlermeldung im Log:

Code: Alles auswählen

Logger: homeassistant.components.sensor
Quelle: components/sensor/__init__.py:737
Integration: Sensor (Dokumentation, Probleme)
Erstmals aufgetreten: 17:51:03 (3 Vorkommnisse)
Zuletzt protokolliert: 17:51:03

Entity sensor.solar_tagesertrag_gesamt (<class 'homeassistant.components.group.sensor.SensorGroup'>) is using native unit of measurement 'None' which is not a valid unit for the device class ('energy') it is using; expected one of ['Wh', 'MJ', 'kWh', 'MWh', 'GJ']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+group%22
Entity sensor.daily_imported_energy_cost (<class 'homeassistant.components.template.sensor.SensorTemplate'>) is using native unit of measurement '€' which is not a valid unit for the device class ('energy') it is using; expected one of ['Wh', 'MJ', 'kWh', 'MWh', 'GJ']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+template%22
Entity sensor.daily_exported_energy_compensation (<class 'homeassistant.components.template.sensor.SensorTemplate'>) is using native unit of measurement '€' which is not a valid unit for the device class ('energy') it is using; expected one of ['Wh', 'MJ', 'kWh', 'MWh', 'GJ']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+template%22

und "kwh" wird im Dahsboard nicht mehr angezeigt.

Hier die Einstellungen der Gruppe und die nachträglich gesetzte Einstellung unter Entwicklerwerkzeuge\Zustände:

Screenshot2.png
Screenshot2.png (49.84 KiB) 178 mal betrachtet
Screenshot3.png
Screenshot3.png (54.3 KiB) 178 mal betrachtet
Screenshot 2024-04-21 093805.png
Screenshot 2024-04-21 093805.png (80.6 KiB) 178 mal betrachtet

Nachdem ich unter Entwicklerwerkzeuge\Zustände den Eintrag " unit_of_measurement: kWh " wieder hinzugefügt habe, wird kwh wieder angezeigt und die Fehlermeldung verschwindet. Allerdings hält das nicht lange an. Scheinbar wird nach einem update o. einem Neustart der gesetzte Eintrag wieder gelöscht. Die Fehlermeldung taucht dann wieder auf und die Einheit wird nicht mehr angezeigt. Der Wert wird aber weiterhin summiert.
Gibt es eine Möglichkeit den obigen EIntrag unter Entwicklerwerkzeuge\Zustände dauerhaft zu setzen?

Vielen Dank und viele Grüße!

Tobi

Benutzeravatar
Osorkon
Administrator
Beiträge: 1958
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 61 times
Been thanked: 532 times
Kontaktdaten:

Re: Einheit einer Gruppe (kwh) dauerhaft festlegen

Beitrag von Osorkon »

Wenn Du Änderungen in den Entwicklungswerkzeugen vornehmen tust, sind diese nur temporär.
Nutzt man nur zu debugging zwecken.

In Deinem Screenshot hast Du der Gruppe kein Einheit verpasst?!

Welche Einheit haben die einzelnen Sensoren, die Du aufsummieren tust?
Wenn die einzelnen Sensoren der Gruppe alle die gleich Einheit haben, bekommt der Gruppen Sensor ebenfalls die richtige Einheit.

Wenn bei vorhandnen Sensoren die Device Class, State Class oder die Einheit fehlt oder falsch ist. Kannst Du das über die customize.yaml korrigieren.
Siehe Dokumentation Customizing entities

Die anderen 2 Fehler im log für die Template Sensoren

  • sensor.daily_imported_energy_cost
  • sensor.daily_exported_energy_compensation

Da verwendest Du die falsche device class. Wenn die Einheit € lautet, muss die device class monetary lauten.

Gruß
Osorkon

Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Tobi
Beiträge: 44
Registriert: Mi 28. Jun 2023, 20:38
Wohnort: Soest
Has thanked: 25 times
Been thanked: 12 times

Re: Einheit einer Gruppe (kwh) dauerhaft festlegen

Beitrag von Tobi »

Hi Osorkon,

zunächst danke für deine Antwort.

Der Screenshot der Gruppe ist entstanden nach dem ich temporär in den Entwicklerwerkzeugen die Einheit kwh ergänzt hatte.
Mittlerweile ist die Einheit aber wieder weg, da ja leider nur temporär. (siehe neuen Screenshot)
Beide Entitäten haben die Einheit "kwh". Trotzdem werden sie ohne Einheit mit der Fehlermeldung angezeigt. Abhilfe brachte nur die temporäre Änderung in den Entwicklerwerkzeugen.

sensor_gruppe.PNG
sensor_gruppe.PNG (35.02 KiB) 159 mal betrachtet
sensor_sungrow.PNG
sensor_sungrow.PNG (27.02 KiB) 159 mal betrachtet

Code: Alles auswählen

      - name: Daily PV generation
        unique_id: sg_daily_pv_generation
        device_address: !secret sungrow_modbus_slave
        address: 13001 # reg 13002
        input_type: input
        data_type: uint16
        precision: 1
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        scale: 0.1
        scan_interval: 600
sensor_growatt.PNG
sensor_growatt.PNG (36.21 KiB) 159 mal betrachtet

Code: Alles auswählen

 - platform: modbus_controller
    name: "EnergyToday"
    address: 53
    register_type: "read"
    state_class: total_increasing
    unit_of_measurement: kWh
    device_class: energy
    icon: mdi:flash
    value_type: U_DWORD
    accuracy_decimals: 1
    filters:
    - multiply: 0.1

Die anderen beiden "€" Entitäten hatte ich auf gleichem Weg (wohl temporär) auch vor einiger Zeit mit device class "monetery" gefixt.. Ich muss nochmal nachsehen ob ich das direkt in den jeweiligen Integrationen gefixt hatte..

Edit:
hatte die wohl bereits in der zugehörigen template.yaml datei gefixt:

Code: Alles auswählen

      - name: "Daily imported energy cost"
        unit_of_measurement: €
        device_class: monetary
        state: >
          {{ (states('sensor.total_imported_energy_cost')) | float |round(2) }}

  - name: "Daily exported energy compensation"
    unit_of_measurement: €
    device_class: monetary
    state: >
      {{ (states('sensor.total_exported_energy_compensation')) | float |round(2) }}

Edit 2:
Habe unter die Screenshots die jeweiligen yaml codes der integrationen geschrieben. Sungrow ist eine modbus integration der growatt ist über esphome eingebunden.

Scheinbar muss ich mich wohl mit einer customize.yaml beschäftigen..

Viele Grüße

Tobi

Antworten