Connectivity & Integration
Connect every device, whatever protocol it speaks.
Protocol handling lives in configurable containerized services, kept separate from the device model. Add MQTT, HTTP or LoRaWAN equipment without changing how the platform describes it.

Protocol handling, configured rather than coded.
Every device is bound to an integration type and a protocol instance. That binding defines how it enrolls, how it sends data and how it receives commands — and it is set once, at version level, not device by device.
No keys typed on the device form.
An instance form has no protocol field, no key field and no network identifier. The communication configuration is determined by the chain the device inherits — which is what makes enrolling the thousandth device the same amount of work as the first.
Raw payloads become structures the platform can query.
The decoder receives the raw payload and returns a data structure that metric templates can read. The encoder does the reverse for commands. Both live on the model and on the version, in a pair of editors with a language selector, and both can be downloaded or uploaded as files.
Illustrative example, following the decoder described in the platform documentation for a temperature and humidity node: it validates the payload length, reconstructs two-byte values, handles the sign and returns scaled results. Changes to this code are audited individually, as entries of the form the Decoder field was changed.
Enrollment that scales past the pilot.
Enrollment attaches to a device the metadata an integration needs: keys, identifiers, network parameters and its protocol instance. The platform supports it one device at a time and in bulk, through the same templates.
- Keys, identifiers and network parameters set as properties of that device
- Protocol instance assigned from the inherited integration type
- Enrollment state visible on the device sheet, with the date it started
- Enrollment templates standardize the metadata applied to every device
- Bulk properties instead of a form filled a thousand times
- The same template referenced from the version, so new devices pick it up automatically
- The multiple-add wizard walks through import in three steps
- The file structure is imposed by the template downloaded for the chosen version
- No separate column-mapping step, because the template already defines the structure
Connectivity is the first step, not the whole job.
Getting a payload into the platform is worth little on its own. It matters because of what happens next: the same path carries every reading from the field to the rule, the dashboard and the map, with no bespoke handling per device type.
Bring us the device we haven’t connected yet.
Send us a payload sample and the protocol it arrives on. We will show you the integration instance, the decoder and the metrics that come out the other side.