Home Assistant

Mi Air Purifier: Pollen-Steuerung mit HA

Mai 2026, das Wetter ist endlich freundlich, und die Pollenbelastung im Schweizer Mittelland geht wieder durch die Decke. Gräser, Birke, Esche – wer Allergiker ist, kennt den Frust: Frische Luft beim geöffneten Fenster bedeutet rote Augen, geschwollene Nase und schlechten Schlaf. Mein Mi Air Purifier 3/3H (fan.zhimi_mb3_b2e5_air_purifier) läuft seit zwei Jahren in Home Assistant, aber bisher manuell. Diese Woche habe ich ihn an Pollenflug, Aussenluftqualität und Anwesenheit gekoppelt. Das Ergebnis: deutlich ruhigere Nächte und ein Filter, der nicht 24/7 sinnlos die Wohnung leerpustet.

Das Problem: stupides Dauerlaufen kostet Filter und Strom

Der Mi Air Purifier kennt drei nützliche Modi: Auto, Favorit (feste Drehzahl) und Schlafmodus. Im Auto-Modus misst das Gerät die Partikel direkt am Standort – das ist gut, reagiert aber träge auf Pollen, die durchs Fenster reinkommen. Wer das Gerät nur nach Bedarf laufen lassen will, braucht eine Information, die Mi selbst nicht hat: Wie hoch ist der Pollenflug draussen? Wie ist die Luftqualität auf der Strasse? Sind die Bewohner zu Hause oder schon im Bett?

Genau das löst Home Assistant: Es kombiniert die Pollendaten von MeteoSchweiz, den AQI-Wert von einer öffentlichen Sensorstation, die Anwesenheitsinformation aus dem Hausnetz – und steuert daraus den Luftreiniger intelligent.

Schritt 1: Pollendaten und Luftqualität als Sensor

MeteoSchweiz liefert Pollenwerte für Birke, Gräser, Esche und Beifuss über die kostenlose API – in HA via REST-Sensor einbindbar. Wer es einfacher will, nutzt die Community-Integration «PollenFlug» aus HACS, die die täglichen Werte automatisch aktualisiert. Ergänzend liefert die Sensor.community oder Airly-Karte den lokalen PM2.5-Wert.


sensor:
  - platform: rest
    name: pollen_graeser
    resource: https://app-prod-ws.meteoswiss-app.ch/v1/plot/pollen/wallisellen
    value_template: "{{ value_json.graeser.today.level }}"
    scan_interval: 3600
  - platform: rest
    name: aqi_wallisellen
    resource: https://api.openaq.org/v3/locations/76543/latest
    value_template: "{{ value_json.results[0].measurements[0].value }}"
    scan_interval: 1800

Das Sensor-Setup läuft stündlich, mehr braucht es nicht – Pollendaten ändern sich nicht im Minutentakt.

Schritt 2: Den Schwellwert als input_number

Für Allergiker hat sich ein abgestufter Schwellwert bewährt. Statt einer harten Ein/Aus-Logik definiere ich drei Stufen via input_number, die in der Automation referenziert werden.


input_number:
  pollen_schwelle_aktiv:
    name: Pollen-Schwelle aktiv
    min: 1
    max: 4
    step: 1
    initial: 2
    icon: mdi:flower-pollen

Stufe 1 = «leichte Belastung schon ein»; Stufe 4 = «nur bei sehr hoher Belastung». Das macht das Setup für Saisons und Personen anpassbar, ohne die Automation zu ändern.

Schritt 3: Die Automation

Die Hauptlogik koppelt drei Bedingungen: Pollen oder AQI über Schwellwert, jemand zu Hause, nicht bereits manuell aus. Bei Erfüllung schaltet HA den Reiniger auf Auto, bei Schlafenszeit auf den leisen Schlafmodus.


automation:
  - alias: "Air Purifier: Pollen-gesteuert ein"
    trigger:
      - platform: state
        entity_id: sensor.pollen_graeser
      - platform: state
        entity_id: sensor.aqi_wallisellen
    condition:
      - condition: or
        conditions:
          - condition: numeric_state
            entity_id: sensor.pollen_graeser
            above: input_number.pollen_schwelle_aktiv
          - condition: numeric_state
            entity_id: sensor.aqi_wallisellen
            above: 50
      - condition: state
        entity_id: group.bewohner
        state: "home"
    action:
      - choose:
          - conditions:
              - condition: time
                after: "22:30:00"
                before: "06:30:00"
            sequence:
              - service: fan.set_preset_mode
                target:
                  entity_id: fan.zhimi_mb3_b2e5_air_purifier
                data:
                  preset_mode: "Silent"
        default:
          - service: fan.set_preset_mode
            target:
              entity_id: fan.zhimi_mb3_b2e5_air_purifier
            data:
              preset_mode: "Auto"

  - alias: "Air Purifier: Niemand zu Hause"
    trigger:
      - platform: state
        entity_id: group.bewohner
        to: "not_home"
        for: "00:30:00"
    action:
      - service: fan.turn_off
        target:
          entity_id: fan.zhimi_mb3_b2e5_air_purifier

Die 30-Minuten-Verzögerung bei Abwesenheit vermeidet, dass das Gerät bei kurzen Einkaufstouren ausgeht.

Schritt 4: Dashboard und Notification

Ein kleines Mushroom-Card-Setup zeigt aktuelle Pollenwerte, AQI und den Reiniger-Status nebeneinander. Eine zusätzliche Automation pingt morgens um 7:00 eine TTS-Nachricht aufs HomePod-Mini, wenn Pollen über Stufe 3 sind – das spart das Fensteröffnen, das wir sonst aus Gewohnheit machen.


- alias: "Pollen-Warnung morgens"
  trigger:
    platform: time
    at: "07:00:00"
  condition:
    - condition: numeric_state
      entity_id: sensor.pollen_graeser
      above: 3
  action:
    - service: tts.cloud_say
      data:
        entity_id: media_player.homepod
        message: "Achtung, heute hohe Pollenbelastung. Fenster besser zu lassen."

Wer schöne Dashboards mit ähnlicher Logik bauen will, findet im Artikel zu Mushroom und Bubble Cards eine gute Grundlage – das passt visuell perfekt zu dieser Pollen-Karte.

Fazit: Saison-Setup, das wirklich hilft

Drei Tage nach Aktivierung lief der Mi Air Purifier rund ein Drittel weniger Stunden als zuvor – nämlich präzise dann, wenn es notwendig war. Die Filterlebensdauer dürfte sich entsprechend verlängern, die Schlafqualität ist messbar besser. Wer von Pollenflug genervt ist, holt sich mit drei kleinen YAML-Bausteinen und einem nachmittäglichen Bastel-Setup ein Stück Lebensqualität zurück. Für mich ist das der Lieblings-Use-Case im Mai.

← Zurück zur Übersicht