« Elektrotechnik & Smarthome  |

Homeassistant/Grafana Einheiten

Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
  •  MPP33
12.11. - 14.11.2024
10 Antworten | 4 Autoren 10
10
Hallo zusammen

ich hab mich jetzt mal mit Homeassistant spielen angefangen.

Ziel: Weg von Aufzeichnung über Cloud Blödsinn der einen zu irgendwelchen Premiumzugängen animieren probiert und einer gesamtheitlichen Auswertemöglichkeit aller Systeme (Fronius Gen24+BYD, Nibe S1255, Free@Home, zukünftig Klingel/Kamera und Wohnraumlüftung)

Homeassistant läuft auf einem Rhaspberry Pi 4 mit einer SSD als Speicher, InfluxDB und Grafana sind nach Youtube Tutorials von "Simon42" eingerichtet.

Die Wärmepumpe und Free@Home sind schon länger integriert, die wichtigsten Entitäten hab ich mir auch schon zusammengesucht.

Die PV hab ich letztens integriert und anhand dieser Anleitung integriert und das Energiedashboard funktionierte auf Anhieb:
https://kofler.info/fronius-wechselrichter-in-home-assistant-einbinden/

Soviel zur Grundlage.
Jetzt wollt ich mir das mit Grafana aufbereiten und bin auf ein Problem mit den Einheiten gestoßen.

-  Leistungswerte von der PV kommen in [W]
- Die erzeugte PV Energie und Lade/Entlade Energie lt. der oben genannten Anleitung [kWh]
- Leistungs und Verbrauchswerte der Wärmepumpe kommen in [kW] und [kWh] daher.

Die ersten 2 Punkte scheinen im Energiedashboard kein Problem zu machen, sobald es in Grafana geht wirds aber zum Problem.

Will ich 2 Kurven in einem Diagramm gemeinsam anzeigen (konkret den Momentanstromverbrauch vom Haus [W] und den Momentanstromverbrauch der Heizung [kW]) zeigt es mir auf der Y-Achse Werte im 1000er Bereich, einen Hausverbrauch der in Watt der Y-Achse entspricht und eine kaum ablesbare Kurve/Linie für die Heizung da er den wesentlich niedrigeren Wert in kW quasi als W anzeigt.

Ich war dann schlau und bin in die einzelnen Entitäten reingegangen und hab alles was [W] war auf [kW] umgestellt weil im Hausbereich Watt kaum sinnvoll ist, hab mich dann gefreut, dass es in Grafana funktionierte.
Bis ich festgestellt hab, dass es mir das Energiedashboard zerschossen hat da die Gesamte erzeugte Energie dann die Einheit [kkW] hatte. Die config.yaml umzuschreiben (Konvertierung von Wh auf kWh entfernen) war nicht erfolgreich. Erst ein rückstellen auf den Ursprung half wieder.

Lange Rede, kurzer Sinn: Wie geht ihr mit dem Einheitsthema um? Achtet ihr darauf die Entitäten wenn ihr sie nutzt auf einheitliche Einheiten zu stellen?
Konkret wären das dann die Wärmepumpenwerte die ich auf [W] und [Wh] umstelle mit dem Ansatz hier SI Einheiten anzustreben.

Oder ist es sinnvoller die Werte zu nutzen wie sie daherkommen und gibt es eine Lösung Werte die in [W] und [kW] aufgezeichnet werden gemeinsam korrekt in einem Grafana Diagramm anzuzeigen?
Eine einfache Option hätt ich da leider noch nicht entdeckt - vl. bin ich auch nur blind?

  •  Benji
  •   Gold-Award
