{
"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": "offline",
"rtc_detected": true,
"wifi_rssi_dbm": -39,
"storage_status": "ready",
"uptime_seconds": 36,
"battery_percent": 76,
"battery_voltage": 3.952,
"free_heap_bytes": 85392,
"storage_backend": "sd",
"storage_free_bytes": 1971429376,
"radar_online_percent": 0.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-23",
"hourly": [
{
"complete": true,
"period_end": "2026-08-23T01:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-23T00:00:00",
"pir_triggers": 0,
"coverage_percent": 5.3,
"observed_seconds": 192,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 99.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 83.7
},
{
"complete": true,
"period_end": "2026-08-23T02:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-23T01: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": 99.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 83.7
},
{
"complete": true,
"period_end": "2026-08-23T03:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-23T02:00:00",
"pir_triggers": 0,
"coverage_percent": 5.4,
"observed_seconds": 193,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 99.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 83.7
},
{
"complete": true,
"period_end": "2026-08-23T04:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-23T03:00:00",
"pir_triggers": 0,
"coverage_percent": 4.7,
"observed_seconds": 169,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 92.3,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 83.2
},
{
"complete": true,
"period_end": "2026-08-23T05:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-23T04:00:00",
"pir_triggers": 0,
"coverage_percent": 4.7,
"observed_seconds": 170,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 84.6,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 82.8
},
{
"complete": true,
"period_end": "2026-08-23T06:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-23T05:00:00",
"pir_triggers": 0,
"coverage_percent": 5.9,
"observed_seconds": 212,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 99.1,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 82.7
},
{
"complete": true,
"period_end": "2026-08-23T07:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-23T06: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": 91.7,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 82.7
},
{
"complete": true,
"period_end": "2026-08-23T08:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-23T07:00:00",
"pir_triggers": 0,
"coverage_percent": 5.1,
"observed_seconds": 185,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 91.7,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 82.4
},
{
"complete": true,
"period_end": "2026-08-23T09:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-23T08:00:00",
"pir_triggers": 5,
"coverage_percent": 10.4,
"observed_seconds": 375,
"average_crowd_score": 15.4,
"highest_crowd_score": 54.0,
"radar_online_percent": 99.1,
"elevated_observations": 1,
"occupied_observations": 4,
"average_battery_percent": 82.5
},
{
"complete": true,
"period_end": "2026-08-23T10:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 17,
"period_start": "2026-08-23T09:00:00",
"pir_triggers": 1,
"coverage_percent": 9.3,
"observed_seconds": 333,
"average_crowd_score": 16.9,
"highest_crowd_score": 52.0,
"radar_online_percent": 76.5,
"elevated_observations": 1,
"occupied_observations": 9,
"average_battery_percent": 80.1
},
{
"complete": true,
"period_end": "2026-08-23T11:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 17,
"period_start": "2026-08-23T10:00:00",
"pir_triggers": 12,
"coverage_percent": 8.3,
"observed_seconds": 297,
"average_crowd_score": 12.9,
"highest_crowd_score": 53.0,
"radar_online_percent": 76.5,
"elevated_observations": 1,
"occupied_observations": 4,
"average_battery_percent": 78.6
},
{
"complete": true,
"period_end": "2026-08-23T12:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 17,
"period_start": "2026-08-23T11:00:00",
"pir_triggers": 29,
"coverage_percent": 13.6,
"observed_seconds": 489,
"average_crowd_score": 23.7,
"highest_crowd_score": 59.0,
"radar_online_percent": 99.0,
"elevated_observations": 3,
"occupied_observations": 9,
"average_battery_percent": 76.3
},
{
"complete": true,
"period_end": "2026-08-23T13:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-23T12:00:00",
"pir_triggers": 8,
"coverage_percent": 18.8,
"observed_seconds": 675,
"average_crowd_score": 20.5,
"highest_crowd_score": 58.0,
"radar_online_percent": 99.7,
"elevated_observations": 6,
"occupied_observations": 15,
"average_battery_percent": 77.9
},
{
"complete": true,
"period_end": "2026-08-23T14:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 18,
"period_start": "2026-08-23T13:00:00",
"pir_triggers": 22,
"coverage_percent": 15.0,
"observed_seconds": 539,
"average_crowd_score": 27.6,
"highest_crowd_score": 75.0,
"radar_online_percent": 98.7,
"elevated_observations": 7,
"occupied_observations": 11,
"average_battery_percent": 76.2
},
{
"complete": true,
"period_end": "2026-08-23T15:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 16,
"period_start": "2026-08-23T14:00:00",
"pir_triggers": 0,
"coverage_percent": 7.9,
"observed_seconds": 284,
"average_crowd_score": 8.9,
"highest_crowd_score": 25.0,
"radar_online_percent": 97.0,
"elevated_observations": 0,
"occupied_observations": 2,
"average_battery_percent": 76.3
},
{
"complete": true,
"period_end": "2026-08-23T16:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 18,
"period_start": "2026-08-23T15:00:00",
"pir_triggers": 27,
"coverage_percent": 15.8,
"observed_seconds": 567,
"average_crowd_score": 27.6,
"highest_crowd_score": 58.0,
"radar_online_percent": 99.1,
"elevated_observations": 5,
"occupied_observations": 10,
"average_battery_percent": 76.2
}
],
"status": "partial",
"summary": {
"peak_hour": "13:00-14:00",
"observations": 231,
"quietest_hour": "00:00-01:00",
"dominant_level": "low",
"coverage_percent": 8.8,
"observed_seconds": 5054,
"level_distribution": {
"low": 108,
"high": 0,
"peak": 0,
"empty": 110,
"medium": 0
},
"average_crowd_score": 14.6,
"highest_crowd_score": 75.0,
"elevated_observations": 24,
"occupied_observations": 64
},
"revision": 16,
"report_id": "CS-A1B2C3D4-2026-08-23",
"period_end": "2026-08-23T16:00:00",
"period_start": "2026-08-23T00:00:00"
}
],
"sync_id": "CS-A1B2C3D4-20260823-S17-960",
"generated_at": "2026-08-23T16:00:20\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
}