{"id":1351,"date":"2026-07-19T18:11:33","date_gmt":"2026-07-19T16:11:33","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1351"},"modified":"2026-07-19T18:11:33","modified_gmt":"2026-07-19T16:11:33","slug":"filter-sensor-in-ha-verrauschte-werte-glaetten","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/filter-sensor-in-ha-verrauschte-werte-glaetten\/","title":{"rendered":"Filter-Sensor in HA: Verrauschte Werte gl\u00e4tten"},"content":{"rendered":"<p>Jeder, der Home Assistant l\u00e4nger betreibt, kennt das: Ein Leistungssensor springt im Sekundentakt zwischen 40 und 900 Watt, ein Feinstaubmesser zeigt kurz einen Ausreisser von 300 \u00b5g\/m\u00b3, obwohl die Luft sauber ist, und die daran geh\u00e4ngte Automation feuert prompt einen Fehlalarm. Die Ursache ist selten der Sensor selbst, sondern das Rauschen in seinen Rohdaten. Genau daf\u00fcr gibt es die <code>filter<\/code>-Integration \u2013 ein untersch\u00e4tztes Werkzeug, das aus zappeligen Messwerten eine ruhige, brauchbare Linie macht.<\/p>\n<h2>Das Problem: Rohdaten l\u00fcgen im Detail<\/h2>\n<p>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\u00e4gt. Ein Luftg\u00fctesensor wie der VINDSTYRKA reagiert auf einen einzelnen K\u00fcchendunst mit einem kurzen Peak. Wer solche Rohwerte direkt in Schwellen-Automationen oder Dashboards steckt, bekommt Fehlausl\u00f6sungen und nerv\u00f6se Graphen.<\/p>\n<p>Der Filter-Sensor legt sich als Zwischenschicht \u00fcber die Originalentit\u00e4t. Er l\u00e4sst die Rohdaten unber\u00fchrt, erzeugt aber eine neue, gegl\u00e4ttete Entit\u00e4t, mit der Sie danach arbeiten. Zwei Filtertypen decken die meisten F\u00e4lle ab: der <strong>Outlier-Filter<\/strong> wirft einzelne Ausreisser weg, der <strong>Lowpass-Filter<\/strong> gl\u00e4ttet den generellen Verlauf.<\/p>\n<h2>Schritt f\u00fcr Schritt: Filter einrichten<\/h2>\n<p>Die Konfiguration erfolgt in der <code>configuration.yaml<\/code> (oder einer ausgelagerten <code>sensor:<\/code>-Datei). Beginnen wir mit einem verrauschten Leistungssensor:<\/p>\n<pre><code>\nsensor:\n  - platform: filter\n    name: \"Waschkueche Leistung geglaettet\"\n    entity_id: sensor.shellyplus1pm_7c87ce64ae7c_switch_0_leistung\n    filters:\n      - filter: outlier\n        window_size: 4\n        radius: 150.0\n      - filter: lowpass\n        time_constant: 10\n        precision: 1\n<\/code><\/pre>\n<p>Der Outlier-Filter betrachtet die letzten vier Werte und verwirft alles, was mehr als 150 Watt vom Median abweicht \u2013 ein einzelner Fehlwert wird durch den Median ersetzt statt weitergereicht. Der nachgeschaltete Lowpass-Filter zieht dann eine sanfte Linie: Je h\u00f6her der <code>time_constant<\/code>, desto tr\u00e4ger und ruhiger reagiert der Sensor. Wichtig ist die Reihenfolge \u2013 Filter werden von oben nach unten angewendet. Erst Ausreisser entfernen, dann gl\u00e4tten.<\/p>\n<p>F\u00fcr einen Luftg\u00fctesensor, bei dem Sie kurze Spitzen bewusst wegmitteln wollen, eignet sich zus\u00e4tzlich ein zeitbasierter gleitender Mittelwert:<\/p>\n<pre><code>\n  - platform: filter\n    name: \"Buero Feinstaub geglaettet\"\n    entity_id: sensor.vindstyrka_pm2_5\n    filters:\n      - filter: outlier\n        window_size: 4\n        radius: 25.0\n      - filter: time_simple_moving_average\n        window_size: \"00:15\"\n        precision: 0\n<\/code><\/pre>\n<p>Hier bildet Home Assistant den Durchschnitt \u00fcber ein rollendes 15-Minuten-Fenster. Ein einzelner Kochvorgang verschwindet, ein anhaltend erh\u00f6hter Wert bleibt sichtbar \u2013 genau das, was man f\u00fcr eine sinnvolle L\u00fcftungs-Automation braucht.<\/p>\n<h2>Die Parameter richtig w\u00e4hlen<\/h2>\n<p>Drei Stellschrauben entscheiden \u00fcber das Ergebnis. Die <code>window_size<\/code> legt fest, wie viele vergangene Werte einbezogen werden \u2013 bei zeitbasierten Filtern eine Zeitspanne, sonst eine ganze Zahl. Der <code>radius<\/code> beim Outlier-Filter ist das Toleranzband um den Median; er muss zur Gr\u00f6ssenordnung Ihres Messwerts passen (Watt anders als \u00b5g\/m\u00b3). Und <code>precision<\/code> bestimmt die Nachkommastellen der Ausgabe.<\/p>\n<p>Ein h\u00e4ufiger Anf\u00e4ngerfehler: den <code>radius<\/code> zu gross w\u00e4hlen, 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\u00fcr einen defekten Sensor, sondern eine Verfeinerung guter Daten.<\/p>\n<h2>Zusammenspiel mit anderen Helfern<\/h2>\n<p>Der Filter-Sensor erg\u00e4nzt zwei Werkzeuge, die ich hier schon vorgestellt habe. Der Derivative-Sensor leitet ab und zeigt, wie schnell sich ein Wert \u00e4ndert \u2013 mit gegl\u00e4tteten Eingangsdaten liefert er endlich stabile Ergebnisse statt wildem Ausschlag. Wie er funktioniert, steht im Beitrag zum <a href=\"https:\/\/www.coremind.ch\/wordpress\/derivative-sensor-wie-schnell-aendert-sich-ein-wert\/\">Derivative-Sensor in HA<\/a>. Speisen Sie also nicht den Rohsensor, sondern den gefilterten in Ableitungen und Schwellen-Automationen ein.<\/p>\n<p>Ein praktischer Hinweis zum Betrieb: Der Filter braucht ein paar Messwerte, bevor er sinnvoll arbeitet. Direkt nach einem Neustart von Home Assistant f\u00fcllt sich das Fenster erst wieder, weshalb der gegl\u00e4ttete Sensor kurz <code>unknown<\/code> sein oder etwas nachlaufen kann. F\u00fcr kritische Automationen lohnt es sich deshalb, zus\u00e4tzlich den <code>unavailable<\/code>&#8211; und <code>unknown<\/code>-Zustand abzufangen, damit kein Fehlwert von 0 durchrutscht. Und behalten Sie im Hinterkopf: Ein Lowpass-Filter macht den Sensor bewusst tr\u00e4ge. F\u00fcr einen Alarm, der sofort reagieren muss \u2013 etwa ein Wasserleck \u2013, ist Gl\u00e4ttung fehl am Platz. Dort z\u00e4hlt der ungefilterte Rohwert.<\/p>\n<h2>Fazit<\/h2>\n<p>Die <code>filter<\/code>-Integration ist eine der wirkungsvollsten Kleinigkeiten in Home Assistant: wenige Zeilen YAML, und aus einem nerv\u00f6sen Rohsensor wird eine belastbare Gr\u00f6sse f\u00fcr Automationen und Dashboards. Der Outlier-Filter f\u00e4ngt einzelne Fehlwerte ab, der Lowpass- oder gleitende Mittelwert beruhigt den Verlauf. Fangen Sie mit Ihrem lautesten Sensor an \u2013 meist die Leistungsmessung \u2013, legen Sie einen gefilterten Zwilling an und h\u00e4ngen Sie alle nachgelagerten Automationen daran um. Sie werden die Fehlalarme nicht vermissen.<\/p>\n<p>Blog: https:\/\/www.coremind.ch\/wordpress\/ \u00b7 Autor: Mike Neuburger<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jeder, der Home Assistant l\u00e4nger betreibt, kennt das: Ein Leistungssensor springt im Sekundentakt zwischen 40 und 900 Watt, ein Feinstaubmesser zeigt kurz einen Ausreisser von 300 \u00b5g\/m\u00b3, obwohl die Luft sauber ist, und die daran geh\u00e4ngte Automation feuert prompt einen Fehlalarm. Die Ursache ist selten der Sensor selbst, sondern das Rauschen in seinen Rohdaten. Genau &#8230; <a title=\"Filter-Sensor in HA: Verrauschte Werte gl\u00e4tten\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/filter-sensor-in-ha-verrauschte-werte-glaetten\/\" aria-label=\"Mehr Informationen \u00fcber Filter-Sensor in HA: Verrauschte Werte gl\u00e4tten\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1351","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1351","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=1351"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1351\/revisions"}],"predecessor-version":[{"id":1377,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1351\/revisions\/1377"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1351"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1351"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1351"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}