# Custom Data Processor Schema

**URL:** <https://community.purpleair.com/t/custom-data-processor-schema/2214>\
**Category:** Data\
**Created:** [October 1, 2022, 4:57pm UTC](https://community.purpleair.com/t/custom-data-processor-schema/2214 "2022-10-01T16:57:39Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mattrobenolt](https://sea2.discourse-cdn.com/flex020/user_avatar/community.purpleair.com/mattrobenolt/32/1296_2.png) [@mattrobenolt](https://community.purpleair.com/u/mattrobenolt)\
**Post date:** [October 1, 2022, 4:57pm UTC](https://community.purpleair.com/t/custom-data-processor-schema/2214/1 "2022-10-01T16:57:39Z")

</div>

Hi there, I am new to Purple Air in general, but wanted to dig in and generate my own graphs and my own dashboard. I’ve been poking around at the nicely documented [https://api.purpleair.com/](https://api.purpleair.com/) and then figured a custom data processor is most likely better for my project, so I configured that and get a payload similar to:

```auto
{
    "SensorId": "44:17:93:1:e8:e6",
    "DateTime": "2022/10/01T16:28:57z",
    "Geo": "PurpleAir-e8e6",
    "Mem": 12600,
    "memfrag": 31,
    "memfb": 8528,
    "memcs": 768,
    "Id": 4928,
    "lat": 39.4422,
    "lon": -119.726196,
    "Adc": 0.07,
    "loggingrate": 15,
    "place": "outside",
    "version": "7.01",
    "uptime": 592267,
    "rssi": -70,
    "period": 120,
    "httpsuccess": 29728,
    "httpsends": 29779,
    "hardwareversion": "3.0",
    "hardwarediscovered": "3.0+OPENLOG+31954 MB+RV3028+BME280+BME680+PMSX003-A+PMSX003-B",
    "current_temp_f": 64,
    "current_humidity": 30,
    "current_dewpoint_f": 32,
    "pressure": 866.14,
    "current_temp_f_680": 63,
    "current_humidity_680": 31,
    "current_dewpoint_f_680": 32,
    "pressure_680": 865.12,
    "gas_680": 69.49,
    "p25aqic_b": "rgb(1,228,0)",
    "pm2.5_aqi_b": 7,
    "pm1_0_cf_1_b": 1.16,
    "p_0_3_um_b": 401.47,
    "pm2_5_cf_1_b": 1.79,
    "p_0_5_um_b": 105.25,
    "pm10_0_cf_1_b": 1.79,
    "p_1_0_um_b": 12.53,
    "pm1_0_atm_b": 1.16,
    "p_2_5_um_b": 0,
    "pm2_5_atm_b": 1.79,
    "p_5_0_um_b": 0,
    "pm10_0_atm_b": 1.79,
    "p_10_0_um_b": 0,
    "p25aqic": "rgb(1,228,0)",
    "pm2.5_aqi": 9,
    "pm1_0_cf_1": 1.74,
    "p_0_3_um": 454.66,
    "pm2_5_cf_1": 2.22,
    "p_0_5_um": 124.48,
    "pm10_0_cf_1": 2.53,
    "p_1_0_um": 11.53,
    "pm1_0_atm": 1.74,
    "p_2_5_um": 1.38,
    "pm2_5_atm": 2.22,
    "p_5_0_um": 0.38,
    "pm10_0_atm": 2.53,
    "p_10_0_um": 0,
    "pa_latency": 275,
    "response": 201,
    "response_date": 1664641737,
    "latency": 355,
    "key1_response": 200,
    "key1_response_date": 1664641732,
    "key1_count": 5480,
    "ts_latency": 6446,
    "key2_response": 200,
    "key2_response_date": 1664641733,
    "key2_count": 5481,
    "ts_s_latency": 490,
    "response_b": 200,
    "response_date_b": 1664641617,
    "latency_b": 3485,
    "key1_response_b": 200,
    "key1_response_date_b": 1664641734,
    "key1_count_b": 5483,
    "ts_latency_b": 469,
    "key2_response_b": 200,
    "key2_response_date_b": 1664641736,
    "key2_count_b": 5482,
    "ts_s_latency_b": 531,
    "wlstate": "Connected",
    "status_0": 2,
    "status_1": 2,
    "status_2": 2,
    "status_3": 2,
    "status_4": 2,
    "status_5": 2,
    "status_6": 2,
    "status_7": 0,
    "status_8": 2,
    "status_9": 2,
    "status_10": 1
}

```

Is there any documentation on what all of these fields mean? These values seem to have very little overlap with what fields are available from the actual API. Lots of these are extremely ambiguous like `status_1`, etc.

I’ve struggled to find any references to these or documentation on the schema.

Thanks!

---

<div class="post-metadata">

**Author:** ![dwhitemv](https://sea2.discourse-cdn.com/flex020/user_avatar/community.purpleair.com/dwhitemv/32/1508_2.png) [@dwhitemv](https://community.purpleair.com/u/dwhitemv)\
**Post date:** [October 11, 2022, 7:07am UTC](https://community.purpleair.com/t/custom-data-processor-schema/2214/2 "2022-10-11T07:07:38Z")

</div>

I cracked the code of the `status_*` fields today – they encode the configuration of the subsystem status lights at the bottom of the PA’s internal web page. From left to right, 0 = gray, 2 = green, 3 = red.
