I have an Airthings Wave Plus [1] which measures CO₂, Radon, VOCs, and some others but until recently I could only get the data out via the cloud integration.
Home Assistant recently added a BLE integration [2] with the device and it works great, way better than the Airthings app actually. So now I'm automatically logging and tracking all the data on a regular basis instead of hoping the app is still running in the background on my phone and updating the cloud.
I am not sure about initial setup since I had to go with the cloud integration to get it working in the first place a year or so ago, but maybe now you could skip that and just start reading the data off the BLE? It's possible but I cannot say for sure.
I've got a few of the airthings bluetooth units and a wifi gateway that handles bluetooth -> wifi. Works well, sensors seem to be accurate and correlate with things like radon (which dropped once mitigated), CO2 peaks (when more people are around or gas oven is on), temp, humidity etc.
They have a github repo at https://github.com/Airthings and have code for things like uploading data to a local grafana.
It was basically turnkey, the gateway works on batteries or gasp a usb-c. Batteries on the BT only widgets do last a good fraction of a year. I'm using the cloud hosted dashboard, but bought it because I could migrate local when I have the time to setup.
EDIT: I have the viewplus (not waveplus), that acts as a Bluetooth <-> WIFI gateway and has a PM2.5 sensor the view plus does not, and does NOT have any code I've found to read it for non-cloud use.
ESPHome has an integration for the Airthings Wave Plus: https://esphome.io/components/sensor/airthings_ble.html
This is working well for me on a NodeMcu ESP32 with WiFi and Bluetooth. No soldering required. This makes it possible to integrate with Home Assistant without sending your data to Airthings HQ.
Since that page doesn't seem to be loading, here is a gist with the relevant bookmarklet. You click it once to turn on Fount, click a piece of text on the page, and it will show you in the top right the font-family, font-size, etc. (as it actually rendered on your machine vs. what the CSS says it should do):
Home Assistant recently added a BLE integration [2] with the device and it works great, way better than the Airthings app actually. So now I'm automatically logging and tracking all the data on a regular basis instead of hoping the app is still running in the background on my phone and updating the cloud.
I am not sure about initial setup since I had to go with the cloud integration to get it working in the first place a year or so ago, but maybe now you could skip that and just start reading the data off the BLE? It's possible but I cannot say for sure.
1. https://www.airthings.com/wave-plus
2. https://www.home-assistant.io/integrations/airthings_ble/