Kuzzle Plugin - Thing Manager¶
Kuzzle-Plugin-Thing-Manager (or KPTM in short) is a plugin designed for the Kuzzle IoT Platform.
Important
This piece of software is a third party initiative, and so is not an official distribution from the publisher.
Its purpose is similar to the official Kuzzle Device Manager plugin (KDM). It provides an API to collect information from sensors (geolocation, temperature, …) in IoT devices. Any payload formats can be supported because you write your own decoders.
Compared to KDM, KPTM aims to be simpler, with only the basic models which are devices and measures (no assets), and more automation in order to minimize the management effort.
Support or Contact¶
Support is provided by email, in French or English.
Storage Indexes and Collections¶
Note
The data storage is provided by ElasticSearch. Here, we use the same wordings as mentioned by Kuzzle in Internal Representation.
There are at least two indexes:
An administrative index, acting as an entry point before routage. It is also used for definitions and configurations.
One or more indexes, to host the mass of data.
Admin Index¶
There is a single administrative index, with four collections:
Index Name: thing-manager
│
Collections: ┌─────────┬───┴────┬─────────┐
config models payloads things
The config collection stores configuration documents, for the plugin and for the engines.
The models collection stores the definitions for the registered models of device and measure.
The payloads collection has the purpose to keep a trace of the raw payloads, to help for a deferred investigation in case of error. Too old entries, not useful anymore, should be purged from time to time.
The things collection is used as a registry, to know if the device instance is already known of the application. If it is the case, then the entry gives the identifier of the engine this instance is associated with, and the operations proceed in a context of an existing device. If the instance is seen for the first time, it is automatically registered in this collection as associated with an engine (as set by the decoder, with a fallback to a default one), and the operations proceed with the creation of a new device.
Data Index¶
There is at least one data index, with three collections:
Index Name: default-engine
│
Collections: ┌─────────┼─────────┐
config devices measures
Optionally, you may organize data across multiple engines.
The config collection is created as part of the base action for the creation of an engine, done by the kuzzle-plugin-commons package. The plugin does not store any documents there.
The devices collection stores one document per each managed device, including the possible Metadata.
The measures collection receices one document per measure.
Default Roles, Profiles and Users¶
Based on the permissions architecture of the platform, the plugin makes available these default, ready to use, objects:
Users Profiles Roles Actions
kptm_payload
└────────> kptm_payload
└────────> kptm_payload All on the Payload Controller
kptm_measure_exporter Export measures on the Measure Controller
In the names, kptm is a prefix, provided by the ThingManagerConfiguration.acronym property.
Contents¶
The Advanced Features section covers features that are optional, not mandatory for a basic usage or that can be deferred in usage after a first proof of operation.
Getting Started
Advanced Features