{
"device": {
"device_id": "CS-A1",
"firmware_version": "1.4.1-cloud"
},
"health": {
"last_error": null,
"time_source": "RTC",
"time_synced": true,
"wake_reason": "scheduled",
"radar_status": "online",
"rtc_detected": true,
"wifi_rssi_dbm": -34,
"storage_status": "ready",
"uptime_seconds": 2,
"battery_percent": 65,
"battery_voltage": 3.862,
"free_heap_bytes": 112992,
"storage_backend": "sd",
"storage_free_bytes": 1971818496,
"radar_online_percent": 100.0
},
"upload": {
"mode": "every_hour",
"sequence": 12,
"scheduled_time": "11: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-10",
"hourly": [
{
"complete": true,
"period_end": "2026-08-10T01:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 18,
"period_start": "2026-08-10T00:00:00",
"pir_triggers": 11,
"coverage_percent": 21.4,
"observed_seconds": 769,
"average_crowd_score": 22.9,
"highest_crowd_score": 57.0,
"radar_online_percent": 100.0,
"elevated_observations": 5,
"occupied_observations": 12,
"average_battery_percent": 69.2
},
{
"complete": true,
"period_end": "2026-08-10T02:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 14,
"period_start": "2026-08-10T01:00:00",
"pir_triggers": 10,
"coverage_percent": 13.2,
"observed_seconds": 476,
"average_crowd_score": 15.8,
"highest_crowd_score": 28.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 6,
"average_battery_percent": 67.6
},
{
"complete": true,
"period_end": "2026-08-10T03:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-10T02:00:00",
"pir_triggers": 0,
"coverage_percent": 5.4,
"observed_seconds": 196,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 68.5
},
{
"complete": true,
"period_end": "2026-08-10T04:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-10T03:00:00",
"pir_triggers": 1,
"coverage_percent": 7.1,
"observed_seconds": 254,
"average_crowd_score": 5.8,
"highest_crowd_score": 26.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 2,
"average_battery_percent": 68.5
},
{
"complete": true,
"period_end": "2026-08-10T05:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-10T04:00:00",
"pir_triggers": 7,
"coverage_percent": 11.8,
"observed_seconds": 423,
"average_crowd_score": 12.3,
"highest_crowd_score": 28.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 6,
"average_battery_percent": 69.0
},
{
"complete": true,
"period_end": "2026-08-10T06:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-10T05:00:00",
"pir_triggers": 1,
"coverage_percent": 5.6,
"observed_seconds": 200,
"average_crowd_score": 1.6,
"highest_crowd_score": 27.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 1,
"average_battery_percent": 67.5
},
{
"complete": true,
"period_end": "2026-08-10T07:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 13,
"period_start": "2026-08-10T06:00:00",
"pir_triggers": 0,
"coverage_percent": 8.9,
"observed_seconds": 321,
"average_crowd_score": 9.9,
"highest_crowd_score": 22.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 3,
"average_battery_percent": 67.3
},
{
"complete": true,
"period_end": "2026-08-10T08:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-10T07:00:00",
"pir_triggers": 0,
"coverage_percent": 5.4,
"observed_seconds": 196,
"average_crowd_score": 0.0,
"highest_crowd_score": 0.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 0,
"average_battery_percent": 66.6
},
{
"complete": true,
"period_end": "2026-08-10T09:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 15,
"period_start": "2026-08-10T08:00:00",
"pir_triggers": 3,
"coverage_percent": 11.6,
"observed_seconds": 416,
"average_crowd_score": 12.9,
"highest_crowd_score": 28.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 6,
"average_battery_percent": 66.9
},
{
"complete": true,
"period_end": "2026-08-10T10:00:00",
"crowd_level": "low",
"data_status": "valid",
"observations": 17,
"period_start": "2026-08-10T09:00:00",
"pir_triggers": 76,
"coverage_percent": 22.1,
"observed_seconds": 797,
"average_crowd_score": 24.5,
"highest_crowd_score": 58.0,
"radar_online_percent": 100.0,
"elevated_observations": 2,
"occupied_observations": 13,
"average_battery_percent": 64.6
},
{
"complete": true,
"period_end": "2026-08-10T11:00:00",
"crowd_level": "empty",
"data_status": "valid",
"observations": 12,
"period_start": "2026-08-10T10:00:00",
"pir_triggers": 2,
"coverage_percent": 6.7,
"observed_seconds": 240,
"average_crowd_score": 5.6,
"highest_crowd_score": 29.0,
"radar_online_percent": 100.0,
"elevated_observations": 0,
"occupied_observations": 2,
"average_battery_percent": 63.6
}
],
"status": "partial",
"summary": {
"peak_hour": "09:00-10:00",
"observations": 153,
"quietest_hour": "02:00-03:00",
"dominant_level": "low",
"coverage_percent": 10.8,
"observed_seconds": 4288,
"level_distribution": {
"low": 79,
"high": 0,
"peak": 0,
"empty": 74,
"medium": 0
},
"average_crowd_score": 14.4,
"highest_crowd_score": 58.0,
"elevated_observations": 7,
"occupied_observations": 51
},
"revision": 11,
"report_id": "CS-A1-2026-08-10",
"period_end": "2026-08-10T11:00:00",
"period_start": "2026-08-10T00:00:00"
}
],
"sync_id": "CS-A1-20260810-S12-660",
"generated_at": "2026-08-10T11:01:01\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
}