The device can be allocated (assigned to a user) or unallocated
(available for assignment). Allocation is normally managed through the
Infrafon Entity Server (IES), but the device also supports local
allocation and return for offline or testing scenarios.
A kiosk or backend application calls the kmgr REST API to tell the
IES that a user wants to allocate (or return) a device.
The IES updates the device’s assignment state.
The device checks with the IES whenever it goes on charge (to
see if it has been returned) or off charge (to see if it has
been allocated). This check is controlled by
devcfg.core.iescheck (default true).
If a transition is confirmed, the device downloads the new
configuration (allocdata.json or unallocdata.json) and applies
it.
Global dev and network config cannot be set through the kiosk
allocate request. They always come from the entity, site, and
dispenser configurations on the IES.
The id field allows you to use a different name on the IES and on
the device. This is especially useful for built‑in DVs like "home"
or "lock" that must have a specific name to be recognised by the
device, but need unique names on the IES.
In the example above, the IES knows the DV as badge_lock, but the
device loads it as lock.
HTTPS operations (allocation, return, DFU, widget actions) require
the server’s CA certificate to be present on the device. Up to 10
certificates can be provisioned in /certs/ca/ and must be in DER
format (file extension .der).
Only RSA signing is supported, with keys up to 4096 bits.
Certificates are loaded once on the first HTTPS call. If they are
updated, the device must be restarted.