Wer im Homeoffice arbeitet, kennt das Phänomen: Nach zwei Stunden Konzentration sinkt die Aufmerksamkeit, Kopfschmerzen schleichen sich ein, der Nachmittag fühlt sich zäh an. In neun von zehn Fällen ist die Ursache nicht der Kaffee, sondern der CO2-Gehalt der Raumluft. Ab etwa 1 000 ppm sinkt die kognitive Leistung messbar, ab 1 400 ppm wird es unangenehm. Mit Home Assistant lässt sich das Problem elegant in eine visuelle Ampel verwandeln – ganz ohne neue Hardware, wenn ein CO2-Sensor und eine Hue-Lampe bereits vorhanden sind.
Das Problem: CO2 ist unsichtbar, aber nicht harmlos
In meinem Büro misst der Netatmo-Sensor (sensor.buro_kohlendioxid) heute Morgen 874 ppm – das ist noch im grünen Bereich. Nach einem Online-Meeting mit geschlossenem Fenster sind 1 600 ppm schnell erreicht. Die Aussenluft liegt bei rund 420 ppm. Spätestens ab 1 200 ppm lohnt sich das Stosslüften, denn die Konzentration sinkt dann innerhalb von drei Minuten wieder spürbar.
Die klassische Methode ist der Blick auf das Sensor-Display. Doch genau dort scheitert es im Alltag: Wer konzentriert arbeitet, schaut nicht auf den Sensor. Eine CO2-Ampel als Farb-Lichtsignal löst das. Die Lampe ist im peripheren Sichtfeld, der Farbwechsel fällt unbewusst auf, ohne den Workflow zu unterbrechen – ähnlich elegant wie die in Hue-Szenen tageszeit-gesteuert in Home Assistant beschriebene Automation.
Schritt 1: Schwellwerte definieren
Drei Stufen reichen für den Alltag: Grün bis 900 ppm, Gelb 900–1 300 ppm, Rot ab 1 300 ppm. Wer empfindlich ist, senkt die Grenzen um je 100 ppm. Wichtig ist eine Hysterese: Sobald die Lampe einmal rot wird, soll sie erst wieder bei deutlich tieferem Wert auf gelb wechseln, sonst flackert sie in der Übergangszone unschön hin und her.
Schritt 2: Automatisierung in automations.yaml
Die folgende Automation überwacht den CO2-Sensor und steuert die Hue-Lampe light.hue_color_heizung (in meinem Setup neben dem Schreibtisch). Sie nutzt eine choose-Struktur und eine Helper-Variable, um Hysterese sauber umzusetzen.
alias: CO2-Ampel Büro
trigger:
- platform: state
entity_id: sensor.buro_kohlendioxid
for:
minutes: 1
condition:
- condition: state
entity_id: binary_sensor.buro_anwesenheit
state: "on"
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.buro_kohlendioxid
above: 1300
sequence:
- service: light.turn_on
target:
entity_id: light.hue_color_heizung
data:
rgb_color: [255, 30, 30]
brightness_pct: 80
- conditions:
- condition: numeric_state
entity_id: sensor.buro_kohlendioxid
above: 900
below: 1300
sequence:
- service: light.turn_on
target:
entity_id: light.hue_color_heizung
data:
rgb_color: [255, 180, 0]
brightness_pct: 50
- conditions:
- condition: numeric_state
entity_id: sensor.buro_kohlendioxid
below: 900
sequence:
- service: light.turn_on
target:
entity_id: light.hue_color_heizung
data:
rgb_color: [40, 255, 80]
brightness_pct: 20
mode: single
Die Trigger-Verzögerung von einer Minute verhindert ständige Updates, falls der Sensor in kurzen Intervallen leicht schwankende Werte liefert. Die Bedingung auf binary_sensor.buro_anwesenheit sorgt dafür, dass die Lampe ausschliesslich dann aktiv ist, wenn jemand im Raum sitzt – nachts bleibt sie aus.
Schritt 3: Akustische Erinnerung bei kritischem Wert
Wer eine Voice-Box wie den HA Voice Preview oder einen RaspiAudio nutzt, kann zusätzlich einen kurzen Hinweis sprechen lassen, sobald die rote Stufe erstmals erreicht wird. Dafür ergänzt man eine zweite Automation, die als Trigger den Übergang von «unter 1 300» nach «über 1 300» nutzt:
alias: CO2-Ampel Sprachhinweis
trigger:
- platform: numeric_state
entity_id: sensor.buro_kohlendioxid
above: 1300
for:
minutes: 2
condition:
- condition: state
entity_id: media_player.home_assistant_voice
state: idle
action:
- service: tts.cloud_say
data:
entity_id: media_player.home_assistant_voice
message: "Kurz lüften – CO2 ist über 1300 ppm."
mode: single
Dashboard-Integration für die Auswertung
Wer den CO2-Verlauf systematisch beobachten möchte, ergänzt im Dashboard eine Verlaufskarte mit apexcharts-card oder die einfache history-graph. Praktisch ist auch ein Zähler, der pro Tag mitschneidet, wie oft die Schwelle 1 300 ppm überschritten wurde – ein simpler Helfer vom Typ counter reicht aus, ergänzt durch eine Reset-Automation um Mitternacht. Nach zwei Wochen zeigen die Daten, welche Tagesphasen besonders belastet sind, und das eigene Lüftungsverhalten verbessert sich quasi nebenbei. Hue-Übergänge lassen sich mit transition: 3 weicher gestalten, das wirkt im Augenwinkel deutlich weniger hektisch.
Fazit
Eine CO2-Ampel ist eines der dankbarsten kleinen Home-Assistant-Projekte: wenig YAML, vorhandene Hardware, sofort spürbarer Effekt auf Konzentration und Wohlbefinden. Wer nach zwei Wochen die Daten in InfluxDB anschaut, findet typischerweise einen klaren Tagesverlauf – und beginnt automatisch, häufiger zu lüften. Mehr Spielraum, mehr Sauerstoff, mehr Output.