air-Q pro API: Sensordaten abrufen und GerÀte automatisch steuern
Der air-Q pro ist nicht nur ein prĂ€ziser Luftanalysator, sondern auch ein echtes Multitalent im Smart Home. Dank der UnterstĂŒtzung fĂŒr Amazon Alexa und Google Home lĂ€sst er sich bequem per Sprache in bestehende Systeme integrieren. Doch wenn es um echte Automatisierung geht â etwa das gezielte Schalten von GerĂ€ten bei bestimmten Luftwerten â stöĂt man mit den Standardschnittstellen schnell an Grenzen. https://youtu.be/R6a6Pkl6tpY Die Lösung? Die offene API des air-Q pro. Damit kannst du ganz gezielt auf Sensordaten wie Luftfeuchtigkeit, COâ oder VOC zugreifen und auf diese Werte reagieren â automatisch, direkt und ohne Cloud-ZwĂ€nge. Im Beitrag âLuftqualitĂ€t live: air-Q pro Daten via REST abrufen und anzeigenâ habe ich bereits gezeigt, wie man diese Daten abrufen kann â allerdings war der Code dort etwas komplex und eher fĂŒr Fortgeschrittene gedacht. Hier zeige ich dir eine einfache und direkte Methode, wie du z.âŻB. deinen elektrischen Luftentfeuchter automatisch aktivierst, sobald ein bestimmter Luftfeuchtigkeitswert ĂŒberschritten wird. Ich verwende dafĂŒr: - den Pro Breeze PB-02 Luftentfeuchter, der ĂŒber einen klassischen Ein-/Ausschalter verfĂŒgt (kein Taster!) - und den Shelly Plug S Gen3, einen kompakten, WLAN-fĂ€higen Schalter, der sich perfekt fĂŒr solche Automationen eignet â ganz ohne zusĂ€tzliche Verkabelung.
Pro Breeze Mini Luftentfeuchter
Shelly Outdoor Plug S Gen3
Shelly Plug S So wird aus einem reinen Luftsensor ein aktives Steuerungselement in deinem Smart Home â ganz ohne IFTTT oder Cloud-Abo. Transparenzhinweis: Das in diesem Beitrag verwendete GerĂ€t air-Q pro wurde mir von der Corant GmbH kostenfrei fĂŒr ein Review zur VerfĂŒgung gestellt. Die Bewertung und Umsetzung erfolgten unabhĂ€ngig. Nach Abschluss der Beitragsreihe wird das GerĂ€t an den Hersteller zurĂŒckgesendet.
Ablauf der Automatisierung
Die Automatisierung basiert auf einem einfachen, aber effektiven Prinzip: Der Shelly Plug S Gen3 agiert autonom, indem er in regelmĂ€Ăigen AbstĂ€nden die aktuellen Sensordaten vom air-Q pro abruft und selbst entscheidet, ob das angeschlossene GerĂ€t â in meinem Fall ein Luftentfeuchter â ein- oder ausgeschaltet werden soll. Der Ablauf im Detail: - đ° Daten abrufen: Der Shelly ruft ĂŒber ein eigenes Shelly Script in definierten Intervallen die Sensordaten von der air-Q Cloud API ab. Die Daten werden im JSON-Format geliefert und enthalten unter anderem Temperatur, Luftfeuchtigkeit, COâ, VOC u.âŻv.âŻm. - đ Grenzwert prĂŒfen: Das Script prĂŒft, ob ein bestimmter Sensorwert â z.âŻB. die relative Luftfeuchtigkeit â eine vordefinierte Schwelle ĂŒberschreitet (z.âŻB. > 65âŻ%). - ⥠Relais schalten: Wenn die Schwelle ĂŒberschritten wird, aktiviert der Shelly automatisch das Relais â der Luftentfeuchter startet. Sinkt der Wert wieder unter die Schwelle, wird das Relais deaktiviert, und der Entfeuchter schaltet sich ab.
Ablauf - Abruf der Daten vom air-Q pro via API Schnittstelle đĄ Vorteil: Diese Logik lĂ€uft komplett lokal auf dem Shelly, ohne dass ein separates Gateway, IFTTT oder ein Smarthome-System erforderlich ist.
API-Zugang einrichten: API-Key und deviceId
Bevor der Shelly die Sensordaten vom air-Q pro abrufen kann, benötigst du zwei Dinge: API-Key generieren Der API-Key ist erforderlich, um autorisiert auf die air-Q Cloud API zugreifen zu können. So erstellst du ihn Schritt fĂŒr Schritt: - Melde dich unter đ https://my.air-q.com mit deinem air-Q Konto an - Ăffne direkt die Seite đ https://my.air-q.com/api-keys - Vergib einen eindeutigen SchlĂŒsselnamen â z.âŻB. âShelly-Integrationâ - Klicke auf âGenerateâ, um den Key zu erstellen - Der generierte API-Key wird einmalig angezeigt - Kopiere ihn ĂŒber die kleine SchaltflĂ€che neben dem Textfeld - BestĂ€tige den Dialog mit âOKâ â der Key ist nun aktiv
đ Wichtig: Der Key wird nur einmal angezeigt â speichere ihn direkt sicher ab. Du kannst ihn spĂ€ter nicht mehr einsehen, nur löschen und neu generieren. deviceId aus dem air-Q Webfrontend auslesen Die deviceId ist die eindeutige Kennung deines air-Q GerĂ€ts â sie wird benötigt, um gezielt Daten ĂŒber die API abzufragen. So findest du die deviceId direkt im GerĂ€t: - Ermittle die IP-Adresse deines air-Q (z.âŻB. ĂŒber die GerĂ€teĂŒbersicht deines Routers) - Ăffne die IP-Adresse im Browser, z.âŻB. http://192.168.1.123 - Gib das beim Setup vergebene GerĂ€tekennwort ein - Standard: airqsetup - Klicke im linken MenĂŒ auf âGerĂ€teinfosâ - Scrolle nach unten bis zum Abschnitt âidâ - Kopiere die angezeigte Zeichenkette - Speichere sie â du benötigst sie gleich im Skript
â Jetzt hast du sowohl den API-Key als auch die deviceId â damit bist du bereit, um den Datenabruf ĂŒber die API im Shelly-Skript umzusetzen.
Test mit Postman: API-Zugriff ohne Shelly prĂŒfen
Bevor wir das Skript auf dem Shelly Plug S einrichten, lohnt es sich, die API-Anfrage zunĂ€chst mit Postman zu testen. Das ist besonders praktisch, um zu prĂŒfen, ob der API-Key korrekt ist und die deviceId stimmt â ganz ohne mögliche Fehlerquellen durch das Shelly-Skript. So gehtâs: - Ăffne Postman und erstelle eine neue Anfrage - WĂ€hle als Methode GET - Gib als URL folgende Adresse ein (mit deiner deviceId): https://air-q-cloud.de/open_api/v2/devices//sensordata/latest - Wechsle zum Tab âHeadersâ - FĂŒge dort den API-Key ein: - Key: Api-Key - Value: dein generierter API-Key - Klicke auf âSendâ
Ergebnis: Wenn alles korrekt ist, erhĂ€ltst du als Antwort ein JSON-Objekt, das die aktuellsten Sensordaten deines air-Q pro enthĂ€lt â z.âŻB. Temperatur, Luftfeuchtigkeit, COâ, VOC, etc. {"deviceid":"17a939b6aec50bd8f7e0d60ecb24d141","id":1720737583,"status":"","datetime":"2025-08-19T16:54:20+00:00","timestamp":1755622460000,"uptime":48010,"temperature":22.713,"ch2o_m10":31.1,"co":0.18696,"co2":1364.8,"dco2dt":26.35,"dewpt":15.981,"dhdt":0.15,"health":828,"humidity":64.97,"humidity_abs":13.194,"no2":28.65,"o3":6.5,"performance":302,"pm1":2,"pm10":3.1,"pm2_5":2.2,"pressure":995.13,"sound":50.18,"sound_max":55.1,"tvoc":231,"typps":2.6} So kannst du bequem prĂŒfen, ob dein Setup korrekt ist, bevor du das Shelly-Skript ausfĂŒhrst.
Wechsel zum Shelly
Nachdem der API-Zugriff auf den air-Q pro in Postman erfolgreich getestet wurde, geht es nun an die eigentliche Umsetzung auf dem Shelly Plug S Gen3. Ich verwende bewusst dieses Modell, da es den Vorteil eines integrierten Schuko-/Euro-Steckers bietet. So kannst du einen Verbraucher â wie z.âŻB. einen Luftentfeuchter â direkt anschlieĂen, ganz ohne zusĂ€tzliche Verkabelung. Der Plug S Gen3 ist fĂŒr 230âŻV / 12âŻA (bis zu 2500âŻW) ausgelegt und eignet sich damit hervorragend fĂŒr klassische HaushaltsgerĂ€te.
Shelly Outdoor Plug S Gen3 & Shelly Plug S MTR Gen3 Zugriff auf das Webfrontend Um das Shelly Script einzurichten, benötigen wir das Webinterface des GerĂ€ts. Dieses erreichst du ĂŒber die IP-Adresse deines Shelly im lokalen Netzwerk. So findest du die IP-Adresse: - Ăber deinen Router (z.âŻB. Fritzbox â Heimnetz â Netzwerk â GerĂ€te) - Alternativ ĂŒber die Shelly Cloud App, wenn dein GerĂ€t dort eingebunden ist Gib die IP-Adresse deines Shelly Plug S in die Adresszeile deines Browsers ein, z.âŻB.: http://192.168.178.112 Du gelangst nun zum lokalen Webinterface deines Shelly. WĂ€hle dort im linken MenĂŒ den Punkt âScriptsâ aus. AnschlieĂend klickst du auf âCreate scriptâ, um ein neues Shelly Script zu erstellen.
Shelly Webfrontend Das Shelly Script im Detail: Luftentfeuchter automatisch aktivieren Nachfolgend findest du das vollstĂ€ndige Script, das auf einem Shelly Plug S Gen3 ausgefĂŒhrt wird. Es fragt in regelmĂ€Ăigen AbstĂ€nden die aktuelle Luftfeuchtigkeit vom air-Q pro ĂŒber die offizielle API ab und schaltet den angeschlossenen Luftentfeuchter automatisch ein oder aus, abhĂ€ngig vom gemessenen Wert. Das Skript ist so aufgebaut, dass es leicht angepasst werden kann â beispielsweise fĂŒr andere Sensorwerte wie COâ oder TVOC sowie fĂŒr andere Shelly-GerĂ€te mit Relaisfunktion. // Grenzwert fĂŒr Luftfeuchtigkeit â ab diesem Wert wird das Relais aktiviert const ACTIVATION_HUMIDITY = 50; // API-Verbindungsdaten: deviceId, URL-Template und API-Key const CONNECTION_DATA = { deviceId: "abc", url: "https://air-q-cloud.de/open_api/v2/devices/viceId%/sensordata/latest", apikey: "def" }; // Abfrageintervall in Millisekunden (600.000 ms = 10 Minuten) const POLLING_INTERVAL = 600000; // Ziel-URL wird durch Ersetzen des Platzhalters viceId% erzeugt let targetUrl = CONNECTION_DATA.url.replace("viceId%", CONNECTION_DATA.deviceId); // Parameter fĂŒr HTTP-Anfrage an die air-Q API let parameter = { method: "GET", url: targetUrl, headers: { "Content-Type": "application/json", "Api-Key": CONNECTION_DATA.apikey } }; // Funktion zum Schalten des Relais function toggleRelais(status) { let shellyParameter = { id: 0, // ID des zu steuernden Schalters (i.âŻd.âŻR. 0 bei einfachen GerĂ€ten) on: status // true = einschalten, false = ausschalten }; Shelly.call("Switch.Set", shellyParameter); } // Hauptfunktion: Luftfeuchtigkeit vom air-Q abrufen und ggf. Relais schalten function receiveAirQData() { Shelly.call("HTTP.Request", parameter, function(result, error_code, error_message) { if (error_code != 0) { print("Fehler beim Senden der Daten: " + error_message); // Fehler beim Request } else { print("Daten erfolgreich gesendet."); let json = JSON.parse(result.body); // JSON-Antwort verarbeiten let humidity = json.humidity; print("rel. Luftfeuchtigkeit: " + humidity + "%"); toggleRelais(humidity > ACTIVATION_HUMIDITY); // Vergleich & Schaltvorgang } }); } // Wiederholung der Abfrage alle POLLING_INTERVAL Millisekunden Timer.set(POLLING_INTERVAL, true, receiveAirQData); Read the full article


















