Instances

Instances represent real-world devices and other entities. They are coarse-grained digital twins in SMIP (unlike Things which are fine-grained digital twins). They have a strict type and there may be many instances of the same type running in SMIP, each one connected to its own entity. They are modeled in SMIP by creating projects. Each project defines one instance type.

Instance facts:

  • has a unique id

  • has a strict type

  • has access to real-time data from its entity
    • declares real-time data variables whose values are obtained from various data sources

    • declares virtual (expression) variables using data models

  • may affect its entity (e.g., switch on/off a device, change a setpoint, affect an actuator etc.)

  • may store historical data from its entity

  • may visualize real-time and historical data

  • may run various worker jobs, scripts etc.

  • may send or receive various events

  • may expose its data and functionality trough SMIP Data APIs

  • may have owners (e.g., end users)

  • may have guest users (e.g., end users with less privileges, service providers)

  • may contain fine-grained digital-twins called Things
    • may communicate with remote things which are “living” inside SMIP IoT Agents (IoT gateways running on premises)

For more details about projects and instances please see chapter 4. Content: device representation in SMIP in SMIP Architecture and Functionality Overview .

Instances exposed in Data API

Instance APIs mainly enable the access to instance real-time variables. Instances may have their own accessible variables, however to access things of an instance (if they exist), IoT APIs must be used (see Things).

An API client may obtain a list of all available instances by calling READ all instances info API.

Instance info API returns basic properties:

  • id

  • title (user friendly label of the instance)

  • type

Instance Type API returns basic information about instance types. This information mostly includes variables that may be read or written on instances.

To access all available types information, one may call READ all types info API.