Data Download Via LAN PurpleAir PA-II-SD

Is there a way to download or transfer data from the PurpleAir PA-II-SD over the network (Not SD removal) without having to upload it to PurpleAir’s servers first, then sign up for a limited API account that will probably be discontinued after the product is EOL?

Why does PurpleAir have to have complete access to my data just so I make use of my own data?

2 Likes

Hi @emuman100,

You can access the real-time data from a sensor on your network by visiting its IP address. More information can be found in this comment: Get into sensor - #2 by Ethan.

We want to make PurpleAir data as accessible as we can. There are costs associated with storing and providing the data, and the changes made will help support PurpleAir’s ability to provide the data long into the future. We believe that sensor owners should not need to pay for the data from their sensors, and we are working to find ways to incorporate this. We appreciate your continued patience in the meantime.

If you have any feedback, we would love to hear it.

Hi Ethan,

I appreciate your reply. So it looks like I can simply do a http query on its local web page for JSON data, right?

Can this be set up without having to upload data to the cloud?

Also, can I JSON query averaged data, say averaged over an hour?

Thanks.

Jonathan

1 Like

I wrote a tool that can automate this process some for you. It will hit the endpoint on a fixed basis (I do every two minutes) and then publish the data to an MQTT topic (for use in systems like Home Assistant or whatever you want to do with it) and also saves it to an InfluxDB v1 database. You’ll need to use the various query methods from InfluxDB to average the data.

See https://github.com/pridkett/purpleair2mqtt and feel free to ping me with questions. There’s only a few people using it as it’s pretty niche, so there’s a good chance that I just need to write better documentation for it.

1 Like

Hi Pridkett,

I really like your application. This is obviously off-topic, but is there a C utility that can log data from the MQTT topic (Like a client utility that will log to a file or print to stdout while your application sends data to the topic)

Thanks.
Jonathan

1 Like

Exactly, you can query its local web page to get the data.

This feature is only available when the PurpleAir sensor is configured to WiFi. This means it will be reporting to the map. However, you can register your sensor as “private” if the data appearing on the PurpleAir map is a concern.

The JSON page only displays real-time data. This means you would have to average it manually to get the hourly averages.

Hi Ethan,

Can the sensor operate and report data via it’s web page without registering it? I finally received it and it was looking at the setup guide. After getting it connected via WiFi, the next step would be to register it, but do you have the option not to do that? I don’t want it uploading data to PurpleAir’s servers.

Thanks.

Jonathan

1 Like

The device does not need to be registered to access its data locally. The only requirement is that it is configured to the same WiFi network as the device you are accessing its web page on.

Hi Ethan,

I appreciate your help! I was able to join it to WiFi and and access the web page without issue. Once I get local data capture working, I’ll mount it and register it on the map.

Thanks again!

Jonathan

1 Like

Ethan,

I was looking around the TOS and various sections of the web site, but I could not find anything about “phoning home” when the sensor is not registered.

On the internet web page, I’ve noticed that it checks some other hosts other than ntp. What exactly is being “phoned home”?

Thanks.

Jonathan

A list of the WiFi status indicators seen on the WiFi configuration page is found here: WiFi Status Indicators.

The hostnames and ports used by PurpleAir sensors is found here: Q: What hostnames and ports do PurpleAir sensors use?.

Hi Ethan,

Thanks for this, but it doesn’t really say much. LOC uses Google’s geolocation, but what is done with this information after the fact for an unregistered sensor? UPD is self-explanatory, but what data is sent to it? Is it just MAC address or is there more? What sort of chatter is going on with PAA for an unregistered sensor?

Thanks.

Jonathan

The “PAA” indicator indicates that the sensor can connect to PurpleAir servers. The sensors will send their measurements to these servers. This would include measurements like particulate matter counts, temperature, pressure, humidity, VOCs, timestamps, etc. Much of the data that appears in the serial output is what is sent to our servers.

The data sent to our servers does not change for a registered vs. unregistered sensor. Instead, the registration connects the data from a sensor to a map location.

Hi Ethan,

Thank you for clarifying that. Is there a way to turn off the automatic upload if data other than restricting the traffic on your network/router? I think this should be an option. I understand the business model of selling data, but there should be an option.

Also, if I were to prevent data from being uploaded, would any technical support be limited as well?

Thanks.

Jonathan

1 Like