Provisioning
Provisioning mode is a special state used for initial device setup, configuration, and recovery. It is entered by setting a one‑shot flag or via a reboot into DFU/provisioning.
Entering provisioning
Section titled “Entering provisioning”Provisioning is triggered by setting devcfg.fw.prov_start to
true. The device reboots into provisioning mode to ensure a clean
network state.
{ "devcfg": { "fw": { "prov_start": true } } }Network during provisioning
Section titled “Network during provisioning”The device uses the network defined by devcfg.fw.prov_net during
provisioning. This network must be defined in global.json or
unallocdata.json.
{ "devcfg": { "fw": { "prov_net": "k1" } } }Timeout behaviour
Section titled “Timeout behaviour”If no activity occurs for 180 seconds, the device automatically exits provisioning and returns to the unallocated state. This timeout allows extra time for Wi‑Fi reconnections at startup (added in firmware 1.0.15).
Exiting provisioning
Section titled “Exiting provisioning”Provisioning can be exited manually by sending the return_local
devwork action:
{ "devwork": [{ "a": "return_local" }] }This transitions the device back to the unallocated state using
/unallocdata.json.
Persisted data
Section titled “Persisted data”- When entering DFU or provisioning, the device restores any previously persisted configuration (firmware 1.1.1).
- When transitioning from unallocated to DFU or provisioning, the device avoids losing persisted config (firmware 1.1.1).
- Provisioning mode cleans up persisted data (if any) when it starts (firmware 1.0.15).
Related
Section titled “Related”- Device States Overview – full state machine
- Allocation & Return – how allocation works
- Firmware Config –
prov_start,prov_net,dfu_start