I use HA as well. We’re stuffing everything from the device JSON the same way, so there are no new details. I also use the InfluxDB and Prometheus integrations to get all my data out of HA. They each have their benefits and drawbacks. My data dictionary is a little more straightforward as it doesn’t have to go through the HA process.
My own device JSON looks like this:
"devices": {
"553549": {
"id": 553549,
"serial_number": "001372CBA9BD",
"model": "wifiiaqdetector",
"notify": true,
"location_id": 356103,
"label": "Basement",
"lost": false,
"hwrev": "WD-ESP32",
"ptt_state": "idle",
"locate_active": false,
"instance_id": "35845b70ef",
"notify_contact": true,
"last_test_time": "2024-01-28T18:52:54Z",
"motion_active": false,
"weather_active": false,
"capabilities": [
"smoke",
"co",
"temperature"
],
"errors": [],
"smoke_alarm": false,
"co_alarm": false,
"smoke_level": 3,
"smoke_comp": -21,
"too_much_smoke": false,
"smoke_hushed": false,
"co_level": 0,
"fwrev": {
"wm": "2.5",
"net": "4.4.1",
"alarm": "1.10"
},
"life": 514,
"batt_volt": 0,
"battery_state": "ok",
"temperature_f": 78,
"temperature": 78,
"ptt_active": false,
"identifying": false,
"announcement": "Basement",
"notify_eol": true,
"notify_tvoc": false,
"notify_rh": false,
"notify_iaq_temp": false,
"notify_mold_risk": false,
"diag_params": {
"ap_rssi": -58
},
"mb_model": 39,
"last_seen": "2024-06-25T04:09:02.836976621Z",
"ssid": "tyle-iot",
"iaq_temperature": {
"value": 73.62,
"status": "Good",
"Unit": "F"
},
"humidity": {
"value": 36.24,
"status": "Good",
"Unit": "%RH"
},
"hpa": {
"value": 98911,
"status": "Unhealthy",
"Unit": "hpa"
},
"tvoc": {
"value": 1111.43,
"status": "Moderate",
"Unit": "ppb"
},
"iaq": {
"value": 92.24,
"status": "Good",
"Unit": ""
},
"co2": {
"value": 922.37,
"status": "Good",
"Unit": "PPM"
},
"ap_rssi": -58,
"iaq_state": "Normal",
"iaq_learn_countdown": 0,
"iaq_last_test_time": "2024-06-24T23:18:25Z",
"iaq_test_status": true,
"reset_flag": false,
"overall_iaq_status": "Moderate",
"country_code": "US",
"longitude": 0,
"latitude": 0,
"altitude": 0,
"accuracy": 0,
"end_of_life_status": 1
},
The efforts by the HA community have been great!! So this is really a quick collector to go with my other collectors like Sense, WeatherFlow, and Kasa, as I started many of them before I ended up in the deep end of Home Assistant! I can massage the data and Grafana graphs to make things a little easier to display.