Release Notes

Managed IoT Cloud is usually released every three weeks and in this section you can find the release notes for all releases.


Version 2.15 (2017-08-24)

Features

Configurable Things lists

We have added capabilities to configure what columns to show in the Thing lists (All Things list and Thing Type Things list) in App Board. The user can select what information to show and also arrange the order of the columns.

Default information showed in list (in order):

  • THING NAME
  • CREATED
  • DOMAIN
  • (TYPE - only shown in All Things List)
  • STATUS

Additional selectable information:

  • THING ID
  • DESCRIPTION

The list will scroll left-right if more columns than fits the screen is selected.

For All Things list the list configuration is stored to the current user. For Thing Type Things list, the list configuration is stored to the View Mode, available to all other users using that View Mode.

Things lists can show resources

In this release we add capability to select resources to be shown in the lists columns. Any available resource can be selected and saved when configuring the list.

Improved File API

The File API now support up- and download of very large files.

  • Add a file - PUT file. Yoy get back an URL which is valid for upload of a file for 15 min.
  • Get a file - Added functionality to GET file. Response gives a URL to the file being available in 15 minutes.
  • Remove a file - REMOVE deletes the file.
  • Improved LIST method to ensure only files that you have permission to see are listed.

PUT_THING_IMAGE and REMOVE_THING_IMAGE are kept as before.

Improved User API

We have added an option to include user data in the User API requests GET and LIST. This means, if the requesting user has the permission, user information from other users can be requested.

Improved support for customizing user email