13.11.2024  (#1)

zitat..
MPP33 schrieb: Oder ist es sinnvoller die Werte zu nutzen wie sie daherkommen und gibt es eine Lösung Werte die in [W] und [kW] aufgezeichnet werden gemeinsam korrekt in einem Grafana Diagramm anzuzeigen?

du kannst in Diagrammen je Wert eine eigene Y-Achse angeben (geht mit "Overrides")


1
  •  MPP33
13.11.2024  (#2)
Ist eine Idee, aber nicht mein Ziel.
Ich hätte schon gerne, dass die 2 Werte in der gleichen Einheit angezeigt werden wenn das möglich und sinnvoll ist, genauer genommen [kWh] (und alles andere am besten auch, egal ob es anders reinkommt).
Was ich wiederum nicht will ist in der Datenbank einen zweiten umgerechneten Wert zu erzeugen, also doppelte Datenmenge nur mit dem Zweck der einheitlichen Einheiten...

Was mir auch noch aufgefallen ist, wenn ich unter "Entweicklerwerkzeuge - Statistik" auf die entsprechenden Werte gehe und die Einheit umstelle passiert folgendes:

Wenn ich mir den Wert anschaue (Kompressorleistung - brauch ich eigentlich nicht, daher gut zum spielen) oder in den Verlauf geh hab ich kW.
Auch in Grafana kann ich den Wert dann als kW nutzen

2024/20241113601660.png
2024/20241113869414.png

Unter Statistik hat der Wert aber immer noch [W] als "Statistik Maßeinheit"

2024/20241113198767.png

D.h. am Ende hab ich im System eine mir nicht ganz verständliche Einheitsmischung die zu den Problemen im Energiedashbord geführt hat (der Wert "Total Photovoltaics Energy" stieg plötzlich nicht mehr obwohl es PV Strom gab).

Daher eher der Ansatz, dass ich die reinkommenden Werte nicht angreife - oder ich muss verstehen was ich da tu. :D




1
  •  MPP33
13.11.2024  (#3)
Grade noch entdeckt... Ich kann den Wert der Gesamtleistung /1000 nehmen...

2024/20241113758344.png

Dann bekomm ich grundsätzlich mal was ich will (Gesamtverbrauch und darunter den Anteil den die Heizung ausmacht)

2024/20241113326006.png

Die Grundsatzfrage ist halt immer noch ob das der sinnvollste Weg ist?!


1


  •  Balu88
  •   Bronze-Award
13.11.2024  (#4)
Hallo @MPP33 ,

schau dir mal die Helfer an!
Nutze dafür dann Template Sensor und lass dir von ChatGPT helfen, wie das template aussehen kann.
Bevor du ins Energiedashboard und Grafana gehst, brauchst du für alles was du darstellen möchtest, die Helfer:

Heizung_Energy [kWh]
Heizung_Power [W]

Die Energiepunkte kannst du auch mit einem Integral Sensor Helfer, linke Trapezregel erstellen, falls du sie aus PV/WP/whatever nicht bekommst.
Sobald du einheitliche Daten hast (Heizung_Power, Heizung_Wärme_Power, PV_MPPT1_Power, PV_MPPT2_Power) gehts erst in die Darstellung.

Template:
{{ states('sensor.power_in_kw') | float / 1000 }}

1
  •  MPP33
13.11.2024  (#5)
Danke für den Hinweis "Helfer".

Jetzt hab ich auch einigermaßen kapiert was da bei der Integration der PV genau gemacht wird. Einmal den Wert sauber aufbereiten (im Fall vom Akku sensor.solarnet_leistung_von_der_batterie halt positive und negative Werte getrennt, bei der PV Leistung halt ohne PV Strom den Wert auf 0) und dann wird aus der Momentanleistung halt ein stetig steigender Verbrauch aufsummiert.

Bei Bezug und eingespeißter Energie ist der Wert seitens Smartmeter durch die Natur eines Zählers (plump konstant hochzählen) schon korrekt fürs Energiedashboard.

Wärmepumpe hab ich jetzt wie vorgeschlagen integriert
template:
  - sensor:
     - name: "Power Heating"
        unit_of_measurement: W
        device_class: power
        state: "{{ states('sensor.energy_log_current_power_consumption_32306') | float(default=0)*1000}}"

sensor:
    - platform: integration
      source: sensor.power_heating
      name: "Total Heating Energy"
      unit_prefix: k
      unique_id: 'myuuid_1237'
      method: left

Letzterer ist jetzt im Energiedashboard und zeigt mir die verbrauchte Energie der Wärmepumpe an.
Nur "unique_id: 'myuuid_1237'" ist mir etwas schleierhaft... Was passiert da? Habs einfach "abgeschrieben" :P

Dumme Frage... Das ist jetzt plump der Gesamtverbrauch der Heizung, also Kompressor, Umwälzpumpe, Steuerung, vermutlich auch Heizstab falls der einmal zuschaltet (was nie dier Fall ist...)

Wie ließe sich das am schlauesten in folgende Werte auftrennen?
- Heizung
- Warmwasser
- Kühlung

Ich hätte da diese Werte zur Hand... Nur sind das halt Werte die von der Heizung selbst schon aufsummiert werden UND ich weiß, dass der Wert für Kühlung in meinem Fall immer 0 bleibt.
Meine liebe Nibe zeigt mir (auch am Gerät) Energie für Kühlung nämlich unter verbrauchter Energie für Heizung an...

2024/20241113863133.png


1
  •  scarpej
  •   Bronze-Award
14.11.2024  (#6)

zitat..
MPP33 schrieb: Die Grundsatzfrage ist halt immer noch ob das der sinnvollste Weg ist?!

Grundsätzlich ist es immer sinnvoll die Daten von der Anzeige zu trennen. Soll konkret heißen: 
Speichere die Daten im Rohformat, wie sie kommen in der DB .. ich nehme an du hast influx.

In Grafana konvertierst du diese in die ensprechende Zieleinheit W oder KW oder was auch immer und zeigst sie an. 

Das hat den Vorteil, dass die Rohdaten - egal in welchem Tool  - dann auf den jeweiligen Bedarf angepasst werden können und dort entsprechend adapiert werden können. 

Google mal das MVC Pattern. Das ist ein leicht verständliches Konzept, welches Daten, Kontrollfluss und GUI wunderbar auftrennt.

LG


1
  •  Balu88
  •   Bronze-Award
14.11.2024  (#7)

zitat..
MPP33 schrieb:

Wie ließe sich das am schlauesten in folgende Werte auftrennen?
- Heizung
- Warmwasser
- Kühlung

Ich hätte da diese Werte zur Hand... Nur sind das halt Werte die von der Heizung selbst schon aufsummiert werden UND ich weiß, dass der Wert für Kühlung in meinem Fall immer 0 bleibt.
Meine liebe Nibe zeigt mir (auch am Gerät) Energie für Kühlung nämlich unter verbrauchter Energie für Heizung an...

Das kommt eben auf die Datenpunkte an. 
Ich messe meine Panasonic Aquarea Leisha 7 Luftwärmepumpe mit einem Shelly 3EM 3-phasigen Energiemesser.
Wenn auf Phase 2 Verbrauch ist, weiß ich das es nur der Heizstab wäre (ist aber deaktiviert).
Auf Phase 1 hängt das Innengerät, hier kann ich die Datenpunkte der WP WP [Wärmepumpe] "Überprüfen". Brauchwarmwasser ist bei mir eine extra WP WP [Wärmepumpe], da tu ich mich leichter.
Den COP errechne ich mir einmal aus Shelly/externen WMZ und einmal interem Panasonic Stromverbrauch / internem Wärmeenergiedatenpunkt und hier sind schon Unterschiede, wo ich ganz klar dem Shelly/WMZ mehr vertrau.

Aber du hast ja nun e schon grob deine Aufzeichnungen, schau die Datenpunkte durch ob nicht irgendwo Heizung/Warmwasser/Kühlung getrennt übertragen wird. 😉


1
  •  MPP33
14.11.2024  (#8)
Prinzipiell tut sie das ja mit dem Wert "Used" aber auch "Produced" Energy past hour.
Ist aber nur ein Stundenfeiner Wert (reicht fürs meiste), aber ich hätts doch gern genauer.
Außerdem eben das Problem, dass der Wert für Kühlung immer leer ist und beim (passiv) kühlen der Wert als "Heizung" geschrieben wird.

Der Wert den ich nutze scheint einfach die Gesamtenergie die ins Gerät geht anzuzeigen - Kompressor alleine gäbs auch noch.

Was ich noch nicht gefunden habe ist ein Wert der mir konkret ausgibt ob die Wärmepumpe heizt, kühlt oder WW WW [Warmwasser] macht. Am Display zeigt sies ja an, also sollte die Info irgendwo vorhanden sein. Ich betreibe sie aber (derzeit) Manuell und schalte die Heizung händisch ein/aus, gleich wie die Kühlung, ggf. spuckt er mir dadurch nur einen Wert "Manuell" aus bzw. wenn sie WW WW [Warmwasser] macht einfach "...nichts...".
Schlimmstenfalls könnt ich das passiv kühlen über die Kompressorfrequenz erkennen, die wäre dann ja 0.

Danke für den Tipp mit MVC Pattern, les ich mir als Abendlektüre durch.
Meine Gedanken gingen auch in die Richtung "lass die Daten so wie sie daherkommen", das macht aus früherer Erfahrung einfach am wenigsten Probleme. Inzwischen weiß ich ja wie ich das in Grafana auf die richtige Einheit umrechne.

Hab jetzt nur ein Problem, der Wert für die Leistung scheint bei konstantem dahintümpeln auf gleicher Leistung keine Datenpunkte zu generieren.
Der Energiemengenzähler dürfte zwar in Summe korrekt arbeiten, macht aber erst einen Sprung wenn ein neuer Wert daherkommt.

2024/20241114248090.png

Das ist im Energiedashboard natürlich Blödsinn...
Da schmeißt er mir dann die gesamte verbrauchte Energie in die Stunde rein wo die Wärmepumpe den Verbrauch geändert hat.
Wie lös ich das wieder?...

2024/20241114664646.png




1
  •  scarpej
  •   Bronze-Award
14.11.2024  (#9)

zitat..
MPP33 schrieb: Hab jetzt nur ein Problem, der Wert für die Leistung scheint bei konstantem dahintümpeln auf gleicher Leistung keine Datenpunkte zu generieren.
Der Energiemengenzähler dürfte zwar in Summe korrekt arbeiten, macht aber erst einen Sprung wenn ein neuer Wert daherkommt.

... was ja korrekt ist. Um von den Leistungspunkten die Energiemenge zu errechnen, musst du das Riemansche Integral anwenden... Das gibt es glaub ich mittlerweile auch als integralen Bestandteil in HA (da solltest genug im Netz dazu finden). Bau dir einen Sensor, der die Leistungsmengen mit dieser Funktion umwandelt, dann kannst du diesen wunderbar verwenden.


1
  •  MPP33
14.11.2024  (#10)
Tu ich das nicht schon?

sensor:
    - platform: integration
      source: sensor.power_heating
      name: "Total Heating Energy"
      unit_prefix: k
      unique_id: 'myuuid_1237'
      method: left

Edit: Und bereits gelöst. Jetzt zählt er auch ohne Datenpunkt seitens der WP WP [Wärmepumpe] jede Minute die verbrauchte Energie hoch.

    - platform: integration
      source: sensor.power_heating
      name: "Total Heating Energy"
      unit_prefix: k
      unique_id: 'myuuid_1237'
      method: left
      max_sub_interval:
       minutes: 1


2024/20241114179594.png


1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]

Nächstes Thema: Stromkabel im Außenbereich Aufputz?