A wide, rectangular header image depicting a city with heavily polluted air. The sky is filled with thick smog, making it difficult to see the sun. Buildings and streets are covered in a layer of grime. People are wearing masks, and there are few trees, with those present looking unhealthy. Industrial chimneys in the background are emitting dark smoke, contributing to the overall sense of environmental degradation. The colors are muted and grey, reflecting the grim atmosphere.

Home Assistant: WP6003 Air Box

I recently got a WP6003 Air Box (Aliexpress). The official product page seems to be offline but can be accessed through Archive.org.

It’s quite straightforward to integrate in a Bluetooth Proxy and Home Assistant thanks to Omar’s work.

The major problem I have with it, is that the Bluetooth (4.0) range is terrible. Neither my Mac Mini nor my Bluetooth Proxy could connect with it if I moved it from the office to the kitchen (had it on top of the fridge, so some metal there) that’s roughly 10ish meters away.

Sensor wise, I’ve only had it working for a few days, and so far, it doesn’t seem to be very accurate. The temperature is 1-2° below my other sensors… But hey, it’s quite cheap and the previous tool I linked has a way to calibrate it (but I haven’t tried that yet).

In the screenshot, Airquality level converts bytes into meaningful sensor readings:

  • Temperature: Extracted from bytes 6 and 7, then divided by 10 to get the temperature in degrees
  • TVOC (Total Volatile Organic Compounds): Extracted from bytes 10 and 11, then divided by 1000 to get the concentration in parts per
  • HCHO (Formaldehyde): Extracted from bytes 12 and 13, similarly processed to TVOC.
  • CO2 (Carbon Dioxide): Calculated from bytes 16 and 17, adjusted by subtracting 150 to correct the baseline.

Each of these values is then published to different sensor IDs within ESPHome, allowing Home Assistant to display and use this data.

The function returns the size of the data packet as a float, which can be used for debugging or validation. In my case (and assume yours as well) it’s 18. I’ve marked it as internal: true in my config, as it’s not useful to show once it’s working.

My config for ESPhome can be found here.

You can use this tool to read out the sensor (and find the MAC address) from Chrome.

Guess it’s a bit hard to show (and for some reason Firefox refused to take a screenshot of the entire page) but this is my current view in Home Assistant.

Note that I have since added 3 more ATC Xiaomi thermometers and hidden Airquality levels.


Posted by

in

,

Comments

Leave a Reply…