Cumulocity IoT gives you very fast visibility and control over your remote assets, be these houses, cars, machines or any other assets that you want to manage.
Cumulocity IoT provides
- Certified software libraries you can use to bring your remote assets into the cloud.
- Device management, data visualization and remote control functionality through the web.
- Rapid customization of these functionalities through real-time processing and applications.
- APIs for extending the existing functionality or interfacing Cumulocity IoT with your other IT services such as ERP or CRM systems. Cumulocity IoT can also host your HTML5 applications.
These features are provided through a cloud-based subscription service making the creation of Internet of Things (IoT) solutions with Cumulocity IoT fundamentally different from bespoke development and RAD (rapid application development). You can start immediately with a large amount of existing functionality, and you can start for free. You do not need to worry about IT infrastructure (hosting, networking, security, storage and backup) and IT management (all software is available to your users).
Cumulocity IoT works with any network architecture, but is specifically designed to work out of the box with mobile networks. In the following sections, we will give a short overview of the different functional areas with references to more detailed descriptions.
Terms and Conditions to use Cumulocity IoT are described at https://www.softwareag.cloud/site/terms.html#/.
Cumulocity IoT offers a wide range of functionality for interfacing IoT devices and other IoT-related data sources with the Cumulocity IoT platform.
We offer a generic client library for C++. If your device uses a completely proprietary runtime environment, you can always use MQTT and SmartREST 2. These will work on practically any internet-connected device today, down to the smallest systems.
Mobile networking support
Cumulocity IoT supports any type of internet connectivity in a secure manner. It gracefully deals with intermittent, bandwidth-restricted and uni-directional connections (such as communication through NAT). Where desired, Cumulocity IoT can control remote devices in a real-time manner.
Mobile internet connectivity is an ideal choice for many machine-to-machine applications, since it works well nearly everywhere without requiring any integration with a company’s network infrastructure. This is especially true if your IoT SIM card allows for free roaming between mobile networks. The large bandwidths requirements of consumer applications are often not required. With Cumulocity IoT, you can benefit from mobile connectivity without requiring additional network provider services such as VPNs and public or even static IP addressing.
Cumulocity IoT provides extensive device management for fully certified devices. This includes:
- Hardware and modem information.
- Connection monitoring.
- Centralized fault management and service level monitoring.
- Configuration management.
- Software and firmware management.
- Graphs of device statistics.
- Frequently used remote controls (such as restart button and switches).
- Troubleshooting features such as events list and operations queue.
The level of depth in device management may depend on device features (for example if a device does not support remote firmware upgrade, it will also not be available through Cumulocity IoT). For interfacing devices not yet certified with Cumulocity IoT, the Device management library and the Device SDK guide are publicly available.
Visualization and remote control
Cumulocity IoT visualizes your sensor data centrally and graphically through its modern web user interface. It also exposes common remote controls to users with the relevant permissions.
The user interface automatically adapts itself to the devices you connect – no configuration required. For example, if you connect a device that supports being restarted from remote, you will see a “Restart” button. If the device sends light sensor data, you will see a graph with the readings from the sensor.
It also adapts itself to the web browser that you use. For example, if you use a mobile phone or tablet with limited screen size, it will change user interface controls to use less screen estate.
Through the Sensor library, common sensor and control types are rendered correctly regardless of the device that produces the sensor data.
The functionality described so far already provides a wide range of device management, visualization and control options.
Furthermore it produces custom visualization, new control widgets and custom business logic.
Cumulocity IoT has extensive customization options, for example:
- Write alarm rules to reprioritize or suppress alarms and to define your SLA parameters.
- Use realtime to implement real-time business rules. For example, get an email when critical events happen, or trigger automated actions on devices in that case.
- Set up a graphical dashboard with your most important KPIs.
- Subscribe to plugins that contribute new functionality to the Cumulocity IoT application.
Cumulocity IoT exposes its complete functionality through programming interfaces (APIs). This means that all of Cumulocity IoT’s functionality is available for you to use in different contexts outside of what Cumulocity IoT directly provides - in your own applications, in your own devices. See the Cumulocity IoT OpenAPI Specification for details.
In contrast to many other IoT platforms, Cumulocity IoT uses the same APIs and the same interface technology for all use cases. As a consequence, you have a wider range of choices in putting intelligence into your IoT devices, depending on how powerful they are. Moreover, you only need to use one set of APIs and one technology to build a complete solution from device to application on your own.
Cumulocity IoT uses HTTP and REST, which is today the most widely used interfacing technology and which works on any internet-connected device ranging from small embedded microcontrollers up to desktop PCs. The secure variant, HTTPS, is used for the most security critical applications and will give you the best possible security.
The plugin concept of Cumulocity IoT enables you to write new user interface functionality that will seamlessly extend the existing Cumulocity IoT platform.
Cumulocity IoT provides the highest possible level of compatibility to make sure that your investments into developing solutions with Cumulocity IoT are maintained.
The current compatibility statements are described as follows.
Cumulocity IoT’s REST, SmartREST and MQTT APIs as documented in the product documentation are backwards compatible. You can find such documentation in:
- Cumulocity IoT OpenAPI Specification
- Reference guide > SmartREST 2.0
- Device SDK Guide > Device integration using MQTT
However, Cumulocity IoT is continually improving the user experience and product capabilities and may improve the API from time-to-time. Therefore, applications shall always obey a few basic rules:
- Clients shall only use documented API methods and documented behavior. Do not rely on undocumented but observed behavior.
- Clients shall only rely on behavior that is explicitly described in the documentation. For instance, clients shall not rely on a sequence of results if no sort order is guaranteed.
- Clients can rely on a stable inventory API where they can manage their inventory objects. However, the data structures for objects owned by the Cumulocity IoT platform can change.
- APIs are free to return more JSON fields, therefore, clients must be written in a way that they ignore such fields.
To maintain API and product quality we may, from time to time, hold back new APIs in a beta state to make sure that they are robust, properly documented, and provide the capability required. These APIs may change without a prior announcement. Please keep this in mind if you start using APIs that are documented as beta on our API documentation.
SDK and client library compatibility
No forward compatibility
We support backward compatibility, not forward compatibility. You can check this using the version of the SDK and the version of the platform. If you wish to develop a device or application against, for example, Cumulocity IoT 10.15.0, make sure that the client library or SDK that you use has version 10.15.0 or lower. If you take the latest SDK version, build an application with it and deploy on an older Cumulocity IoT version, this may not work. The SDK may make use of APIs that are simply not yet present in the older version.
For clarification, maintenance releases for the same GA release contain only corrective functional changes but no breaking API changes.
Applications and microservices
In general, you can run an older application or microservice version against a newer Cumulocity IoT backend, as long as the application or microservice uses documented APIs only. In the rare case of announced breaking changes it might be required to update the application or microservice with a more recent version of an SDK before the change becomes effective.
Cumulocity IoT functionality
Cumulocity IoT microservices and user interface features may be deprecated. In this case, the Cumulocity IoT deprecation process provides an early indication to users of the features. Deprecation notices are included in the documentation and the release notes at least one GA release ahead of the GA release where the change becomes effective.
Where to learn more
More conceptual information can be found in the following sections of the Concept guide:
- The general technical concepts behind Cumulocity IoT are described in Cumulocity IoT’s domain model.
- Concepts related to interfacing devices and other IT systems with Cumulocity IoT are described in Interfacing devices.
- Customization concepts of Cumulocity IoT are described in Real-time processing and Developing applications.
- Security concepts are described in Security aspects.
Cumulocity IoT is an independent device and application management IoT platform. It connects and manages your devices and assets efficiently and can control them remotely.
- Connect your devices and assets over any network.
- Monitor conditions and generate real-time analytics.
- React immediately to conditions or situations.