Ich habe meine Regelung endlich am laufen. Nie wieder mehr Einspeisen, als nötig.
Problem bei mir, ich produziere mit meiner PV schon mal mehr Strom, als ich sollte. Darin sehe ich normalerweise kein Problem, da dies im laufe eines Monats kaum auffallen dürfte.
Da ich aber einen neuen Energielieferanten habe, von dem ich Tagesaktuelle Preise bekomme, kann der natürlich auch sehen, was ich täglich an Strom verbrauche.
Je nachdem, wie gut deren Auswertesoftware ist, sofern die eine einsetzen, könnte das natürlich mal blöd kommen. So reifte der Gedanke in mir, das HA da ja eigentlich prima für geeignet wäre, das zu unterbinden.
Vorraussetzungen:
Ein Smartmeter oder andere geeignete Meßeinrichtung, die erkennen kann, wie viel man gerade Einspeist.
Wechselrichter, die man Fernsteuern kann. Bei mir Hoymiles 600 mit DTU
Zunächst einmal habe ich in meiner templates.yaml folgenden Code.
Der Sensor "sensor.electricity_rodgener_strasse_22_total_power" ist mein Smartmeter, das bei Einspeisung negative Werte ausgibt.
Berechnet wird hier nun der Wert, der an den Wechselrichter geschickt wird, wenn die Einspeisung zu groß wird.
Beispiel:
Wenn wir also 700 Watt einspeisen, würden die Wechselrichter auf max. Output 500 Watt gestellt. Also 200 Watt weniger, als sie könnten.
Bitte jetzt keine Diskussion darüber, warum zwei Wechselrichter oder warum keine Nulleinspeisung !
Soweit also erst mal die Berechnung. Nun kommen wir zu der Logik, die den Output des Wechselrichter steuert.
Die Routine prüft alle 10 Sekunden, ob wir mehr als 550 Watt in das öffentliche Netz einspeisen. Sicher kann man das öfter prüfen, aber das kostet auch jedes mal Zeit und ich will HA nicht unnötig belasten. Ich denke, alle 10 Sekunden ist ein guter Kompromiss.
Wenn wir dann mehr als 550 Watt einspeisen, den Wert kann ja jeder nach seinen eigenen Vorstellungen anpassen, dann werden beide Wechselrichter auf einen max. Output gestellt. Den Wert hatten wir ja vorher berechnet. Der Vorteil an der Berechnung ist, das man auf veränderten Verbrauch auch recht flott reagieren kann. Schaltet sich also die Waschmaschine ein, sinkt automatisch die Einspeisung und die Wechselrichter geben wieder mehr Leistung ab.
Klar könnte man die auch brutal auf 0 setzen, aber darin sehe ich keinen Sinn bzw. würde mich 10 Sekunden lang unnötig Strom kosten. Hört sich wenig an, kann aber im laufe eines Tages sich durchaus aufsummieren.
So, wenn nun wieder weniger eingespeist wird, als 400 Watt, werden die Wechselrichter wieder auf max Output gesetzt. Die HM-600 können durchaus etwas mehr als die 600 Watt abgeben, ich hatte die schon mal bei 620 Watt, bei nur 320 Watt Modulen.
Die Zahlen für Entity_id und Device_id kann man wie folgt erhalten.
Einstellungen -> Automatisierung & Szene -> Automatisierung erstellen.
Da geht man dann einfach mal unten in den Aktionen Bereich und wählt "Gerät". Unter "Gerät" wählt man dann seinen Wechselrichter und bei Aktion die Aktion, mit der ihr die Leistung des Wechselrichter regeln könnte. Bei mir heißt das "Wert für Wechselrichter Limit NonPersistent Absolut setzen"
Dann klickt ihr recht knapp oberhalb des Wechselrichter auf die 3 Punkte und sagt "als yaml bearbeiten". Sort seht ihr dann die Werte für device_id und entity_id.
Warum müssen wir diesen Umweg gehen ?
Weil wir in dem Visual Editor keine templates angeben können, sprich, unseren berechneten Wert.
Wir müssen also stattdessen ganz oben rechts die 3 Punkte auswählen, "Als yaml bearbeiten" und dann obigen Code einfügen. Vorher alles andere löschen.
Dann ersetzt ihr die Zahlen durch eure werte und fertig.
Das wars. Damit solltet ihr nie wieder mehr Einspeisen, als nötig.
Viel Spaß damit.
Problem bei mir, ich produziere mit meiner PV schon mal mehr Strom, als ich sollte. Darin sehe ich normalerweise kein Problem, da dies im laufe eines Monats kaum auffallen dürfte.
Da ich aber einen neuen Energielieferanten habe, von dem ich Tagesaktuelle Preise bekomme, kann der natürlich auch sehen, was ich täglich an Strom verbrauche.
Je nachdem, wie gut deren Auswertesoftware ist, sofern die eine einsetzen, könnte das natürlich mal blöd kommen. So reifte der Gedanke in mir, das HA da ja eigentlich prima für geeignet wäre, das zu unterbinden.
Vorraussetzungen:
Ein Smartmeter oder andere geeignete Meßeinrichtung, die erkennen kann, wie viel man gerade Einspeist.
Wechselrichter, die man Fernsteuern kann. Bei mir Hoymiles 600 mit DTU
Zunächst einmal habe ich in meiner templates.yaml folgenden Code.
Code:
- sensor:
- name: PV Einspeisung
unique_id: PV_Einspeisung
unit_of_measurement: "W"
device_class: power
state_class: measurement
state: >
{{ ( 850 + (states('sensor.electricity_rodgener_strasse_22_total_power') | int /2)) }}
Berechnet wird hier nun der Wert, der an den Wechselrichter geschickt wird, wenn die Einspeisung zu groß wird.
Beispiel:
feste Zahl | Einspeisung | Wert für Wechselrichter |
850 | -200 /2 | 750 |
850 | -400 /2 | 650 |
850 | -600 /2 | 550 |
850 | -700 /2 | 500 |
Wenn wir also 700 Watt einspeisen, würden die Wechselrichter auf max. Output 500 Watt gestellt. Also 200 Watt weniger, als sie könnten.
Bitte jetzt keine Diskussion darüber, warum zwei Wechselrichter oder warum keine Nulleinspeisung !
Soweit also erst mal die Berechnung. Nun kommen wir zu der Logik, die den Output des Wechselrichter steuert.
Code:
# Stört euch nicht an dem Namen.
alias: Nulleinspeisung
description: ""
# Alle 10 Sekunden prüfen wir, ob eine der Bedingungen zutrifft.
trigger:
- platform: time_pattern
seconds: /10
action:
# wenn mehr als 550 Watt eingespeist werden, dann ....
- if:
- type: is_power
condition: device
device_id: 2e562692166a7f556412a313a97fe3eb
entity_id: e08cbf7ef28d8daf1565733651991cdb
domain: sensor
below: -550
then:
# setzen wir den Output von beiden Wechselrichtern auf den zuvor errechneten Wert
- service: number.set_value
data:
value: "{{ states('sensor.pv_einspeisung')|float }}"
target:
entity_id: f1f3f486dcc5f83cfb8921b981e478bb
enabled: true
- service: number.set_value
data:
value: "{{ states('sensor.pv_einspeisung')|float }}"
target:
entity_id: 3d92ed40c51df0d25c983576bee09282
enabled: true
- if:
# sinkt die Einspeisung auf weniger als 400 Watt, dann......
- type: is_power
condition: device
device_id: 2e562692166a7f556412a313a97fe3eb
entity_id: e08cbf7ef28d8daf1565733651991cdb
domain: sensor
above: -400
then:
# setzen wir beide Wechselrichter auf 700 Watt Output.
- device_id: 1104e25f8f413428dd29d04b13169ab3
domain: number
entity_id: 6311b5b2385d6f86b15ddfa06bde927f
type: set_value
value: 700
- device_id: 9bfd33a5996fa6a0c98a283d065ea50b
domain: number
entity_id: e76f11aae03459148dde6ae0100434c9
type: set_value
value: 700
mode: single
Die Routine prüft alle 10 Sekunden, ob wir mehr als 550 Watt in das öffentliche Netz einspeisen. Sicher kann man das öfter prüfen, aber das kostet auch jedes mal Zeit und ich will HA nicht unnötig belasten. Ich denke, alle 10 Sekunden ist ein guter Kompromiss.
Wenn wir dann mehr als 550 Watt einspeisen, den Wert kann ja jeder nach seinen eigenen Vorstellungen anpassen, dann werden beide Wechselrichter auf einen max. Output gestellt. Den Wert hatten wir ja vorher berechnet. Der Vorteil an der Berechnung ist, das man auf veränderten Verbrauch auch recht flott reagieren kann. Schaltet sich also die Waschmaschine ein, sinkt automatisch die Einspeisung und die Wechselrichter geben wieder mehr Leistung ab.
Klar könnte man die auch brutal auf 0 setzen, aber darin sehe ich keinen Sinn bzw. würde mich 10 Sekunden lang unnötig Strom kosten. Hört sich wenig an, kann aber im laufe eines Tages sich durchaus aufsummieren.
So, wenn nun wieder weniger eingespeist wird, als 400 Watt, werden die Wechselrichter wieder auf max Output gesetzt. Die HM-600 können durchaus etwas mehr als die 600 Watt abgeben, ich hatte die schon mal bei 620 Watt, bei nur 320 Watt Modulen.
Die Zahlen für Entity_id und Device_id kann man wie folgt erhalten.
Einstellungen -> Automatisierung & Szene -> Automatisierung erstellen.
Da geht man dann einfach mal unten in den Aktionen Bereich und wählt "Gerät". Unter "Gerät" wählt man dann seinen Wechselrichter und bei Aktion die Aktion, mit der ihr die Leistung des Wechselrichter regeln könnte. Bei mir heißt das "Wert für Wechselrichter Limit NonPersistent Absolut setzen"
Dann klickt ihr recht knapp oberhalb des Wechselrichter auf die 3 Punkte und sagt "als yaml bearbeiten". Sort seht ihr dann die Werte für device_id und entity_id.
Warum müssen wir diesen Umweg gehen ?
Weil wir in dem Visual Editor keine templates angeben können, sprich, unseren berechneten Wert.
Wir müssen also stattdessen ganz oben rechts die 3 Punkte auswählen, "Als yaml bearbeiten" und dann obigen Code einfügen. Vorher alles andere löschen.
Dann ersetzt ihr die Zahlen durch eure werte und fertig.
Das wars. Damit solltet ihr nie wieder mehr Einspeisen, als nötig.
Viel Spaß damit.