• Sicherheitsmaßnahme! Bitte ändere dein Forum-Passwort. Siehe Beitrag
  • Hardwareluxx führt derzeit die Hardware-Umfrage 2026 (mit Gewinnspiel) durch und bittet um eure Stimme. Unter allen Teilnehmern verlosen wir eine aktuelle Grafikkarte Eurer Wahl bis 1099 EUR.

Home Assistant Filter

Liesel Weppen

Urgestein
Thread Starter
Mitglied seit
20.07.2017
Beiträge
11.703
HA hat ja diverse Filter für Sensoren.

Aber die vorgefertigen passen nicht so wirklich für meinen Anwendungsfall (oder ich verstehe deren Funktion nicht/falsch).

Mein konkretes Problem:
Home Assistant nimmt den Wert vom Stromzähler und simuliert damit ein Smartmeter was meinen Speicher steuert.
Ich habe einen Verbraucher, dessen Stromverbrauch extrem pulst... und mit extrem meine ich +-300W anscheinend mehrmals pro Sekunde. Das ganze ist sogar so extrem, das es Interferenzen mit der Ausleserate des Stromzählers gibt. Manchmal gibt er die Pulse gar nicht oder nur wenig beim Momentanverbrauch aus, manchemal fällts aber auch so, das die eben voll durchschlagen.
Wenn die Werte durchschlagen, regelt nicht nur der Speicher ständig hin und her, sondern das kann dann sogar kontraproduktiv werden, weil die Regelung zu langsam ist und ich deswegen den realen Bedarf kaum Decke, aber sogar viel Strom verschenke, weil er eingespeißt wird.

Die Idee wäre ein Filter, der dynamisch "glättet". Aber eben nur wenn starke Schwankungen auftreten.
Ein Average-Filter reicht nicht, denn der verzögert die Werte und pulst je nach Interferenz immernoch mit. Ein Outlier-Filter funktioniert nicht, weil ich will ja nicht nur Extremwerte ausfiltern.
Lowpass käme dem noch am nächsten, aber der verzögert auch eine einzige Schwankung leider schon deutlich.

Gedanklich würde ich da etwa so ansetzen:
Aus der Schwankung des Stromverbrauchs wird ein Wert über z.B. 5s ermittelt. Wenn z.B. in den letzten 5 Sekunden der Stromverbrauch konstant war, ist der Wert 0. Wenn der Stromverbrauch einmalig von 100 auf 600W springt, ist der Wert 500. Wenn der Stromverbrauch in den 5 Sekunden 3mal zwischen +300 und -300 geschwankt hat, wäre der Wert 1800.
Wenn der Wert eine Schwelle überschreitet wird nichtmehr der eigentliche Wert gemeldet, sondern der Durchschnitt der letzten 5s.

So würde ich erreichen, das ein einzelner sprunghafter Anstieg, wenn ich z.B. einen Wasserkocher einschalte, nicht verzögert wird, sondern erst wenn der Verbrauch wirklich pulst eingegriffen wird.
Ist das einigermaßen verständlich?

Gibts sowas schon fertig? Oder gibts einen Namen für so einen Filter nach dem ich suchen könnte? Oder hat jemand eine Idee wie man sowas umsetzen könnte?
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh