As in recent years, openHAB developers have decided to release a new release in time for Christmas, the most active time of the year in the community. For what could be more welcome during the holidays than a brand new stable version of the smart home project? The community has been pretty active again in the last six months since the last release of openHAB. At least the 34 new add-ons in openHAB 2.4 speak for this. But the parenteral runtime and existing add-ons have also evolved. All details are listed in the official release notes . Here I would like to introduce some of my personal highlights.
New in openHAB 2.4: Profiles
Profiles are a newly introduced, very powerful feature that helps reduce the complexity of smart home configurations. In many households, there are some recurring patterns of how devices interact with each other: for example, buttons or switches are often used to turn another device on or off. It is also common to use multiple devices (eg, multiple bulbs within the same lamp) contiguously as if they were a single device.
These use cases could already be fully covered by rules, but this resulted in numerous rules for different devices based on similar logic. Especially with larger facilities, it then becomes difficult to keep track and keep these rules up to date.
A profile describes the behavior of a connection between a channel and an associated item (e.g the actual function of a device and its logical representation in openHAB) and can therefore completely replace simple rules.
By selecting a suitable profile, a wall switch can easily be assigned to switch a lamp or to pause or activate a loudspeaker. Similarly, it is possible to shift a sensor value by a certain amount or perform any kind of more complex transformation on incoming data – all without writing a rule.
The Paper UI lists all applicable profiles when an item is linked to a channel. Only advanced profiles require additional configuration, which can be done via the user interface. Further details and examples of the use of profiles can be found in the documentation.
Voice
There are two new text-to-speech options: the first is the Google Cloud TTS engine . The second is the Pico TTS service , which provides high-quality results on Linux systems, even on embedded devices such as the Raspberry Pi.
HABot
HABot, while referring to language, actually brings together the best of two worlds: it combines voice interaction with the benefits of graphical user interfaces, defining a completely new UI approach to openHAB – a chat bot! You can ask HABot questions about your own home, and it is able to display the information you want on the screen. These can be appropriate widgets to control some devices, a past-time chart, or a picture of a webcam – all that’s wanted. In addition, HABot is quite flexible, which means you can refine your feedback and display a customized screen next time. In addition, HABot reacts contextually. Depending on the situation, whether one is at home or not, whether it is night or day, different reactions are possible.
Under the hood, HABot consists of Natural Language Processing (NLP) and Machine Learning (with Apache OpenNLP). Through the so-called Intents HABot can be easily expanded with new skills. However, it should be noted that HABot is still at the beginning, so the scope of functions is already useful, but still limited. Nonetheless, it points the way to a modern interaction concept with the smart home, which will evolve in the next few releases.
(images from openhab)
Further information on this feature can be found in the HABot forum.
Device Integration
Smart meter
For all those who want to use openHAB for energy management applications, it is a big step forward that openHAB 2.4 supports a large number of smart meters: Smart Meter Binding supports the IEC 62056-21 protocol, an international standard for the data query from meter. In addition, it also supports the Smart Meter Language (SML), which some smart meters actively use to push structured records. The other relevant binding is the DSMR binding , which can handle the entire Smart Meters in the Netherlands.
GPS tracker
One of my favorite additions is the GPSTracker binding , which properly integrates OwnTracks into openHAB. In the past, an exposed MQTT broker had to be run, with OwnTracks publishing its data. This was not easy for users and posed a security risk if not done properly. The new integration now supports the private HTTPS mode of OwnTracks and can be used in conjunction with myopenHAB.org to securely pass the data to the local openHAB instance. It has never been so easy to use Geofences for its automation logic!
EnOcean
All users of EnOcean devices will be pleased to see that finally actuators are supported and not just sensors are available. In addition, the new EnOcean binding provides automatic device discovery and secure pairing. EnOcean is now a first-class citizen of openHAB!
MQTT
Finally, the most used binding was ported to openHAB 2: the MQTT binding ! That “MQTT” is regularly the most searched keyword on the openHAB website is an indication that MQTT has managed to become the de facto standard protocol for any DIY hardware integration. It is the first choice for many tinkerers who use eg Arduinos or ESP8266 as hardware. Not only does the new MQTT binding make it easy to set up an integration, because this option can now be performed entirely through a graphical user interface (Paper UI), but also knows the Homie Convention. It even detects home-assistant installations in the local network and brings their devices into the openHAB inbox. More information about all new MQTT features is listed in the blog post .
Community
It’s great to see the community growing and how many people actively participate in the openHAB project. I notice that I am less and less essential for openHAB and I also strive for this direction in the future, eg to share more responsibility and to let more people lead the project. Part of this task will be to simplify and even automate the entire project setup. The monthly milestone builds since the summer are already making good progress.
I can only emphasize once again that all this is possible only through the many volunteers in the community – and everyone who wants to help with this collaborative effort is invited to become a part of it! So do not be shy and always remember that open source is not about being free but sharing something with others.