Key Concepts¶
IQFLOW provides the user interface and REST APIs to provision and manage unlimited entity types and their relations in your IoT application.
Supported entities are:
- Customers - the customer is a separate business-entity: individual or organization who purchase or uses devices and/or assets; Customer may have multiple users and millions of devices and/or assets;
- Users - users are individuals who are able to login the cloud, browse dashboards and manage entities;
- Devices - basic IoT entities that may produce telemetry data and handle RPC commands. For example, sensors, actuators, switches;
- Assets - abstract IoT entities that may be related to other devices and assets. For example factory, building, farm, mine;
- Entity Views - useful if you like to share only part of device or asset data to the customers;
- Alarms - events that identify issues with your assets, devices, or other entities;
- Dashboards - visualisation of your IoT data and ability to control particular devices through the user interface;
Each entity supports:
- Attributes - static and semi-static key-value pairs associated with entities. For example serial number, model, firmware version;
- Time-series data - time-series data points available for storage, querying and visualization. For example temperature, humidity, battery level;
- Relations - directed connections to other entities. For example contains, manages, owns, produces.
Relations¶
Entity relation defines connection between two IQFLOW entities that belong to the same Customer. The relation has an arbitrary type: Contains, Manages, Supports, etc. The relation is also directional.
Relations help to model physical world objects in IQFLOW. The easiest way to understand them is using the example. Let’s assume we want to build an application that collects data from soil moisture and temperature sensors, visualise this data on the dashboard, detect issues, raise alarms and control the irrigation. Let’s also assume we want to support multiple fields with hundreds of sensors. Fields may be also grouped into the Geo regions.
The following diagram explains how those entities are configured and stored in IQFLOW: