Home Assistant

Filter-Sensor in HA: Verrauschte Werte glätten

Jeder, der Home Assistant länger betreibt, kennt das: Ein Leistungssensor springt im Sekundentakt zwischen 40 und 900 Watt, ein Feinstaubmesser zeigt kurz einen Ausreisser von 300 µg/m³, obwohl die Luft sauber ist, und die daran gehängte Automation feuert prompt einen Fehlalarm. Die Ursache ist selten der Sensor selbst, sondern das Rauschen in seinen Rohdaten. Genau dafür gibt es die filter-Integration – ein unterschätztes Werkzeug, das aus zappeligen Messwerten eine ruhige, brauchbare Linie macht.

Das Problem: Rohdaten lügen im Detail

Viele Sensoren liefern technisch korrekte, aber praktisch unbrauchbare Momentwerte. Ein Shelly Plus 1 PM misst die Leistung so schnell, dass jeder Kompressorstart und jede Pumpe als Spitze durchschlägt. Ein Luftgütesensor wie der VINDSTYRKA reagiert auf einen einzelnen Küchendunst mit einem kurzen Peak. Wer solche Rohwerte direkt in Schwellen-Automationen oder Dashboards steckt, bekommt Fehlauslösungen und nervöse Graphen.

Der Filter-Sensor legt sich als Zwischenschicht über die Originalentität. Er lässt die Rohdaten unberührt, erzeugt aber eine neue, geglättete Entität, mit der Sie danach arbeiten. Zwei Filtertypen decken die meisten Fälle ab: der Outlier-Filter wirft einzelne Ausreisser weg, der Lowpass-Filter glättet den generellen Verlauf.

Schritt für Schritt: Filter einrichten

Die Konfiguration erfolgt in der configuration.yaml (oder einer ausgelagerten sensor:-Datei). Beginnen wir mit einem verrauschten Leistungssensor:


sensor:
  - platform: filter
    name: "Waschkueche Leistung geglaettet"
    entity_id: sensor.shellyplus1pm_7c87ce64ae7c_switch_0_leistung
    filters:
      - filter: outlier
        window_size: 4
        radius: 150.0
      - filter: lowpass
        time_constant: 10
        precision: 1

Der Outlier-Filter betrachtet die letzten vier Werte und verwirft alles, was mehr als 150 Watt vom Median abweicht – ein einzelner Fehlwert wird durch den Median ersetzt statt weitergereicht. Der nachgeschaltete Lowpass-Filter zieht dann eine sanfte Linie: Je höher der time_constant, desto träger und ruhiger reagiert der Sensor. Wichtig ist die Reihenfolge – Filter werden von oben nach unten angewendet. Erst Ausreisser entfernen, dann glätten.

Für einen Luftgütesensor, bei dem Sie kurze Spitzen bewusst wegmitteln wollen, eignet sich zusätzlich ein zeitbasierter gleitender Mittelwert:


  - platform: filter
    name: "Buero Feinstaub geglaettet"
    entity_id: sensor.vindstyrka_pm2_5
    filters:
      - filter: outlier
        window_size: 4
        radius: 25.0
      - filter: time_simple_moving_average
        window_size: "00:15"
        precision: 0

Hier bildet Home Assistant den Durchschnitt über ein rollendes 15-Minuten-Fenster. Ein einzelner Kochvorgang verschwindet, ein anhaltend erhöhter Wert bleibt sichtbar – genau das, was man für eine sinnvolle Lüftungs-Automation braucht.

Die Parameter richtig wählen

Drei Stellschrauben entscheiden über das Ergebnis. Die window_size legt fest, wie viele vergangene Werte einbezogen werden – bei zeitbasierten Filtern eine Zeitspanne, sonst eine ganze Zahl. Der radius beim Outlier-Filter ist das Toleranzband um den Median; er muss zur Grössenordnung Ihres Messwerts passen (Watt anders als µg/m³). Und precision bestimmt die Nachkommastellen der Ausgabe.

Ein häufiger Anfängerfehler: den radius zu gross wählen, sodass der Filter nichts mehr wegwirft. Beobachten Sie den neuen Sensor ein, zwei Tage im Verlaufsdiagramm und justieren Sie nach. Der Filter ist kein Ersatz für einen defekten Sensor, sondern eine Verfeinerung guter Daten.

Zusammenspiel mit anderen Helfern

Der Filter-Sensor ergänzt zwei Werkzeuge, die ich hier schon vorgestellt habe. Der Derivative-Sensor leitet ab und zeigt, wie schnell sich ein Wert ändert – mit geglätteten Eingangsdaten liefert er endlich stabile Ergebnisse statt wildem Ausschlag. Wie er funktioniert, steht im Beitrag zum Derivative-Sensor in HA. Speisen Sie also nicht den Rohsensor, sondern den gefilterten in Ableitungen und Schwellen-Automationen ein.

Ein praktischer Hinweis zum Betrieb: Der Filter braucht ein paar Messwerte, bevor er sinnvoll arbeitet. Direkt nach einem Neustart von Home Assistant füllt sich das Fenster erst wieder, weshalb der geglättete Sensor kurz unknown sein oder etwas nachlaufen kann. Für kritische Automationen lohnt es sich deshalb, zusätzlich den unavailable– und unknown-Zustand abzufangen, damit kein Fehlwert von 0 durchrutscht. Und behalten Sie im Hinterkopf: Ein Lowpass-Filter macht den Sensor bewusst träge. Für einen Alarm, der sofort reagieren muss – etwa ein Wasserleck –, ist Glättung fehl am Platz. Dort zählt der ungefilterte Rohwert.

Fazit

Die filter-Integration ist eine der wirkungsvollsten Kleinigkeiten in Home Assistant: wenige Zeilen YAML, und aus einem nervösen Rohsensor wird eine belastbare Grösse für Automationen und Dashboards. Der Outlier-Filter fängt einzelne Fehlwerte ab, der Lowpass- oder gleitende Mittelwert beruhigt den Verlauf. Fangen Sie mit Ihrem lautesten Sensor an – meist die Leistungsmessung –, legen Sie einen gefilterten Zwilling an und hängen Sie alle nachgelagerten Automationen daran um. Sie werden die Fehlalarme nicht vermissen.

Blog: https://www.coremind.ch/wordpress/ · Autor: Mike Neuburger

← Zurück zur Übersicht