Api Wrapper for BlueAir API using async in python. This was inspired by this guide to be a lightweight wrapper with simple error handling.
a lot of this is based on hass-blueair.
- REST API — async device discovery, sensor polling, and control commands for both legacy and AWS-based Blueair devices.
- MQTT real-time updates — receive sensor data and device state changes via AWS IoT WebSocket with sub-second latency instead of 5-minute polling.
- Automatic reconnect with credential refresh — MQTT tokens expire after 24 hours; the client refreshes credentials and reconnects with exponential backoff on unexpected disconnects.
- Split AWS regions when needed — keep the normal single
regionsetting for most accounts, or configure separate Gigya account and BlueCloud device-control regions for accounts whose devices are hosted elsewhere. See AWS account and BlueCloud regions. - Data-driven SKU mapping — resolves device SKUs to human-readable product names via a built-in lookup table.
- Per-device hardware detection —
mood_brightness_maxandfan_speed_countadapt automatically based on the device's hardware identifier.