Some additional basics

In the first blog I introduced the terms Things, Bridges, Items and Rules. These elements are described in related files in the openhab\conf folder resp. in a local openHAB2 database (if the elements are assigned by “PaperUI”). For our first openHAB2 based home automatisation project we need to know some additional concepts.

Disclaimer: The described model is my personal interpretation. Used figures are not official openHAB documents.

In the “Communication layer” in figure below I inserted 3 new terms. “Bindings“are extensions to the SmartHome runtime that integrate things-specific services or protocols. You can consider it as a kind of plugin to handle your dedicated device type and to describe the functionality. Based on the binding a thing gets specific properties that are provided via channels (see below).

Additionally we have services in the Communication layer, e.g. TCP, HTTP, MQTT or DMX. Finally, for better understanding I added the WebServices to that layer. openHAB2 comes with several services such as BasisUI, ClassicUI but can also integrate further systems, e.g. CometVisu (see PaperUI -> extensions -> User Interface).

TermsOpenHAB2_slide02

In the presentation layer we have sitemaps that can be considered as a tree structure of frames, groups, widget and items that define the hierarchical content of the user interface. openHAB’s GUIs operate on one sitemap at a time, therefore we have to define here all UI elements that are relevant in our application (WebPortal or Android app). Sitemaps are closely related to items, because this are our control elements to be displayed. More information on sitemaps can be found here.

Now we have to understand the concept of “logical connection” in figure above. Things provide their functionality through a set of Channels. A channel describes a specific functionality of a thing and can be linked to an item or multiple items. Channels may be grouped. The basic information for channels is defined in the binding, e.g. which command types the channel can handle and which state it sends to the linked item.

TermsOpenHAB2_slide03

 

In this figure is indicated that Things and Items have certain lifecycle states that can be read in corresponding Eclipse smarthome documentation:

There is a list of supported item types, e.g. Color, Switch, Player, … see here.

Finally, the Discovery Service should be explained. This term stands for automatic detection of devices/things and services available in the home network. If the binding supports discovery service PaperUI is capable to show the identified elements with their properties and configuration in the Inbox. In this way it is very easy to instanciate things.

In next blog contribution we will apply this knowlwgde for our first MiLight setup.