We have added support for different email versions for different users. You can now have emails in different languages for different users.

  • Any language can be used and many different languages can be used at the same time
  • The email templates are designed by you and can have HTML formatting and CSS styling
  • The email templates are added with the file API (details documentation on the MIC documentation site https://docs.telenorconnexion.com/mic/guides/email-templates/)
  • The User API have a new property “locale” where you specify the users language
  • English is always the default fallback language

Please note that App Board is not supporting setting language at this point, but it is planned for in future releases.

Minor improvements and corrections

Numerous minor enhancements and bug fixes are delivered by the new release, including:

  • Improved documentation and added example code for LoRa integrations (Mediator)
  • Improved performance of domain related queries
  • Improved usability by moving Rules configuration from modal to separate page in App Board
  • Automation of documentation
  • Added versioning to S3 enables restoration of previous versions of the files, e.g. if a file is deleted or overwritten by mistake

Version 2.14 (2017-06-28)

Features

Name change: Cloud Connect becomes Managed IoT Cloud

From this release Cloud Connect has a new name, Managed IoT Cloud (MIC). URLs have been updated, new format is xxx.mic.telenorconnexion.com. Old URLs (format xxx.cc.telenorconnexion.com) are still working (re-direct) and will do so in foreseeable future. Documentation and specifications have been updated too. API specifications and other technical documentation are now found here: https://docs.telenorconnexion.com/mic/

Set resource value as a rules action

We have added a new action to rules: Setting of a resource value. This means triggering of a rule can change the value of a resource e.g. if temperature goes below 19 degrees Celsius and outdoor temperature is below 15 degrees Celsius, turn on the heater. Adding this type of automation, implies that rule actions need to be selected carefully to prevent infinite loops. To assist, we have added automatic loop detection to prevent creating fast loops.

  • Within a certain Thing Type you are not allowed to choose a set action for a resource that is used in any rule condition criteria for that Thing Type
  • Likewise, you cannot use a resource in a rule condition criteria, if that resource is used in any rule set action for that Thing Type
  • Exception: If the rule triggering is set to Once or is less frequent than 30 seconds, it will be allowed to use the set action for the resource

The loop detection is not in run time, but when rules are created. If a loop is detected while saving the rule, a message will be displayed specifying conflicting rules.

Resource Schema improvements

Filtering on resource data type is now available. This is used in resource selectors in App Board (widgets and Analyze) to only present relevant resources. E.g. for a time series widget, only numerical resources are selectable.

Updated format for the Thing API Payload Conventions

For the TCXN payload convention, we have flattened the structure by removing the nesting. New format is found in the Thing API spec available on the documentation site (https://docs.telenorconnexion.com/mic/). The old format is considered deprecated, but will be supported in parallel with the new format in foreseeable future. Customers using the old format will be involved before deciding on last date of support.

Thing API TCXN Payload Conventions now available for use is App Board

We have enabled use of the TCXN Payload Convention resources in Widgets, Analyzer and Filter in App Board.

New Cloud API added: Resource API

Resource API is used to manage Thing Type resources. At this point GET command is available.

LoRa gateway authentication

We have added support to manage gateway authentication from App Board (and API). To connect a new LoRa gateway, you first define the new Thing Type for LoRa gateway, it must be named “Gateways”. Then you create LoRa gateways in this Thing Type and you specify the Thing Type resource EUI to be the MAC address of the LoRa gateway. Now, you control the gateway´s ability to connect by toggling the resource “allowed” on/off.

Minor improvements and corrections

Numerous minor enhancements and bug fixes are delivered by the new release, including:

  • Telenor Connexion demo environment has been updated. Old things and resources not in use have been removed.
  • Improved performance of the All Things filter in App Board
  • Increased test coverage of automated end-to-end tests.
  • Fixed issue with Rule name & Rule description disappearing under certain circumstances
  • Fixed issue with default values in Rule edit
  • Fixed visualization issue in Thing Dashboard for new things not yet connected.
  • Fixed issue with Last modified time stamp in files widget
  • Fixed issue with resource name appearing to be editable in set resource widget
  • Fixed issue with LoRa downlink transform
  • Fixed Issue with edit Analyze
  • Fixed issue with the Thing Type filter in All Things Dashboard
  • Fixed issue with Sub-things not being displayed under certain circumstances

Documentation

Documentation, including release notes, API specs and more are always available here: https://docs.telenorconnexion.com/mic/ (used to be https://docs.telenorconnexion.com/cc20/)


Version 2.13.1 (2017-05-22)

Features

Fixed issues related to how resources are displayed in App Board, both in Dashboard widgets and in Analyzer.


Version 2.13 (2017-05-08)

Breaking changes

Please note that this release contains breaking changes as described below. If any of the changes causes problems for you, please contact us to find a solution.

Features

Improved handling of resource schema

When a thing report a new resource (based on the resource name) for the first time, the resource schema is automatically updated. The resource schema holds all resources and their corresponding data types (integer, float, string) for the thing type. Hence, the resource schema is now dynamically adjusted to stay aligned with the reported resources over time. Please note that resources (and their data) are never deleted from the resource schema.

Changes in the resource schema is also pushed through an API to App Board to ensure a good user experience. In App Board this can be seen by new widgets appearing in real time in the default dashboard, and similarly, resources in select boxes are updated without requiring a page reload.

Improved documentation

All documentation, including Release Notes, API Specs and code examples have been moved from PDF-documents to https://docs.telenorconnexion.com/mic. The structure of the documentation has also been changed. This is the first step of improving the documentation and to make it easy accessible for developers, partners and customer. Coming steps will involve adding more code examples and guides, in addition to the continuous evolvement as Cloud Connect is developed further.

Minor improvements and corrections

Numerous minor enhancements and bug fixes are delivered by the new release, including:

  • Increased test coverage of automated end-to-end tests.
  • Improved handling of MQTT topics that can be used with AWS Cognito Credentials. This API replaces the Thing Event API and is now called Thing Update API.
  • Clarification of domain tree depth: A domain tree can have a maximum of 7 levels, including the root.

Breaking changes

Domain API

  • The length of the id of a domain is now validated to make sure it’s never longer than 36 characters.

Thing Update API

  • The topics thing-update-accepted, thing-update-rejected and thing-update-documents have been removed. This change we are not happy with but necesary to make in order to stay within hard limits set by AWS. Hopefully the remaining topics thing-update and thing-update-delta will provide enough information for you.
  • If you want to publish a lot of observations quickly and don’t want to use the tcxn/things/<thingname>/shadow/backdate topic you can now include the parameter preventMessageRepublish to prevent the message from being republished through the Thing Update API. This parameter existed before as iotRepublished and some customers use it even though it was never part of the official API.

Thing Type API

  • Attribute viewMode have been removed from the documentation since it was never intended for public use.
  • Attribute resources have been removed. If you use this please contact us.

Version 2.12 (2017-04-11)

Features

Rule improvements

We have added more flexibility and options when configuring rules.

Multiple conditions for a rule

You can now add multiple conditions for a rule to trigger, e.g.

  • “When the engine power of my pump is above 80% AND water flow is below 10%, notify me” –> something is probably wrong since almost no water is pumped but power high.
  • “When temperature in my fridge goes above 8 oC and the fridge door is closed, notify me” –> Fridge might be broken.

The overall rule conditions are evaluated if at least one of the resources selected in the resource dropdown(s) is included in an incoming observation. For selected resources that are not part of the incoming observation, the criteria will be evaluated using latest known value stored for that resource in the thing shadow.

To add multiple conditions, click “+ CONDITION” in rule edit.

Data from a Thing or an Observation can be used in rule conditions and rule actions

In this release, it is possible to include data from the Thing and Observation that triggered the rule in the rule conditions and rule actions. This enables e.g. comparing previous observation for the Thing with the current observation, like “When observed temperature is not equal to the previous temperature measurement, notify me”. In addition to the substitutions currently available in the rule action (e.g. ${rule.name}), the following data is now available:

  • ${thing.*}, e.g. thing.thingName, thing.thingType, thing.domain – context data for the Thing.
  • ${thing.state.<resource name>} – the value of the resource in the thing shadow before the data that triggered the rule is saved.
  • ${thing.metadata.<resource name>} – the timestamp of the ${thing.state.<resource name>} value.
  • ${observation.<resource name>} – the value of the resource in the observation that triggered the rule.
  • ${timestamp} – the timestamp of the observation that triggered the rule.
  • ${now} – the timestamp at rule evaluation.

In rule edit in App Board, there is a help section detailing how to use data from the Thing or Observation.

Support for calculations in rule conditions, rule actions, and dynamic widget

Now you can add calculations and logical expressions when configuring:

  1. Rule conditions
  2. Rule actions
  3. Dynamic widget

For example, mathematical expressions to enable conditions like “When temperature is above previous temperature *1,2 then notify me” can be used.

In rule edit in App Board, there is a help section detailing available expressions and how to use them.

Support for observation timestamp in rule conditions

In the resource dropdown available when configuring a rule condition, an entry for “Observation timestamp” (corresponding to the ${timestamp} mentioned above) can be used e.g. to evaluate how much time has passed since last observation.

Added “Not equals” operator for rule

A new operator, “Not equals”, was added to the available options for the rule criteria.

Support for calculation formulas in Dynamic widget

As mentioned above, the same formulas supported in rules are possible to use in the dynamic widget. Just add the calculations when editing the dynamic widget and the result will be shown and updated in real time as observations and calculations are updated.

Raw observations available in widgets and Analyze

Visualization of raw observations is now available in time series and table widgets and in Analyze.

To facilitate easy readability and relevant amount of data points in the widgets and charts, observations are per default visualized as aggregations. This means that the number of data points visualized is automatically adjusted to both available data points and selected observation period.

By enabling raw data visualization you will see raw data instead, meaning all recorded data points for the selected observation period will be shown.

For widgets (time series and table) you select visualization in widget edit mode in the new drop down “Aggregate observations”.

  • Selecting “No” means all (raw) observations will be displayed. The 100 most recent observations will be displayed, if available.

In Analyze you find the selection drop down next to the observation period picker

  • Selecting “No” means all (raw) observations will be displayed. The 100 most recent observations will be displayed, if available.

Please note that there is up to 5 minutes delay before data is available for visualizations in the time series and table widgets, regardless of aggregations or not.

Value and Gauge widget always displays the real time values (or last known value).

Minor improvements and corrections

Numerous minor enhancements and bug fixes are delivered by the new release, including:

  • Improved user experience if user session expires
  • Solved issue with LoRa things not being able to join under certain conditions