{"ok":true,"location":"Lab Location 1","wifiSignal":{"samples":100,"current":-30,"min":-30,"max":-30,"avg":-30,"stddev":0,"history":[{"rssi":-30,"ts":"2026-11-06T22:55:50.774Z"},{"rssi":-30,"ts":"2026-11-06T22:56:50.806Z"},{"rssi":-30,"ts":"2026-11-06T22:57:50.776Z"},{"rssi":-30,"ts":"2026-11-06T22:58:50.795Z"},{"rssi":-30,"ts":"2026-11-06T22:59:50.830Z"},{"rssi":-30,"ts":"2026-11-06T23:00:50.788Z"},{"rssi":-30,"ts":"2026-11-06T23:01:50.778Z"},{"rssi":-30,"ts":"2026-11-06T23:02:50.818Z"},{"rssi":-30,"ts":"2026-11-06T23:03:50.837Z"},{"rssi":-30,"ts":"2026-11-06T23:04:50.796Z"},{"rssi":-30,"ts":"2026-11-06T23:05:50.801Z"},{"rssi":-30,"ts":"2026-11-06T23:06:50.804Z"},{"rssi":-30,"ts":"2026-11-06T23:07:50.811Z"},{"rssi":-30,"ts":"2026-11-06T23:08:50.778Z"},{"rssi":-30,"ts":"2026-11-06T23:09:50.782Z"},{"rssi":-30,"ts":"2026-11-06T23:10:50.837Z"},{"rssi":-30,"ts":"2026-11-06T23:11:50.800Z"},{"rssi":-30,"ts":"2026-11-06T23:12:50.783Z"},{"rssi":-30,"ts":"2026-11-06T23:13:50.812Z"},{"rssi":-30,"ts":"2026-11-06T23:14:50.793Z"}]},"blePresence":{"samples":100,"current":25,"min":25,"max":25,"avg":25,"history":[{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37.5,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":11999262,"reason":"BLE data is 11999262s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-27T09:01:57.476Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37.3,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12032780,"reason":"BLE data is 12032780s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-27T18:20:35.546Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37.3,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12102253,"reason":"BLE data is 12102253s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-28T13:38:28.242Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37.3,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12130296,"reason":"BLE data is 12130296s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-28T21:25:51.423Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37.3,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12144162,"reason":"BLE data is 12144162s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-29T01:16:57.124Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12232655,"reason":"BLE data is 12232655s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-30T01:51:50.540Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12260898,"reason":"BLE data is 12260898s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-30T09:42:33.030Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12340177,"reason":"BLE data is 12340177s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-31T07:43:51.873Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":37,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12349332,"reason":"BLE data is 12349332s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-10-31T10:16:27.408Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12413707,"reason":"BLE data is 12413707s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-01T04:09:21.589Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12510975,"reason":"BLE data is 12510975s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-02T07:10:29.609Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12524784,"reason":"BLE data is 12524784s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-02T11:00:39.386Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12528792,"reason":"BLE data is 12528792s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-02T12:07:26.931Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12530714,"reason":"BLE data is 12530714s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-02T12:39:29.549Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":36.7,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12704113,"reason":"BLE data is 12704113s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-04T12:49:27.899Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":35.5,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12823047,"reason":"BLE data is 12823047s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-05T21:51:42.534Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-31,"temp":35.5,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12855805,"reason":"BLE data is 12855805s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-06T06:57:39.644Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":35.4,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12877985,"reason":"BLE data is 12877985s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-06T13:07:20.584Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":35.4,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12879699,"reason":"BLE data is 12879699s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-06T13:35:54.364Z"},{"bleCount":25,"strongBle":6,"wifiRssi":-30,"temp":35.4,"power":0,"estimate":{"level":"STALE","confidence":0,"age_s":12882175,"reason":"BLE data is 12882175s old (freshness threshold 300s). No live presence estimate possible - redeploy/restart the BLE push script on the Shelly for fresh data.","peopleEstimate":null},"ts":"2026-11-06T14:17:09.851Z"}]},"analysis":{"wifiStability":"stable","hint":"Stable WiFi RSSI = no movement near plug. Varying = people/objects moving. More BLE devices = more people nearby.","exercises":["Plot WiFi RSSI over time - look for patterns (morning activity, evening quiet)","Correlate BLE count with time of day - when are most devices nearby?","Calculate WiFi RSSI standard deviation - high stddev = active environment","Build an anomaly detector: alert when BLE count deviates >2x from average","Create a daily presence profile: which hours have most/least activity?"]}}