Work offline
When the network goes down, Cadreen keeps working locally. Operations queue up and sync when the connection returns.
Does Cadreen work offline?
Yes. When the cloud connection drops, Cadreen switches to local mode. Devices keep running, commands keep executing, and sensor data keeps flowing. Everything queues up locally.
When the connection returns, Cadreen syncs everything back to the cloud. Your data is never lost.
What connection states exist?
Connected to the cloud. Everything syncs normally.
No cloud connection. Cadreen works locally. Operations queue up.
Partial connection. Some operations may be delayed.
How does sync work?
Operations are queued in a local SQLite database on the edge device. When the connection returns, they're replayed to the cloud in order.
If there's a conflict (both edge and cloud changed the same thing), the cloud wins by default. You can review and resolve conflicts manually.
How edge devices sync with the cloud, even offline
What if there's a conflict?
Cadreen detects when the same data was modified on both edge and cloud. By default, the cloud version wins. You can view conflicts through the API and choose which version to keep.
How do I check sync status?
/api/v1/cadreen/devices/sync/statusCheck if Cadreen is online and how latency looks.
{
"connected": true,
"state": "online",
"latency": 42
}Example
curl http://localhost:8080/api/v1/cadreen/devices/sync/status/api/v1/cadreen/devices/sync/pendingSee how many operations are waiting to sync.
{
"pending": 12,
"conflicts": 0,
"message": "What's waiting to sync"
}Example
curl http://localhost:8080/api/v1/cadreen/devices/sync/pending/api/v1/cadreen/devices/sync/conflictsCheck for sync conflicts between edge and cloud.
{
"conflicts": [
{
"key": "device:robot-1:pose",
"category": "state",
"edge": {"x": 1.0, "y": 2.0},
"cloud": {"x": 0.5, "y": 1.5}
}
],
"total": 1
}Example
curl http://localhost:8080/api/v1/cadreen/devices/sync/conflicts?hours=24/api/v1/cadreen/devices/blackboardRead the shared state between edge and cloud. This shows what Cadreen knows across all devices.
{
"entries": [
{
"key": "device:robot-1:pose",
"value": {"x": 1.5, "y": 2.0},
"category": "state",
"updated_at": "2026-07-18T10:30:00Z"
}
],
"total": 1,
"message": "What the system knows"
}Example
curl "http://localhost:8080/api/v1/cadreen/devices/blackboard?category=state&limit=50"