In order to use Client Models and Device Provisioning for your Devices, the Exosite Vendor Management interface must be used to configure and define how the interface will work for your Device (Client) Model. The Vendor Management interface is accessible via the Exosite API and by using the admin interface in Exosite Portals Whitelabel accounts.
To access this vendor management interface through Exosite Portals, domain-level administrative access is required. This is most commonly accomplished by using our Whitelabel plan. Get started on your own Whitelabel account here or contact us to get signed up for your own Portals Domain-level Interface – we can get you going in less than an hour.
Provision API - Vendor Management Functions
How do I get a Vendor ID and Account?
User Guide for Whitelabel Admins
Manufacturing Notes for Vendors
The Management Interface
The vendor interface is available with the Exosite API and by a web user interface using Exosite Portals with admin access. Here is a video showing how to create a Client Model in the web interface:
Create Client Models
Vendors are able to create and update Client Models with their Vendor ID. The Models are unique to their vendor account. Each model has an unique model identifier that is used both by devices attempting to activate or get content and by applications that allow for interacting with the client model.
Each client model is cloned from an original generic device that is set up with data sources, data, scripts and other platform resources.
Manage Serial Number Lists
Vendors manage client model serial number lists through the provisioning management API. The way a device is identified as a specific instance of a client model is through a Serial Number. The serial number can be any unique identifying value of numbers and letters. Typically this is a unique number that the device's software can read such as a MAC address.
Vendors can add individual serial numbers and add a range of numbers in addition to deleting numbers and getting specific information about each serial number including it's use status.
Serial Numbers are key for the provisioning interface. Once a client model has been created, in order for any device to come online as that type of model, it must have two things happen. One is that the device client must be 'inserted' into the client hierarchy of the platform, creating an ownership link. The typical situation for this happens when a user adds a device to their web portal. The second thing is that a device must 'activate' with the Exosite platform as that type of device in which the platform will exchange a new CIK to the device.
Client Models can have content posted. This content is accessible to all devices that have activated with a serial number and have a valid CIK. This content can be any 'blob' of information, most typically the content files are firmware files for in-field updates, configuration files, playlists, and media like images, videos, and audio files. Devices can check in for a list of content available to it with timestamps to determine if it should download any new content.
Content usage is up to each vendor. It is very powerful for doing in-field updates of software on devices and is highly recommended for deploying software to fleets of devices.
Content that is added is by default available to all devices of the client model type.
Manage Content and Serial Number Groups
Vendors can create groups of serial numbers and content to control access to sub-groups inside of a client model fleet. Groups can be modified, added, and deleted using the vendor management interface.
Groups can be used for example to provide a way to allow some devices to get more advanced features.
Manage Shared Client Models
Vendors can choose to share their client models to other vendors. Those vendors can then make the shared client models accessible to their users.
Client Model Use Case
Client Models are at the heart of the provisioning interface. They allow developers to create a 'profile' for a product's feature that can be quickly duplicated, created/manufactured, provisioned and managed in the field. The key to unlocking this functionality is the creation of a 'Client Model' in the Exosite platform which is a "cloud profile" that describes your product – it represents the physical parameters (both real-time and historical) of a device. Every time a new device is added to the system, it will be a clone from this Client Model profile. For example, if a device OEM has a simple temperature sensor device that is logging ambient temperature to the cloud, the Vendor could create a Client Model with the following configuration:
- Vendor ID: My Company ID
- Model Name: Awesome Remote Temperature Monitor
- Model ID: mytempdevice01
- Model Serial Number Template: 1234
- Model Content: [Firmware File]
- Model Data Sources: Temperature (float), Analog Value (int), Ping (int)
- Model Data Retention: 1 Month
- Model Event Rules: Over Temp (Temperature > 80 for N seconds)
- Model Scripts: Convert Analog value to Temperature in degrees
- Model Valid Serial Number List: 0001, 0002, 0003, 0004
After creating this Client Model, devices that both match a valid model serial number AND are authorized by the owner for provisioning (time-windowed) can take advantage of the provisioning interface features.