Categories in Eclipse SmartHome are used to provide meta information about things channels, etc. UIs can use this information to render specific icons or provide a search functionality to for example filter all things for a certain category.
Differences between categories
We seperate the categories into
visual. Therefore we treat
thing categories as how the physical device looks like and
channel categories as something that describes the functional purpose of the channel.
The thing type definition allows to specify a category. User interfaces can parse this category to get an idea how to render this thing. A binding can classify each thing into one of the existing categories. The list of all predefined categories can be found in our categories overview:
| Category | Description | Icon Example | |—————–|————-|
The channel type definition allows to specify a category. Together with the definition of the
readOnly attribute in the state description, user interfaces get an idea how to render an item for this channel. A binding should classify each channel into one of the existing categories. This is a list of all predefined categories with their usual accessible mode and the according item type:
| Category | Accessible Mode | Item Type | Icon Example | |—————–|————-|
The accessible mode indicates whether a category could have
read only flag configured to true or not. For example the
Motion category can be used for sensors only, so
read only can not be false. Temperature can be either measured or adjusted, so the accessible mode is R and RW, which means the read only flag can be
false. In addition categories are related to specific item types. For example the ‘Energy’ category can only be used for
Number items. But
Rain could be either expressed as Switch item, where it only indicates if it rains or not, or as
Number, which gives information about the rain intensity.
The list of categories may not be complete and not every device will fit into one of these categories. It is possible to define own categories. If the category is widely used, the list of predefined categories can be extended. Moreover, not all user interfaces will support all categories. It is more important to specify the
read only information and state information, so that default controls can be rendered, even if the category is not supported.
Group Channel Categories
Channel groups can be seen as a kind of
sub-device as they combine certain (physical) abilities of a
thing into one. For such
group channels one can set a category from the
channel category list.