Commands and Execution ACK
Downlink path
Backend routing
→ dn/cmd
→ CommandRouter
→ GatewayConfigResolver
→ GatewayDriver
→ NativeBusExecutor
→ Child
Analyzer never participates in this path.
Command
{
"mid": "cmd-0001",
"deviceSerial": "AIRN0987654321",
"groupKey": "rgb",
"operationKey": "on_off",
"commandKey": "on",
"params": {}
}
mid provides correlation and bounded deduplication identity.
PUBACK != success
QoS 1 confirms MQTT delivery only. Success means the Driver has enough protocol-specific evidence to consider native execution successful according to that Driver contract.
Final ACK
{
"mid": "cmd-0001",
"deviceSerial": "AIRN0987654321",
"status": "success",
"code": "success",
"retry": "none",
"completedAtUtc": "2026-09-14T08:12:03Z",
"diagnostic": {"message": null, "nativeCode": null}
}
Status
success: execution is known successfulfailed: execution is known failedunknown: it is uncertain whether the Child executed the command
unknown must not be blindly retried; the command may have executed while its response was lost.
Duplicate mid
- duplicate while in-flight → no second native execution
- completed duplicate within bounded cache → replay known ACK
- no infinite history
State after a command
A successful ACK alone does not authorize fabricated Child state. State changes only when the Driver has authoritative resulting state or a later observation confirms it.