Brauche einen Helper, der den Min Wert der letzten Minute liefert

Darkstar

New member
Hallo,
Ich suche, gerne über GUI, einen Helfer, der den Min Wert der z. B. letzten 60 Sekunden des aktuellen Stromverbrauchs liefert. Der Wert darf gerne auch negativ sein.

Falls da jemand einen Tipp hat....


Ausführlicher:
habe 2 Balkonkraftwerke an unterschiedlichen Stromkreisen. Eines speist bis zu 750W ein, das andere über 5kWh Akku und Soyo (Sissi) mit Nulleinspeisung bis zu 450W. Die Beschränkung auf 450W erhöht die Lebensdauer und lässt meistens den Lüfter aus.

Das Problem ist mein Induktionskochfeld, das auf mittleren Kochstufen schnell ein/aus schaltet. Wenn es auf mittleren Kochstufen an geht, erhöht der Soyo seine Abgabe. Nur wenn der nachgesteuert hat, ist das Kochfeld schon wieder aus.

Somit geht dann die Akkuleistung sinnlos ins Grid. Und, ich könnte theoretisch 1200W einspeisen, was langfristig ein Problem darstellen könnte.

Durch den Helper möchte ich eben die kurzfristigen Leistungsspitzen für die Reglung der Nulleinspeisung wegfiltern.
Wenn dadurch das Kochfeld quasi komplett auf dem Grid versorgt wird, sei es so. Ist wohl billiger, als eine Regelung mit einer Reaktionszeit von 0.5 Sekunden.
 
Zuletzt bearbeitet:
Hallo @Darkstar, ich habe keinen Helfer, der mir den Min-Wert liefern kann, aber ich habe mir einen Filter gebastelt, mit dem ich den berechneten Strom für die Wallbox glätten kann. Hier ist ein Beispiel für die Glättung von getakteten E-Herden. Wenn Interesse besteht, kann ich das vielleicht heute Abend genauer erklären und den yaml-Code hochladen.

E-Herd_glaettern.png
 
Die über die GUI erstellbaren Helfer aktualisieren jede Minute, das scheint mir hier nicht hilfreich.

Eventuell wäre sowas eine Möglichkeit:
YAML:
- trigger:
    - trigger: state
      entity_id: counter.xyz
  sensor:
    - name: "min_power_con"
      state: >-
        {% set refresh_secs = 60 %}
        {% set change_secs = (refresh_secs + 1 if this.last_changed == "unknown" else now() | as_timestamp - this.last_changed | as_timestamp) | int(0) %}
        {% if trigger.to_state.state | float(-1) < this.state | float(1200) and change_secs < refresh_secs or change_secs > refresh_secs %}
        {{ trigger.to_state.state }}
        {% else %}
        {{ this.state }}
        {% endif %}
Das ist jetzt in einer template.yaml, wenn es in der configuration.yaml stehen soll müsste es um zwei Leerzeichen mehr eingerückt unter einem template: stehen.

Logik ist prinzipiell, der Sensor wird immer ausgelöst wenn counter.xyz sich ändert (durch Deinen Sensor ersetzen), und wenn entweder der Wert von counter.xyz kleiner ist als innerhalb der letzten 60 Sekunden gemessen oder aber 60 Sekunden vergangen sind seit der letzten Aktualisierung (d.h. er war die letzte Minute höher als der aktuelle Stand), dann wird der Sensor aktualisiert. Wird Dir aber für ne Minute einen zu kleinen Wert liefern, wenn der faktische Wert kontinuierlich höher ist.

Vielleicht taugen aber die bereits erwähnten / verlinkten Durchschnittswerte ohnehin besser, sofern diese öfter als jede Minute aktualisiert werden.
 
Danke euch für die Hilfe. Ich arbeite es erstmal durch.
Vermutlich kann ich erst richtig Mitte nächsten Monat testen, wenn ich wieder im kalten Köln bin.

Remote ist immer so eine Sache bei Configuration Änderung. Da verzichte ich sogar auf Updates.

@amiko das Beispiel würde mich sehr interessieren.
@Nival das ist eigentlich meine Wunschvorstellung, falls mir kein besserer Weg einfällt. Wenn der Akku 1 Minute später Strom liefert, egal. Wichtiger, keine Energie im Grid vergeuden.

Meine kleine PV Anlage hat bei Öl Heizung/Warmwasser meinen Jahresbezug im 2 Personenhaushalt schon unter 700kWh/a gedrückt. Der lag mal bei über 2000kWh/a.
Gut, Kühlschrank ausgetauscht, Kochfeld usw.
 
guck dir die verlinkte Integration an:
The average integration will execute a measure within a precise time period. You should provide none, only duration (when period ends at now) or exactly 2 of the following:
  • When the period starts (start variable)
  • When the period ends (end variable)
  • How long is the period (duration variable)

As start and end variables can be either datetimes or timestamps, you can configure almost any period you want.


Duration​

The duration variable is used when the time period is fixed. Different syntaxes for the duration are supported, as shown below.

# 15 seconds
duration: 15
...
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
6.409
Beiträge
61.725
Mitglieder
6.591
Neuestes Mitglied
gras99
Zurück
Oben