Hallo Simon,
bei mir scheint das Ausleseintervall des Balkonkraftwerks nicht ganz syncron zum Stromzähler zu sein. Außerdem schaltet mein Wechselrichter von Solarman nach Sonnenuntergang ab und hat dann auch immer 2W als Ausgangsleistung in der entsprechenden Entität stehen. Letzteres habe ich gelöst, indem ich die {% else %} Anweisung
in ein {% elif %} geändert habe un dort abfrage, ob die Anlage auf “Connected” steht
Allerdings bekomme ich nun den negativen Vorteil aus der Entität “Balkonsolar Vorteil” nicht in den Griff. Wenn ich mir den Verlauf des Sensors Eigenverbrauch anschaue habe ich dort in der Grafik für einen Zeitpunkt sogar drei Werte. Um die Hauptkurve legt sich dann eine Art Wolke herum.Diese zeigt mir dann min, max und Mittel für einen Zeitpunt an. Das kann ich mir nur damit erklären, daß entweder mein Wechselrichter oder das Balkonkraftwerk mehrfach in der Minute den Wert ändert. HomeAssistant nimmt dann offenbar immer den min Wert aus der Entität Eigenverbrauch.
Wie kann ich die if Abfrage so ändern, daß er mir entweder den “Mittel”-Wert nimmt oder analog zur Excel Funktion =max(0;Eigenverbrauch) rechnet?
Kann ich das lösen, indem ich eine verschachtelte if then Anweisung schreibe und wie würde ich das lösen?
VG
Christian
Hallo zusammen,
ich schließe mich diesbezüglich gleich mit einer Frage zum aktuellen Thema an…
@ Simon, was verstehst du bitte unter…
" (Aktueller Stromverbrauch der Wohnung in Watt vom Stromzähler ausgelesen) " ?
Habe leider k.A. was dein Zähler genau ausgibt…
Möglichkeiten:
- Leistung aller Verbraucher, welche in deiner Wohnung laufen?
- Leistung aller Verbraucher minus (-) Gesamtleistung deines BKW?
- Leistung aller Verbraucher minus (-) Überschuss (verschenkte Einspeisung) deines BKW?
würde mich sehr über eine Antwort freuen!
lG, Mani
Hi, ich bin etwas spät zu dem Thema für mich aber gerade aktuell da ich jetzt neu ein Balkonkraftwerk habe.
Die Integration von SML Stromausleser und das auslesen des Balkonkraftwers über Shelly pm mini funktioniert soweit. Ich wollt jetzt den Vorteil in EUR wie Simon es im Video und Blogbeitrag gezeigt hat. Bei mir wächst der Wert allerdings grundsätzlich ins negative. Ich habe eigentlich 1zu1 die Template sensoren von Simon übernommen und nur meine entitäten angepasst…
Nachtrag:
Das sind die Sensoren dazu, vermutlich müsste ich irgendwo *-1 hinzufügen? damit aus der negativen Zahl einfach eine positive wird? An welcher Stelle müsste ich das machen?
# Berechnet anhand des Stromzählers und der Solarerzeugung in Watt den Eigenverbrauch
- name: Solar Eigenverbrauch (Watt)
unique_id: "BalkonsolarEigenverbrauchWatts"
state_class: measurement
icon: mdi:transmission-tower
unit_of_measurement: W
device_class: power
state: >
{% if is_number(states('sensor.bitshake_smartmeterreader_dws7410_power')) and states('sensor.bitshake_smartmeterreader_dws7410_power') | float(0) < 0 %}
{{ ( (states('sensor.bitshake_smartmeterreader_dws7410_power') | float(0) ) + (states('sensor.balkon_steckdose_balkonkraftwerk_power') | float(0) ) ) | round (3) }}
{% else %}
{{ states('sensor.balkon_steckdose_balkonkraftwerk_power') | round (3) }}
{% endif %}
# Zweiter Sensor für Ersparnis in Euro pro Stunde, basiert auf dem obigen Sensor (Solar Eigenverbrauch (Watt) v2) und dem aktuellen Strompreis in EUR/kWh
- name: Balkonsolar Vorteil
unique_id: "BalkonsolarVorteil"
unit_of_measurement: EUR/h
state: >
{{ states('sensor.solar_eigenverbrauch_watt')|float(0) * states('input_number.aktueller_strompreis')|float(0)/1000 }}
by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
Guten Abend
Ich habe gemäss Simons Video die PV Ersparnis Berechnung eingerichtet. Die hat aber Aussetzer und ich weiss nicht warum.
Den Fehler sehe ich im Solar Eigenverbrauch Sensor. Legt man diese Kurve mit der Kurve des Vorteil Sensors übereinander, dann sieht man bei jedem Peak des Eigenverbrauch Sensors einen Punkt im Lückenhaften PV Ersparnis Sensor. Der Eigenverbrauch Sensor schreibt auch nur alle 5 min einen Wert, ich weiss nicht warum. Die Peaks, bei denen im Vorteils Sensor ein Punkt entstanden ist, sind jeweils der Maximalwert. Warum hat das Template nur alle 5 min einen Wert? Gibt es eine andere Art template, welches das geeigneter löst? Oder suche ich an einem ganz falschen Ort?
Kann mir jemand helfen, was hier nicht stimmt? Der Riemann Sensor, der die Preise zusammenzählt geht, aber er rechnet nur am Morgen und am Abend, anstatt den ganzen Tag, da ja der Tag mit Lücken und “Nicht Verfügbar” übersät ist.
Angefügt die Bilder übereinander gelegt und noch jeweils einzeln. Beim Bild mit PV Ersparnis ist der Anstieg über den ganzen Tag CHF 0.1, anstatt ca. CHF 1.5.-.
Danke für alle Hilfe und Gedanken.
Ich habe den Fehler gefunden.
Ich habe die float() Funktion bei meinen Templates falsch eingesetzt und so gab es probleme mit den Formeln.
Via Einstellungen/System/Protokolle habe ich gesehen, dass es Einträge gibt mit Formelproblemen. Den Fehler habe ich gegoogelt und bin hier gelandet:
Formeln angepasst, punkt vor Strich fehler gemacht. Statistiken unbrauchbar. Musste ich korrigieren.
Nun aber da alles behoben ist, geht das jetzt und macht Freude.
Fazit: Alle Werte, die gerechnet werden müssen, sollen inner halb der float() Klammern sein.
Hier ist die Fromel:
Ich prüfe, ob auf Phase a bezug ist oder ob ich einspeise. Je nach Ergebnis wird der entsprechende Wert in den Riemann gespiesen.
{% if (float(states("sensor.shellypro3em_a0dd6ca1972c_phase_a_active_power")))> 0 %}
{{ (float(states("sensor.solar_eigenverbrauch")))* (float(states("sensor.auto_tarif_ht_nt")))/1000 }}
{% else %}
{{ ((float(states("sensor.solar_eigenverbrauch"))* (float(states("sensor.auto_tarif_ht_nt"))))/1000) +
(((float(states("sensor.shellypro3em_a0dd6ca1972c_phase_a_active_power")))*-1) * (float(states("input_number.tarif_einspeisung_pv"))) /1000) }}
{% endif %}
(Beitrag vom Verfasser gelöscht)




