Version and hardware versions in PA json

I’m trying to figure out why the same sensor (I have two PA-II-Flex) with a WeeWx extension, identical hardware and OS works perfectly with one setup and not with the other. Working with the author of a WeeWx extension for grabbing PA data directly from the sensors.

Specifically, one returns `‘response_date’ and the other unit does not.

What do the Version and hardware version numbers refer to?
Can they be upgraded?
purpleair.app only seems to check the firmware (which is 1.06 on my unit) which does not respond with a ‘response_date’

"version": "7.02",
  "uptime": 1945557,
  "rssi": -55,
  "period": 120,
  "httpsuccess": 166619,
  "httpsends": 178497,
  "hardwareversion": "2.0",
  "hardwarediscovered": "2.0+OPENLOG+16021 MB+DS3231+BME280+PMSX003-B+PMSX003-A",

Hardware And Firmware Information

Our Local JSON Documentation describes version and hardwareversion. “version” is the firmware version while “hardwareversion” refers to what generation of hardware your sensor has.

The hardware version of a sensor is not upgradable, but our support can set a specific firmware version for a sensor if you would like. 7.02 is the most current version of firmware for Classic sensors, while 7.04 contains updates relevant to Flex sensors.

Was this data taken from a PurpleAir Flex or a PurpleAir Classic? The hardware version of 2.0, as well as the hardware discovered, indicate that this data is from a Classic. An easy way to tell the difference is the Flex sensor will have the colored AQI LED, while a PurpleAir Classic will not. Additionally, could you elaborate on the firmware being 1.06 on your sensor? I’m unsure of what exactly you’re referring to.

Custom Data Processor Fields

“response_date” refers to the last response of a data processor. Up to two data processors can be set on the registration form. Your sensor will then send data to the specified data processor in addition to PurpleAir. The “response” field should also appear to indicate the HTTP status code of sending data to the data processor. These fields aren’t currently in the documentation linked above, but will be added.

It’s likely that one sensor is registered with Weather Underground as the first data processor (the default), while your other sensor is unregistered or was registered without a data processor. You can verify this by checking for data processors in the registration confirmation emails you received for each sensor.

Josh,

Many thanks.

Attached is a photo of the unit I am writing about:

Thank you for the photo. When examining the JSON for the sensor, does the “SensorID” field match what’s printed on the Flex’s label? Additionally, do “version”, “hardwareversion”, and “hardwarediscovered” still appear as pictured above? The pictured sensor appears to be reporting a different “hardwarediscovered” to us from what’s shown in the data you provided.

Joshua,

Yes.
The device is sitting right here on the desk in front of me.
There is no ‘response_date’ there as you can see.
What is peculiar is the DateTime stamp, as I am on EDT, in Maine at 15:37.
Result of call to 192.168.1.26/json:

{“SensorId”:“c8:c9:a3:f:5e:6d”
“DateTime”:“2024/06/06T19:28:48z”
“Geo”:“PurpleAir-5e6d”
“Mem”:7408
“memfrag”:38
“memfb”:4400
“memcs”:432
“Id”:364
“lat”:43.732399
“lon”:-69.844299
“Adc”:0.01
“loggingrate”:15
“place”:“outside”
“version”:“7.04”
“uptime”:18970
“rssi”:-44
“period”:120
“httpsuccess”:164
“httpsends”:164
“hardwareversion”:“3.0”
“hardwarediscovered”:“3.0+OPENLOG+NO-DISK+RV3028+BME68X+PMSX003-A+PMSX003-B”
“current_temp_f”:87
“current_humidity”:35
“current_dewpoint_f”:56
“pressure”:1003.25
“current_temp_f_680”:87
“current_humidity_680”:35
“current_dewpoint_f_680”:56
“pressure_680”:1003.25
“gas_680”:357.26
“p25aqic_b”:“rgb(255
255
0)”
“pm2.5_aqi_b”:56
“pm1_0_cf_1_b”:11.49
“p_0_3_um_b”:2055.36
“pm2_5_cf_1_b”:14.37
“p_0_5_um_b”:580.34
“pm10_0_cf_1_b”:16.92
“p_1_0_um_b”:83.76
“pm1_0_atm_b”:11.49
“p_2_5_um_b”:5.49
“pm2_5_atm_b”:14.37
“p_5_0_um_b”:4.39
“pm10_0_atm_b”:16.92
“p_10_0_um_b”:0.34
“p25aqic”:“rgb(255
254
0)”
“pm2.5_aqi”:59
“pm1_0_cf_1”:12.21
“p_0_3_um”:2171.09
“pm2_5_cf_1”:15.68
“p_0_5_um”:624.55
“pm10_0_cf_1”:16.14
“p_1_0_um”:85.79
“pm1_0_atm”:12.21
“p_2_5_um”:2.73
“pm2_5_atm”:15.68
“p_5_0_um”:0.82
“pm10_0_atm”:16.14
“p_10_0_um”:0.23
“pa_latency”:270
“wlstate”:“Connected”
“status_0”:2
“status_1”:0
“status_2”:2
“status_3”:2
“status_4”:2
“ssid”:“XXXXXXXXX”}