Quick verification — enabled once the image is published
GET /system/northbound-publish/status reports running and connected.
- A cloud subscriber on
<prefix>/{gateway}/telemetry receives messages with message_id, gateway_id, and samples.
- Stop the broker;
northbound.spool.queued in /system/runtime-metrics grows.
- Restart the broker;
northbound.spool.queued returns to 0 and dropped has not increased.
- The
<prefix>/{gateway}/status topic is back to online.
Running the capacity soak
Clone the upstream repository onto the target device and run:
uv run python scripts/r14_capacity_soak.py --profile release \
--evidence-root log/r14-capacity-evidence --run-id release-<UTC timestamp>
The release profile runs for 24 h; capacity-smoke runs for 180 s. A run passes when verdict.json reports passed=true.
Next steps
- Set the buffer limits from your longest expected outage.
- Deduplicate on
message_id in the cloud consumer; replayed messages can repeat.
- Alert on
northbound.spool.dropped and oldest_age_seconds.
Protocol Release Status
| Protocol | Current boundary |
|---|
| OPC UA | Source configuration, browse/manual points, live reads, and controlled writes |
| Modbus TCP | Manual points, unit scan, live reads, and controlled writes |
| BACnet/IP | Who-Is discovery, manual points, ReadProperty, and WriteProperty with priority and Null relinquish. COV subscription, BBMD/Foreign-Device registration, and MS-TP are not supported |
| MQTT source | Explicit topic mappings and bounded topic observation |
| Modbus RTU/RS-485 | Requires the serial-device deployment profile and USB hardware validation |
| Northbound MQTT publish | Batched telemetry, health and status, heartbeat, outage buffering and ordered replay. Not in v1.6.7 |
| Northbound topic contract | MissionPack v1 topics; Sparkplug B is not supported |