{
"device": {
"device_id": "CS-A1B2C3D4",
"firmware_version": "1.4.3-cloud"
},
"health": {
"last_error": null,
"time_source": "NTP",
"time_synced": true,
"wake_reason": "scheduled",
"radar_status": "online",
"rtc_detected": true,
"wifi_rssi_dbm": -46,
"storage_status": "ready",
"uptime_seconds": 31,
"battery_percent": 0,
"battery_voltage": 3.565,
"free_heap_bytes": 72172,
"storage_backend": "sd",
"storage_free_bytes": 1971146752,
"radar_online_percent": 100.0
},
"upload": {
"mode": "every_hour",
"sequence": 17,
"scheduled_time": "16:00",
"configured_times": [
"00:00",
"01:00",
"02:00",
"03:00",
"04:00",
"05:00",
"06:00",
"07:00",
"08:00",
"09:00",
"10:00",
"11:00",
"12:00",
"13:00",
"14:00",
"15:00",
"16:00",
"17:00",
"18:00",
"19:00",
"20:00",
"21:00",
"22:00",
"23:00"
]
},
"reports": [
{
"date": "2026-08-26",
"hourly": [
{
"complete": true,
"period_end": "2026-08-26T01:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T00:00:00",
"pir_triggers": 0,
"coverage_percent": 4.9,
"observed_seconds": 175,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 95.9,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 16.5
},
{
"complete": true,
"period_end": "2026-08-26T02:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 14,
"period_start": "2026-08-26T01:00:00",
"pir_triggers": 0,
"coverage_percent": 4.3,
"observed_seconds": 154,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 89.5,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 15.4
},
{
"complete": true,
"period_end": "2026-08-26T03:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T02:00:00",
"pir_triggers": 0,
"coverage_percent": 5.2,
"observed_seconds": 187,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 95.9,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.9
},
{
"complete": true,
"period_end": "2026-08-26T04:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T03:00:00",
"pir_triggers": 0,
"coverage_percent": 4.8,
"observed_seconds": 173,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 89.6,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 14.1
},
{
"complete": true,
"period_end": "2026-08-26T05:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T04:00:00",
"pir_triggers": 1,
"coverage_percent": 5.1,
"observed_seconds": 185,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 84.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.6
},
{
"complete": true,
"period_end": "2026-08-26T06:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T05:00:00",
"pir_triggers": 0,
"coverage_percent": 5.1,
"observed_seconds": 184,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 84.6,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.2
},
{
"complete": true,
"period_end": "2026-08-26T07:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T06:00:00",
"pir_triggers": 0,
"coverage_percent": 4.8,
"observed_seconds": 173,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 88.3,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.3
},
{
"complete": true,
"period_end": "2026-08-26T08:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T07:00:00",
"pir_triggers": 0,
"coverage_percent": 4.8,
"observed_seconds": 173,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 90.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 14.2
},
{
"complete": true,
"period_end": "2026-08-26T09:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T08:00:00",
"pir_triggers": 1,
"coverage_percent": 5.2,
"observed_seconds": 186,
"average_crowd_score": 1.0,
"highest_crowd_score": 22.0,
"radar_online_percent": 90.9,
"elevated_observations": 0,
"occupied_observations": 1,
"average_battery_percent": 13.9
},
{
"complete": true,
"period_end": "2026-08-26T10:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T09:00:00",
"pir_triggers": 2,
"coverage_percent": 4.9,
"observed_seconds": 178,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 84.4,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 12.5
},
{
"complete": true,
"period_end": "2026-08-26T11:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T10:00:00",
"pir_triggers": 1,
"coverage_percent": 4.9,
"observed_seconds": 178,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 90.5,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.5
},
{
"complete": true,
"period_end": "2026-08-26T12:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T11:00:00",
"pir_triggers": 1,
"coverage_percent": 4.7,
"observed_seconds": 171,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 85.2,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.5
},
{
"complete": true,
"period_end": "2026-08-26T13:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-26T12:00:00",
"pir_triggers": 6,
"coverage_percent": 5.7,
"observed_seconds": 206,
"average_crowd_score": 1.1,
"highest_crowd_score": 25.0,
"radar_online_percent": 94.6,
"elevated_observations": 0,
"occupied_observations": 2,
"average_battery_percent": 12.8
},
{
"complete": true,
"period_end": "2026-08-26T14:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T13:00:00",
"pir_triggers": 2,
"coverage_percent": 4.9,
"observed_seconds": 177,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 90.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 12.4
},
{
"complete": true,
"period_end": "2026-08-26T15:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T14:00:00",
"pir_triggers": 1,
"coverage_percent": 4.7,
"observed_seconds": 168,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 79.3,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.5
},
{
"complete": true,
"period_end": "2026-08-26T16:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T15:00:00",
"pir_triggers": 1,
"coverage_percent": 4.7,
"observed_seconds": 171,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 87.6,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.1
},
{
"complete": true,
"period_end": "2026-08-26T17:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T16:00:00",
"pir_triggers": 0,
"coverage_percent": 4.7,
"observed_seconds": 171,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 89.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.0
},
{
"complete": true,
"period_end": "2026-08-26T18:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T17:00:00",
"pir_triggers": 0,
"coverage_percent": 4.4,
"observed_seconds": 160,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 95.4,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 14.0
},
{
"complete": true,
"period_end": "2026-08-26T19:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 14,
"period_start": "2026-08-26T18:00:00",
"pir_triggers": 0,
"coverage_percent": 4.4,
"observed_seconds": 158,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 90.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.4
},
{
"complete": true,
"period_end": "2026-08-26T20:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T19:00:00",
"pir_triggers": 1,
"coverage_percent": 4.6,
"observed_seconds": 164,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 94.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 13.0
},
{
"complete": true,
"period_end": "2026-08-26T21:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-26T20:00:00",
"pir_triggers": 7,
"coverage_percent": 6.8,
"observed_seconds": 245,
"average_crowd_score": 8.0,
"highest_crowd_score": 29.0,
"radar_online_percent": 86.7,
"elevated_observations": 0,
"occupied_observations": 3,
"average_battery_percent": 11.4
},
{
"complete": true,
"period_end": "2026-08-26T22:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 20,
"period_start": "2026-08-26T21:00:00",
"pir_triggers": 24,
"coverage_percent": 17.3,
"observed_seconds": 623,
"average_crowd_score": 22.4,
"highest_crowd_score": 58.0,
"radar_online_percent": 88.7,
"elevated_observations": 6,
"occupied_observations": 11,
"average_battery_percent": 12.1
},
{
"complete": true,
"period_end": "2026-08-26T23:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-26T22:00:00",
"pir_triggers": 1,
"coverage_percent": 6.4,
"observed_seconds": 230,
"average_crowd_score": 8.8,
"highest_crowd_score": 58.0,
"radar_online_percent": 91.5,
"elevated_observations": 1,
"occupied_observations": 3,
"average_battery_percent": 10.7
},
{
"complete": true,
"period_end": "2026-08-27T00:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-26T23:00:00",
"pir_triggers": 0,
"coverage_percent": 5.9,
"observed_seconds": 214,
"average_crowd_score": 4.5,
"highest_crowd_score": 22.0,
"radar_online_percent": 91.1,
"elevated_observations": 0,
"occupied_observations": 1,
"average_battery_percent": 11.6
}
],
"status": "final",
"summary": {
"peak_hour": "21:00-22:00",
"observations": 366,
"quietest_hour": "00:00-01:00",
"dominant_level": "empty",
"coverage_percent": 5.6,
"observed_seconds": 4804,
"level_distribution": {
"low": 18,
"high": 0,
"peak": 0,
"empty": 310,
"medium": 0
},
"average_crowd_score": 4.0,
"highest_crowd_score": 58.0,
"elevated_observations": 7,
"occupied_observations": 21
},
"revision": 24,
"report_id": "CS-A1B2C3D4-2026-08-26",
"period_end": "2026-08-27T00:00:00",
"period_start": "2026-08-26T00:00:00"
},
{
"date": "2026-08-27",
"hourly": [
{
"complete": true,
"period_end": "2026-08-27T01:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T00:00:00",
"pir_triggers": 1,
"coverage_percent": 4.5,
"observed_seconds": 161,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 84.4,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 11.4
},
{
"complete": true,
"period_end": "2026-08-27T02:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T01:00:00",
"pir_triggers": 1,
"coverage_percent": 5.0,
"observed_seconds": 180,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 97.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 11.4
},
{
"complete": true,
"period_end": "2026-08-27T03:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T02:00:00",
"pir_triggers": 0,
"coverage_percent": 5.0,
"observed_seconds": 180,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 95.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 10.6
},
{
"complete": true,
"period_end": "2026-08-27T04:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T03:00:00",
"pir_triggers": 0,
"coverage_percent": 5.2,
"observed_seconds": 188,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 96.7,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 9.7
},
{
"complete": true,
"period_end": "2026-08-27T05:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T04:00:00",
"pir_triggers": 1,
"coverage_percent": 5.1,
"observed_seconds": 184,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 97.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 9.9
},
{
"complete": true,
"period_end": "2026-08-27T06:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T05:00:00",
"pir_triggers": 0,
"coverage_percent": 5.3,
"observed_seconds": 191,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 92.8,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 8.8
},
{
"complete": true,
"period_end": "2026-08-27T07:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T06:00:00",
"pir_triggers": 0,
"coverage_percent": 5.1,
"observed_seconds": 183,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 96.9,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 9.9
},
{
"complete": true,
"period_end": "2026-08-27T08:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T07:00:00",
"pir_triggers": 1,
"coverage_percent": 4.6,
"observed_seconds": 164,
"average_crowd_score": 1.0,
"highest_crowd_score": 29.0,
"radar_online_percent": 94.4,
"elevated_observations": 0,
"occupied_observations": 2,
"average_battery_percent": 8.9
},
{
"complete": true,
"period_end": "2026-08-27T09:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T08:00:00",
"pir_triggers": 1,
"coverage_percent": 5.2,
"observed_seconds": 189,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 96.9,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 8.3
},
{
"complete": true,
"period_end": "2026-08-27T10:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T09:00:00",
"pir_triggers": 0,
"coverage_percent": 4.9,
"observed_seconds": 176,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 97.2,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 8.5
},
{
"complete": true,
"period_end": "2026-08-27T11:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T10:00:00",
"pir_triggers": 7,
"coverage_percent": 5.1,
"observed_seconds": 185,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 79.3,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 7.9
},
{
"complete": true,
"period_end": "2026-08-27T12:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-27T11:00:00",
"pir_triggers": 35,
"coverage_percent": 21.7,
"observed_seconds": 780,
"average_crowd_score": 19.1,
"highest_crowd_score": 27.0,
"radar_online_percent": 99.6,
"elevated_observations": 0,
"occupied_observations": 12,
"average_battery_percent": 8.8
},
{
"complete": true,
"period_end": "2026-08-27T13:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T12:00:00",
"pir_triggers": 11,
"coverage_percent": 19.1,
"observed_seconds": 688,
"average_crowd_score": 17.2,
"highest_crowd_score": 50.0,
"radar_online_percent": 100.0,
"elevated_observations": 1,
"occupied_observations": 10,
"average_battery_percent": 6.3
},
{
"complete": true,
"period_end": "2026-08-27T14:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T13:00:00",
"pir_triggers": 11,
"coverage_percent": 22.2,
"observed_seconds": 798,
"average_crowd_score": 23.4,
"highest_crowd_score": 53.0,
"radar_online_percent": 100.0,
"elevated_observations": 4,
"occupied_observations": 12,
"average_battery_percent": 8.3
},
{
"complete": true,
"period_end": "2026-08-27T15:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-27T14:00:00",
"pir_triggers": 3,
"coverage_percent": 19.9,
"observed_seconds": 716,
"average_crowd_score": 16.8,
"highest_crowd_score": 23.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 10,
"average_battery_percent": 6.7
},
{
"complete": true,
"period_end": "2026-08-27T16:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 19,
"period_start": "2026-08-27T15:00:00",
"pir_triggers": 24,
"coverage_percent": 27.6,
"observed_seconds": 993,
"average_crowd_score": 21.8,
"highest_crowd_score": 54.0,
"radar_online_percent": 100.0,
"elevated_observations": 3,
"occupied_observations": 15,
"average_battery_percent": 5.9
}
],
"status": "partial",
"summary": {
"peak_hour": "13:00-14:00",
"observations": 245,
"quietest_hour": "00:00-01:00",
"dominant_level": "low",
"coverage_percent": 10.3,
"observed_seconds": 5956,
"level_distribution": {
"low": 80,
"high": 0,
"peak": 0,
"empty": 155,
"medium": 0
},
"average_crowd_score": 13.3,
"highest_crowd_score": 54.0,
"elevated_observations": 8,
"occupied_observations": 61
},
"revision": 16,
"report_id": "CS-A1B2C3D4-2026-08-27",
"period_end": "2026-08-27T16:00:00",
"period_start": "2026-08-27T00:00:00"
}
],
"sync_id": "CS-A1B2C3D4-20260827-S17-960",
"generated_at": "2026-08-27T16:00:02\u002B05:30",
"message_type": "device_sync",
"command_results": [],
"reported_config": {
"area_size": "medium",
"power_mode": "smart",
"sensitivity": "medium",
"config_version": 8,
"pir_wake_enabled": true,
"pir_cooldown_seconds": 60,
"active_window_seconds": 45,
"maximum_window_seconds": 120,
"backup_interval_seconds": 300,
"empty_confirmation_seconds": 8
},
"observation_batch": null
}