IKEA bietet einen ziemlich günstigen Luftqualitätssensor namens VINDRIKTNING an. Er misst die Konzentration von Feinstaub in der Luft und zeigt die Luftqualität über LEDs an, die anzeigen, ob die Luftqualität gut (grün), mittelmäßig (gelb) oder schlecht (rot) ist.
Dieses Gerät ist standardmäßig nicht smart connected, daher kannst du die Sensorwerte nicht in deine Smart-Home-Zentrale integrieren. In diesem Tutorial verwenden wir ESPhome, um den IKEA-Sensor mit Home Assistant zu integrieren. Aber wir werden nicht nur den Feinstaubsensor auslesen, sondern auch den integrierten Lichtsensor (der normalerweise zur Dimmung der LEDs verwendet wird), und wir werden dem Gerät einen CO2- und TVOC-Sensor hinzufügen, um noch mehr Luftqualitätsdaten zu erfassen.
Ich habe ein Video-Tutorial erstellt, das du dir im Folgenden ansehen kannst. Unter dem Video findest du detaillierte Anleitungen sowie die erforderlichen YAML-Code-Schnipsel.
Erforderliche Teile und Tools
Du benötigst die folgenden Teile und Tools:
Schritt 1: D1 Mini Device mit ESPHome vorbereiten und in Home Assistant automatisch erkennen
Zuerst musst du den D1 Mini mit ESPHome initialisieren. Da es bereits zahlreiche Tutorials gibt, möchte ich das hier nicht im Detail erklären. Sieh dir zum Beispiel https://peyanski.com/complete-esphome-installation-guide/ an.
Schritt 2: IKEA Vindriktning Gehäuse öffnen
Um das IKEA Vindriktning Gehäuse zu öffnen, musst Du einfach nur die vier Schrauben auf der Rückseite aufdrehen:
Schritt 3: Verkabelung vorbereiten
Sobald das Gehäuse geöffnet ist, können wir mit der Verkabelung beginnen. Dazu musst Du den Lötkolben zücken:
Wir müssen einige Drähte an den vorderen Teil des IKEA Vindriktning Geräts löten:
- Der orangefarbene Draht geht zum Pad REST und verbindet sich mit dem GPIO D2 des D1 Mini (dies ist die UART-Schnittstelle des Vindriktning-Geräts und ermöglicht das Auslesen der von Vindriktning gesendeten Feinstaubmessungen).
- Der rosa Draht geht zum Pad GND und verbindet sich mit dem G-Eingang („G“ steht für Ground) des D1 Mini (dies wird den D1 Mini erden).
- Der rote Draht geht zum Pad +5V und verbindet sich mit dem 5V-Eingang des D1 Mini (dies versorgt den D1 Mini mit Strom).
- Der grüne Draht geht zum Pad „FAN-“ und verbindet sich mit dem GPIO G4 des D1 Mini (dies gibt uns Informationen darüber, ob der Lüfter läuft oder nicht).
Außerdem müssen wir den Lichtsensor auf der Rückseite der Vindriktning-Platine anschließen:
- Löte einen blauen Draht an das linke Pad des Lichtsensors auf der Rückseite der Vindriktning-Platine.
- Verbinde ihn mit einem 10K-Widerstand (erforderlich, um die Spannung zu reduzieren – dieser Widerstand erhöht leicht den Spannungsteilerwiderstand am analogen Eingang). Möglicherweise sogar einen etwas höheren Widerstandswert.
- Verbinde den anderen Pin des 10K-Widerstands mit dem analogen Eingang A0 des D1 Mini.
Und schließlich müssen wir den CCS811 CO2 / TVOC-Sensor mit dem D1 Mini verbinden:
- VCC geht zum 3V3 auf dem D1 Mini Board.
- GND und WAK müssen mit einem der Ground-Pins des USB-Ports des D1 Mini verbunden werden. Du könntest es auch mit dem G-Eingang verbinden, aber es gibt bereits eine vorhandene Verbindung.
- SCL geht zum GPIO D5 und SDA geht zum GPIO D6 des D1 Mini.
Schritt 4: ESPHome YAML-Code schreiben, kompilieren und auf den D1 Mini flashen
Nachdem der D1 Mini für ESPHome vorbereitet wurde und die Drähte verbunden wurden, können wir den YAML-Code anpassen, um unsere neuen Sensoren einzuführen. Der folgende Code-Ausschnitt stellt alle benötigten Sensoren bereit.
esphome:
name: "ikea-vindriktning"
friendly_name: IKEA Vindriktning Air Quality Sensor
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: <YOUR_ENCRYPTION_KEY>
ota:
password: <YOUR_OTA_PASSWORD>
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: <YOUR_FALLBACK_HOTSPOT_SSID>
password: <YOUR_HOTSPOT_FALLBACK_PASSWORD>
captive_portal:
uart:
rx_pin: D2
baud_rate: 9600
i2c:
sda: D6
scl: D5
binary_sensor:
- platform: gpio
name: "Fan running"
id: fan_running
pin:
number: D4
inverted: true
sensor:
- platform: pm1006
pm_2_5:
name: "Particulate Matter 2.5µm Concentration"
- platform: ccs811
eco2:
name: "eCO2"
tvoc:
name: "Total Volatile Organic Compound"
address: 0x5A
temperature: external_temperature
humidity: external_humidity
update_interval: 10s
# baseline will be set after initial run with fresh air
# baseline: 0x3CB8
- platform: adc
id: light_sensor
name: "Light sensor"
pin: A0
update_interval: 1s
- platform: homeassistant
entity_id: <ENTITY_ID_HUMIDITY_SENSOR>
id: external_humidity
name: "external Humidity"
force_update: true
- platform: homeassistant
entity_id: <ENTITY_ID_TEMPERATURE_SENSOR>
id: external_temperature
name: "external Temperature"
force_update: true
YOUR_ENCRYPTION_KEY, YOUR_OTA_PASSWORT, YOUR_FALLBACK_HOTSPOT_SSID und YOUR_FALLBACK_HOTSPOT_PASSWORD sind allgemeine ESPHome-Einstellungen und werden daher hier nicht im Detail erklärt.
Die Platzhalter ENTITY_ID_HUMIDITY_SENSOR und ENTITY_ID_TEMPERATURE_SENSOR sind die Home Assistant-IDs für einen Feuchtigkeits- und Temperatursensor, die für die korrekte Berechnung der eCO2- und TVOC-Werte erforderlich sind. Du könntest auch einen Temperatur- und Feuchtigkeitssensor direkt am D1 Mini anschließen, als Alternative.
Das Attribut „baseline“ des CCS811-Sensors ist sehr wichtig für die Kalibrierung des Sensors. Wenn du den D1 Mini zum ersten Mal flasht (nach der ersten Vorbereitung), solltest du dieses Attribut wie oben gezeigt auskommentiert lassen. Dann musst du den Sensor etwa 20-30 Minuten lang in einem Raum mit sauberer Frischluft platzieren oder sogar draußen an dein Fenster. ESPHome wird dann den Baselinewert in den ESPHome-Protokollen protokollieren.
Damit kannst du jetzt den Baselinewert zu deiner ESPHome YAML-Konfiguration hinzufügen und das # vor der Codezeile entfernen, um es auszukommentieren. Bitte flashe dann erneut den D1 Mini.
Schritt 5: Test unseres neuen Luftqualitätssensors
Alles ist soweit vorbereitet. Bevor wir jetzt alles wieder zusammenbauen und das Gehäuse schließen, schlage ich vor, das Gerät zu testen, indem wir den Sensor und den Lüfter des IKEA Vindriktning-Geräts an die IKEA Vindriktning-Platine anschließen und es über USB-C mit Strom versorgen. Du solltest jetzt Werte in Home Assistant sehen:
Schritt 6: Alles wieder zusammen bauen
Wenn alles wie erwartet funktioniert, können wir jetzt alles wieder in das Gehäuse des IKEA Vindriktning-Sensors zusammenbauen. Ich schlage vor, den D1 Mini und den CCS811-Sensor mit Heißkleber im Gehäuse zu befestigen. Bitte achte darauf, genügend Platz für die Luftzirkulation zu lassen. Schließe dann das Gehäuse wieder mit den vier Schrauben. Wenn du dein Gerät über USB-C mit Strom versorgst, sollten die LEDs auf der Vorderseite wie gewohnt leuchten und das Gerät sollte weiterhin Daten an Home Assistant senden.
Schritt 7: Automationen in Home Assistant erstellen
Automatisierung 1: Licht automatisch einschalten, wenn der Lichtsensor Dunkelheit erkennt
Unsere erste Automatisierung wird ausgelöst, wenn der Wert des Lichtsensors für einige Sekunden unter einen bestimmten Schwellenwert fällt. Sagen wir, sie wird ausgelöst, wenn der Wert für mehr als 5 Sekunden unter 0,5 V liegt (um sicherzustellen, dass es nicht nur jemand war, der am Sensor vorbeiging und einen Schatten auf den Sensor warf):
Als Aktion möchten wir das Licht in diesem Raum einschalten. Daher wählen wir einfach „Licht einschalten“ als Aktion aus und wählen eine Licht-Entität aus, die eingeschaltet werden soll:
Automatisierung 2: Automatisch eine Push-Benachrichtigung erhalten, falls die Luftqualität schlecht ist
Die zweite Automatisierung wird ausgelöst, wenn die Luftqualität schlecht ist. Wir könnten zum Beispiel den CO2-Sensor verwenden und wenn sein Wert unter einen bestimmten Schwellenwert fällt (in diesem Beispiel 1.000), senden wir eine Push-Benachrichtigung an unser Smartphone, um uns daran zu erinnern, ein Fenster zu öffnen.
Natürlich könnten wir das auch für die anderen Sensoren umsetzen, z.B. für den TVOC Sensor oder den Feinstaubsensor.
Fazit
Jetzt haben wir einen smarten Luftqualitätssensor gebaut, der seine Daten an Home Assistant sendet und gleichzeitig smarte Automatisierungen auslöst. Echt cool, oder?
Lass mich gerne wissen, wie Dir das Tutorial gefallen hat, indem Du einen Kommentar ergänzt!
No responses yet