[Release] PurpleAir Local Driver

I've released a PurpleAir Local Driver that pulls Temperature, Humidity, Pressure, Dew Point, AQI, RSSI as well as PM1.0, PM2.5 and PM10 particle reading directly from the device, no internet connection or cloud needed.
Devices with dual lasers both values will be averaged

The code has been tested on a BME280 (Classic)and should work for other single and dual laser models. It won't report VOC's, If there is interest I can add it.

You can download it directly from Github:

If you are using Hubitat Package Manager you can my package repository as a custom repository:
https://raw.githubusercontent.com/sidjohn1/hubitat/main/repository.json

5 Likes

This works, thank you! I made a small edit to adjust temp/humidity as outlined here: PurpleAir Sensors Functional Overview - Sensors - PurpleAir Community

Works very smooth and well! Thank you so much!

Here are some asks for addition/iteration:

  • aqiDisplay, is used in other drivers and a concatenation of the integer value then capital word of classification, ie "10 GOOD". It would be great to have that as a out put as well as it looks neater on the dashboards
  • VOC: yes!
  • pressure: I think the unit is mBar or hPa, but in line 93 it uses inHg - I can not figure out why
  • Correction of pressure and temp and humidity per PurpleAir guide or with a fixed offset would be great.
    But it works and cuts down on data transfer!! Thanks so much!

This is a bug, the unit reports pressure in mBar. i’ll get this fixed in the next release.

I saw the doc’s for the temp and humidity recommended offsets but not pressure. If you add the docs then i’ll include pressure offsets as well.

i can add this, no worries.

My bad. PurpleAir only corrects for humidity and temp, not pressure.