System Overview
The following figure illustrates the different components of Yggio and the data flow between them. Yggio primarily functions as a Data Broker, acting as an intermediary between devices/sensors and applications. However, Yggio also boasts robust integration, visualization, and enrichment functionalities, enabling it to support a wide range of vertical use cases out of the box.
The Front End
Dashboards
Yggio supports drag-and-drop, widget-based dashboards. This provides an attractive and efficient way to consolidate Key Performance Indicators (KPIs), charts, and maps of incoming IoT data.
Devices
The Devices interface is a highly versatile device management tool within Yggio. Users can create views with filters based on powerful FIWARE Q queries, displaying incoming device data in real time in a visually appealing manner. These Q queries enable anomaly-based filtering, allowing users to focus on what's important without sifting through thousands of devices.
Filter out all devices with 'temperature > 20'.
FIWARE Q query enabling deviation-based filtering.
Map
Similar to Devices, the Map feature allows the creation of real-time views with filters based on FIWARE Q queries. This enables geographical filtering of devices, making it easy to locate areas of interest. The map also supports geofencing, which facilitates various tracking-related use cases.
Logs
The Logs section provides a history of all events occurring in your account, including changes to access rights, device updates, alarms, edits, downlinks, and more. The log is customizable through the Rule Engine action "Log."
Location Manager
The Location Manager offers Yggio users an interface to view their devices' locations, both geographically and on property blueprints like floor plans. Additionally, it provides a graphical view of devices' time series data.
Rule Engine
The Rule Engine provides an interface for creating rules (i.e., conditional actions). For example, you can set a rule to turn on a lamp when the sun sets or send a text alert when a leak is detected under your sink. It is recommended to use translators for advanced rule evaluation and then use simply true or false statements as trigger condition in the rule.
APPS
The Apps page you allows you to create, view, and manage apps including 3rd party apps. Apps are used to store information, links, access rights and/or interact with yggio data. It is simple to start developing applications for Yggio with or without your own backend, please have a look at Get started with Yggio Apps.
The Backend
FIWARE NGSI V2
Yggio supports the NGSIv2 API, which operates alongside the Yggio REST API. More details about the NGSIv2 API can be found here.
Yggio REST API
The Yggio REST API is used for managing functionalities outside the NGSI scope, such as user management and the Rule Engine. Most NGSI functionalities are also accessible through this API, albeit in different formats.
Keycloak
Keycloak is a well-known open-source component for identity and authorization management integrated into Yggio. It handles all aspects related to users, authorization, and identity provider (IDP) integration.
Yggio and Lens
Yggio and the Lens serve as the brains of the platform, communicating with all subsystems, from integrations to APIs.
Databases
Yggio not only stores real-time and metadata for devices but also accommodates time series data.
Translation and FIWARE Data Models
When data from a device enters Yggio, it often arrives as a blob of unrecognizable bytes. By defining a model type, Yggio can translate these bytes into fully formed entities conforming to FIWARE Data Models. Yggio also supports chaining translators and transferring data between different IoT nodes, enabling use cases ranging from simple data collection to sophisticated vertical applications.
Calibration and Filtering
Sometimes, received data can be inaccurate or reveal sensitive information. Yggio supports calibration to correct data points and filtering to control what data is returned.
Integrations
Integrations enable Yggio to understand and manage the various communication protocols used by devices. Yggio supports integrations for LoRaWAN, NB-IOT, Z-Wave, Matter, Zigbee, MQTT, HTTP, and many others. The number of integrations continues to grow with each Yggio release.
Yggio can support additional protocols upon request. Please contact info@sensative.com for more information.
Publisher
The Publisher feature allows for real-time data pushing to your application, keeping it informed of changes to entities.