Edge Orchestrator
✓ Running
Assign ESP32 CSI nodes to seeds, balance CSI processing load, and manage ESP32 firmware updates over-the-air across the entire mesh.
Emits
node_assigned
load_balanced
firmware_updated
coverage_optimized
📦 Total Nodes
24online
↑ 2 since 12:00
⚓ Active Seeds
4/ 4 healthy
Quorum ✓ · uptime 99.8%
⚖️ Load Balance
87% even
σ 0.13 · re-balance soon
🔄 OTA Campaign
14/ 24 nodes
v2.1.3 · rolling 58%
🕸️Mesh Topology
live · 4 seeds · 20 CSI nodes · 38 links
Seed
CSI Node
Updating
Offline
uplink 12.4 Mb/s
mesh hops avg 1.8
RTT 4.2 ms
NodeRoleRSSILoad · CPUActions
seed-01
esp32s3 · a4:cf:12:88:01
-42 dBm
62% · 5 nodes
seed-02
esp32s3 · a4:cf:12:88:02
-55 dBm
71% · 5 nodes
seed-03
esp32s3 · a4:cf:12:88:03
-48 dBm
54% · 5 nodes
seed-04
esp32s3 · a4:cf:12:88:04
-67 dBm
49% · 4 nodes
csi-living-rm
esp32s3 · a4:cf:12:88:1a
-46 dBm
34% · → seed-01
csi-kitchen
esp32s3 · a4:cf:12:88:1b
-58 dBm
41% · → seed-01
csi-bedroom-1
esp32s3 · a4:cf:12:88:1c
-51 dBm
28% · → seed-02
csi-hallway
esp32s3 · a4:cf:12:88:1d
-69 dBm
flashing v2.1.3 · 64%
csi-office
esp32s3 · a4:cf:12:88:1e
-44 dBm
37% · → seed-03
csi-garage
esp32s3 · a4:cf:12:88:1f
no signal
offline · 4m 12s
csi-patio
esp32s3 · a4:cf:12:88:20
-56 dBm
52% · → seed-04
⚓Seed Assignments
5 nodes / seed avg
seed-01
csi-living-rm
csi-kitchen
csi-entry
csi-laundry
csi-pantry
seed-02
csi-bedroom-1
csi-bedroom-2
csi-bath-up
csi-hallway·OTA
csi-stairs
seed-03
csi-office
csi-studio
csi-storage
csi-basement
csi-utility
seed-04
csi-patio
csi-yard
csi-shed
csi-garage·OFF
⚖️Load Balancer
auto-tuning
Rebalance threshold σ ≥ 0.15
Heartbeat interval 2.0s
CSI sample window 512 pkts
Auto-rebalancemigrate CSI nodes when seed load drifts
Coverage optimizationRSSI-aware seed selection
Quorum guardhalt OTA if seed quorum drops
🔄Firmware OTA
staged rollout · canary 10% → 50% → 100%
Running firmware
v2.1.2
sha256: 7c1f…a3e9 · built 2026-05-12
Available
v2.1.3 + new
sha256: 1d92…ff04 · 14 KB · signed ✓
canary (10%)
3 / 3
✓ Done
ring-1 (50%)
11 / 15
⟳ Rolling
ring-2 (100%)
0 / 9
◷ Staged
failures
1 / 14
! Retry
⚙Settings
orchestrator configuration · auto-saved
🛰️General
Identity and operating region for this orchestrator instance.
Orchestrator nameShown in the mesh registry
RegionGeographic deployment zone
Log levelVerbosity of orchestrator logs
TimezoneFor scheduled OTA windows
🕸️Mesh Network
Wi-Fi mesh fabric and peer discovery.
Mesh IDUnique identifier for this mesh
cog-mesh-77a3
EncryptionLink-layer cipher between nodes
Max nodesPer-mesh capacity ceiling
Mesh channel2.4 GHz operating channel
🔌API & Integrations
Outbound endpoints for events and remote control.
MQTT brokerEvent egress (TLS recommended)
Webhook URLPOST on every emitted event
API keyBearer token for inbound calls
eok_•••••••• 4f2c
Prometheus scrapeExpose /metrics on :9100
🔔Alerts
When to page on-call for mesh degradation.
Node offline thresholdAlert if > N nodes drop
Quorum loss alertPage when seeds < 3/4
OTA failure alertPage on rollback or signature mismatch
ChannelWhere alerts are delivered
⚠️Danger zoneDestructive
These actions affect the entire mesh and cannot be undone without a re-pairing flow.
Re-pair all CSI nodesDrops every CSI node and forces re-handshake with seeds
Rotate API keyInvalidates the current bearer token immediately
Factory reset orchestratorWipes configuration, assignments, and OTA campaigns
📡Event Stream
last 60 min · tail -f
17:42:18
firmware_updated
csi-bedroom-1 → v2.1.3 · sha256 1d92…ff04 · 18.4s
17:42:11
load_balanced
rebalance complete · σ 0.21 → 0.13 · 2 migrations
17:42:10
node_assigned
csi-stairs reassigned seed-01 → seed-02 (lower RSSI hop)
17:42:09
node_assigned
csi-laundry reassigned seed-03 → seed-01 (load shed)
17:41:47
warning
csi-garage heartbeat missed · marking offline after 3 retries
17:41:02
coverage_optimized
coverage map recomputed · 38 mesh links · avg hop 1.8
17:40:55
firmware_updated
csi-office → v2.1.3 · sha256 1d92…ff04 · 17.9s
17:39:30
firmware_updated
OTA ring-1 started · target v2.1.3 · batch 5/15
17:37:14
firmware_updated
canary ring complete · 3/3 nodes on v2.1.3 · 0 rollbacks
17:35:02
load_balanced
load balancer tick · seeds 62/71/54/49% · no action
17:32:48
node_assigned
csi-shed joined mesh · assigned seed-04 · RSSI -61 dBm
17:30:00
coverage_optimized
hourly optimization pass · seed quorum 4/4 · all rooms covered