Moin! Bin der Andre, nutze seit nem Jahr einen Shelly 3EM und habe 2 Balkonsolarmodule (je 200W) mit Bosswerk MI 300 Wechselrichtern am Laufen. Ein Modul Ost, eines Westausrichtung.
Da der Shelly Blödsinn rechnet habe ich dann vor kurzem mit Home Assistant angefangen zu arbeiten. Soweit so gut, einziges Thema nun: Die Wechselrichter gehen abends aus da diese über die PV selbst versorgt werden. Somit habe ich keinen Datenzugriff mehr. Ich möchte allerdings trotzdem dann noch sehen können wie meine Autarkie lag. Im Energydashboard hat er die Tagesproduktion in der Anzeige nur kann ich diesen Wert nicht für mich nutzbar machen.
Dachte dann ich erstelle mit einen Zähler als Helfer der die Solarwerte übernimmt in der Hoffnung dieser verschwindet nicht, aber auch der zeigt unknown wenn keine Daten mehr abrufbar sind.
Nächster Ansatz (zusammenkopiert und angepasst) war eine Automatisierung:
wenn wert sich ändert und nicht unknown bzw 0 ist dann diesen Wert in input_number.pv_garage_tag bzw pv_balkjon_tag schreiben.
Zu triggern scheint es, nur die Daten sind nirgends greifbar/zu sehen/nutzbar…
ich bekomme einen Wert von Wechselrichter sensor.hm_800_power. Dieser steht mir nur dann zur Verfügung, wenn der Wechselrichter auch “arbeitet”. Also abends/nachts steht dann unknown oder unavailable dort. Dann habe ich keine Werte mehr.
Was ich zusätzlich im Code habe.
Mein Ausgangssensor springt manchmal unmotiviert auf den Wert 0. Dann soll der vorige Wert genommen werden
Wenn der Wechselrichter unknown, unavailable oder none liefert, wird der vorige Wert des Sensors genommen.
Wenn der Wechselrichter weniger als 3,5Watt als Wert liefert, dann ist das i.d.R. keine Stromproduktion mehr, sondern der Eigenverbrauch des Wechselrichters. Da der Wechselrichter nur absolute Werte liefert, wird alles unter 5Watt auf 0 gesetzt.
Am Ende benutze ich diesen Sensor HM800Power in einem Helfer “Riemann Summen Integral Sensor” und wandle den Watt-Sensor in einen Wh Sensor um. Diese habe ich dann im EnergyDashboard eingebunden.
Wenn Du direkt auf Wh-Werte zugreifst, dann sollte das mit den Formeln von mir natürlich trotzdem klappen. Du müsstest nur unit_of_measurement aug Wh oder kWh setzen. Jenachdem was Dein Wechselrichter hier liefert.
Hi Claudius,
Sensor den ich nutze stammt direkt aus der Integration der Wechselrichter über den Omnik Zusatz aus der HACS. Der holt die Werte per HTML direkt aus der IP der Wechselrichter.
Ich nutze hier jeweils den Sensor “Energieproduktion-daily”, da bekomme ich hochlaufend die Tagesproduktion in kWh mit Neustart bei Null am nächsten Tag.
Deine Rechnung und Abfrage verstehe ich, die jeweilige YAML Syntax beherrsche ich halt nur nicht
Die Riemann Summen Intregration beötige ich ja nicht da ich ja schon die Summe der Leistung als Ausgangswert habe.
Frage noch: eingebunden ist das Ganze dann in der configurations.yaml ?
Ja das ist in die configuration.yaml eingebunden.
Mann kann es auch direkt dort ablegen, jedoch versuche ich alles etwas zu strukturieren und lagere so viel als möglich in andere yaml-Dateien aus. Meine configuration.yaml hat so gut wie wie keine Sensoren etc. nur Verlinkungen.
Zurück zu Deinem Problem.
Du kannst den direkt ausgelesenen Wert nicht wirklich “korrigieren”, sondern musst Dir meiner Meinung nach einen eigenen Sensor bauen. HA scheint ja zumindest mit dem täglichen zurücksetzen keine Probleme zu haben. Vielleicht deshalb einfach einen eigenen Sensor mit Wh verwenden und meinen Code anpassen und ausprobieren.
Wenn Du schon Wh hast benötigst du keinen Riemann-Summen-Integral-Sensor.
Viel Erfolg
Claudius
P.S. hast du bereits eine template.yaml oder alles in der configuration.yaml?
Wie lautet Dein Sensor, den du aktuell verwendest?
Also eine template yaml gibt es noch nicht. aber ich vermute mal ich erzeuge einfach eine und und verweise in der configuration.yaml per template: !include xx.yaml direkt darauf. Macht Sinn, hab zwar nicht viel aktuell in der configurations drinnen, aber bei den Möglichkeiten könnte da noch einiges kommen.
So wie ich das verstehe hast du unter Nutzung der Daten von hm_800_power ja auch einen neuen Sensor HM800power erstellt welcher dann die Werte wie gewollt beinhaltet und nicht nachts einfach unknown/0/unavailable ist.
Genau so einen Ansatz habe ich gesucht! Danke dir, werde hier posten wenns getestet ist.
In der template.yamel sollte es dann ungefähr wie folgt aussehen und einfach mal einige Zeit mitlaufen lassen um zu sehen in wieweit es funktioniert oder nicht.
Servus,
erster Test seit gestern abend läuft. Kleines Problem dabei: die Ausgabe meines Sensors ist float mit dem Format x,x kWh.
Die Bedingung Werte kleiner 5 zu ignorieren hab ich entsprechend weggelassen. Über Nacht hat sich gezeigt dass das Schreiben mit 0 scheinbar funktioniert. Kurz vor 21 Uhr hat er da agiert und entsprechend die Nullen jeweils geschrieben. Leider schreibt er aber die kWh Werte nicht. Kann es sein das da irgendwie aufgrund der int == 0 der neue Sensor als integer Typ agiert und somit erst ab 1 kWh etwas anzeigt?`
Unit of measurement kWh wird scheinbar ignoriert und als Wh genutzt. unique_id hab ich mal mit den Anführungszeichen rumgespielt aber das hat keinen Einfluss anscheinend.
Hi Claudius,
das mit float(2) ist ein guter Tip. Float statt Int bei meinem Sensor zu nutzen und die == 0 Abfrage raus zu nehmen hab ich gestern Abend noch gemacht. MIT ERFOLG! das Ding macht jetzt exakt was es soll
Danke nochmals für die Hilfe
André