Thing Definition Inheritance

Within the Thing Definition catalog, the concept of inheritance between objects can be exploited to reuse common elements.
When creating a Thing Definition, you can select a Super Thing Definition from which to inherit sub-elements.

This allows you to define a basic Thing Definition with all the elements (e.g. metrics, parameters) that will be commonly used by other more specialized Thing Definitions. Inheritance allow reducing the effort to configure a new Thing Definition, that for instance, is very similar to another already present (e.g. Steam Oven ā†’ Oven).

Note that, at present, once a Super Thing Definition is selected it will not be possible to change it to another, this is to avoid loss of data.

In the future this will be possible through a refactoring feature.

From a Super Thing Definition, you can inherit all the sub-elements, including:

  • RAW Metrics, Computed Metrics

  • Configuration Parameters, Commands, Home Assistants

  • Insight Metrics

  • Events of type Failures, Anomalies, and Normal Operations, Work Sessions

  • Dashboards and Templates

  • Firmware

  • Documentation

  • Rules

  • Actions

If needed, you can override elements, for instance, to redefine a template including more specific data.

At the moment the override action is limited only to Dashboard, Template, Automation and Work Session elements.

Other elements may also be overwritten in the future.