Yes
No
success
timeout
POST /api/command
Is router online?
Send via WS
Persist to commands table(status=pending)
Wait for router reconnect
Result?
UPDATE status=completed
Mark for retry(next reconnect)