From a button click in the app, down to the physical smart meter and back —
gatekeeper checks, protocol adapters, push vs pull responses, and follow-on side-effects.
100%
Key Concepts
Gatekeeper (step 4)
Before queueing a command, the system checks whether the meter and grid are in a state that allows the command to go through.
QUEUED — all clear, command is dispatched to the device
DEFERRED — meter is mid-commissioning; command waits and resumes automatically
SUSPENDED — grid or gateway temporarily offline; retries when restored
ABORTED — meter unreachable for too long; command is permanently cancelled
Adapters & Codecs (steps 6 & 10)
Meters use different physical and API protocols. An adapter layer handles encoding outgoing commands and decoding incoming responses for each.
LoRaWAN (CALIN) — low-power radio via ChirpStack network server; binary encoded payloads
Calin API v1 — HTTP API through a gateway device (DCU); task-based
Calin API v2 — updated HTTP API with a richer response structure
Push vs Pull (step 9)
Responses come back from meters in two different ways, depending on which communication protocol the meter uses.
Push (LoRaWAN) — ChirpStack posts a webhook when the meter replies; near-instant
Pull (Calin API) — a background job polls the API every 5 seconds to check if the task completed
After-Effects (step 13)
When a command completes (or fails definitively), a chain of follow-on actions runs automatically.
Update the meter's last-known state (credit, power limit, RSSI, etc.)
Advance or fail an active commissioning flow
Notify linked orders or batch commands of their progress
Trigger follow-up reads (e.g. read credit balance after a top-up)
Push a real-time update to the user's dashboard via WebSocket