Today there are multiple devices, systems and technologies that are responsible for home automation. Although these technologies are in a fairly advanced state, there is a problem and a limitation when designing home automation systems, due to the absence of interfaces focused on users with different needs and low interoperability between manufacturers of different home and building automation systems.
This situation in most cases forces us to focus on a single manufacturer, instead of adapting different home automation solutions under the same interface and control system according to our needs. For example, we may need to combine wireless home automation technologies from one manufacturer and wired technologies from another.
Due to these needs, the platform was born openHAB, which is a technology whose software is open source, designed to integrate different home automation systems, devices and technologies within the same solution. Provides consistent, centralized user interfaces with a common approach to automation rules across the system.
OpenHAB It is independent of the provider, the hardware and the communication protocol that it integrates. Interoperability is one of the strengths of this platform, since it allows combining the different home automation solutions on the market.
Another advantage of the openHAB platform is that it can be installed in small, low-cost devices such as the Raspberry Pi, so it is not necessary to make a large investment to be able to work and perform tests with this technology. It is also capable of running on multiple platforms such as Linux, Windows, and OSx.
Regarding architecture, the openHAB platform has been developed in Java and is mainly based on the Eclipse SmartHome framework. It uses Apache Karaf in conjunction with Eclipse Equinox to create an OSGi runtime environment, and it is highly modular software that can be extended via add-ons. These add-ons give you a wide range of skills, from the ability to create user interfaces, to the ability to interact with a large number of devices. The openHAB programming environment is based on a scripting language on Xbase.
The openHAB platform has two points of view about automation of home automation systems, the physical point of view and the functional point of view. The physical point of view is based on the devices that make up the system, such as the cables and hardware of the technologies that make it up. The functional point of view focuses on how information about devices and connections is represented in the user interface. The functional point of view takes into account how the rules affect the software representations of physical devices, that is, the behavior of the software that represents our physical devices after an action in the user interface.
Understanding Thing, Channel, Binding and Item concepts in openHAB
In openHAB we must understand the concept of Thing, which are the entities that can be physically added to our home automation system. Things can provide more than one function, for example, we can have a multisensor that provides us with information about the temperature measurement of a room and at the same time operate as a motion detector. The concept of Thing not only focuses on physical devices, it can also represent a web service (which provides us with meteorological information) or any source of information or functionality that is integrated into our system.
Another important concept of the openHAB platform are the Channels, that represent the different functions that Things provide. We can understand that the Thing represents the physical entity or the source of information and the Channel is a specific function of that Thing.
To achieve the interoperability that characterizes this technology, openHAB is in charge of connecting the different home automation systems, their corresponding hardware devices and their protocols through bindings. The Binding concept can be considered as a software adapter, making Things available for the home automation system. These links allow you to send and receive commands and status updates through the openHAB event bus. This architecture allows the creation of centralized user interfaces that interconnect independent systems, allowing the use of devices that implement a large number of technologies. In this way we can work with the same home automation controller on different technologies.
Each items they represent capabilities that applications can use, either in user interfaces or in software. Items have a state and can receive commands. The link between Things and Items are Links. A Link is an association between a Channel and an Item. If a Channel is linked to an Item, it is "enabled". Channels can be linked to several Items and Items can be linked to several Channels.
Different Items are available in openHAB, such as: Color, which represents Color information (RGB) and which can receive On / Off commands, increase intensity, etc. We can also find the DateTime Item that is responsible for collecting the date and time information.
Another aspect to take into account is data privacy. In the openHAB platform all the data that has been collected from the sensors or actuators belongs to the user, who is the one who decides how to manage them. In addition, if you do not want to operate remotely in our home automation system, openHAB allows you to work within the intranet without an internet connection, behaving like an intranet system of things.
Regarding the user interface we have HABmin, that provides user and administrative functions (for example, site maps for users and configuration utilities). This user interface is capable of working correctly on multiple devices, being able to use it on Android. Through HABmin we can configure some Bindings, Items, home automation networks, make queries and graphics from databases, configure rules, etc. This interface provides a graphical environment that runs in any browser.
As we can see, the openHAB platform provides us with multiple advantages when creating a home automation system, since it offers us great interoperability between the different existing platforms without the need to make a large economic investment, thus allowing us to develop flexible systems that they integrate different solutions according to our needs.
If you want to deepen technologically in relation to home automation installations, we recommend you read our article «Exploding the heartbeat in home automation installations»And learn about our solution KALENA for the management of spaces and other corporate resources.