Skip to main content

Commands and Execution ACK

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 successful
  • failed: execution is known failed
  • unknown: 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.