OpenHAB
{{Multiple issues|{{Third-party|date=December 2019}}{{Notability|Product|date=January 2022}}
}}
{{Infobox software
| name = open Home Automation Bus (openHAB)
| logo = OpenHAB logo 2.svg
| released = 2011
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}
| repo = {{URL|https://github.com/openhab}}
| programming language = Java
| operating system = Linux, Windows, Mac OS X, Unix, Solaris, OpenBSD, FreeBSD
| genre = Home automation
| license = Eclipse Public License
| website = {{URL|https://www.openhab.org}}
}}
open Home Automation Bus (openHAB) is an open source home automation software written in Java. It is deployed on premises and connects to devices and services from different vendors. As of 2019, close to 300 bindings are available as OSGi modules.{{cite web |url=https://www.openhab.org/addons/ |publisher=openHAB Foundation e.V. |title=openHAB Add-on Reference |accessdate=26 November 2019}} Actions, such as switching on lights, are triggered by rules, voice commands, or controls on the openHAB user interface.
The openHAB project started in 2010. In 2013, the core functionality became an official project of the Eclipse Foundation under the name Eclipse SmartHome.{{cite web |url=https://www.eclipse.org/smarthome/ |title=Eclipse SmartHome - A Flexible Framework for the Smart Home |accessdate=26 November 2019}} openHAB is based on Eclipse SmartHome and remains the project for the development of bindings.
According to Black Duck Open Hub, it is developed by one of the largest open-source teams in the world.{{cite web |title=Project Summary: Factoids - Open Hub |url=https://www.openhub.net/p/openhab/factoids |publisher=Black Duck Software, Inc. |accessdate=26 November 2019}} It also has an active user community.{{cite web |title=About - openHAB Community |url=https://community.openhab.org/about |publisher=openHAB Foundation e.V. |accessdate=26 November 2019}}
Features
= Installation and runtime =
OpenHAB requires a JVM and can be deployed on servers running various operating systems, a dedicated Raspberry Pi instance, or some network-attached storage systems.{{cite web |title=PINE A64 is a $15, 'high-performance' take on the Raspberry Pi |url=https://www.engadget.com/2015/12/09/pine-a64-64-bit-4k-maker-board/ |publisher=Engadget, Verizon Media |accessdate=26 November 2019}}{{cite web |title=How to install openHAB 2 on Synology Diskstation |date=8 March 2019 |url=https://smarthome-training.com/en/how-to-install-openhab-2-on-synology-diskstation/ |publisher=Smarthome Training |accessdate=26 November 2019}} The required bindings can be added at runtime via OSGi. OpenHAB supports a number of persistence backends for storing and querying the smart home data, including relational and time series databases. By default openHAB uses rrd4j for persistence.{{Cite web|title=Persistence|url=https://www.openhab.org/docs/tutorial/persistence.html#default-persistence|access-date=2022-01-12|website=www.openhab.org|language=en-US}}
= Discovery and configuration =
After installation, openHAB scans the local network and discovers devices that can be included in the smart home solution.{{Cite web|title=Thing Discovery|url=https://www.openhab.org/docs/concepts/discovery.html#background-discovery|access-date=2022-01-12|website=www.openhab.org|language=en-US}} Users can provide credentials and meaningful device names via an administration user interface.
= Things and Items =
Since major version 2 of openHAB the connections to physical devices is split in 2 levels. "Things" are the interface elements to a specific physical device (e.g. an interface to a home automation network like KNX, Z-Wave or Zigbee). Within these things, one or more "Items" can then be defined or discovered. These "Items" correspond to one specific component like a relay controlling a light, the desired temperature of a heating system or a dimmer percentage.
= Sitemaps =
Sitemaps allow the user to determine how the devices in the smart home are arranged. A sitemap groups devices by floor and room and determines how they are visualized and controlled. The following example illustrates what a typical sitemap definition might look like:
sitemap demo label="My home automation" {
Frame label="Date" {
Text item=Date
}
Frame label="Demo" {
Switch item=Lights icon="light"
Text item=LR_Temperature label="Livingroom [%.1f °C]"
Group item=Heating
Text item=LR_Multimedia_Summary label="Multimedia [%s]" icon="video" {
Selection item=LR_TV_Channel mappings=[0="off", 1="DasErste", 2="BBC One", 3="Cartoon Network"]
Slider item=LR_TV_Volume
}
}
}
= User interface =
Once the system is configured, openHAB users can view data and perform actions using a number of user interfaces. These include a browser based interface as well as apps for Android, Windows 10, and iOS.{{cite web |title=openHAB - Apps on Google Play |url=https://play.google.com/store/apps/details?id=org.openhab.habdroid&hl=en_US |publisher=Google Corporation |accessdate=26 November 2019}}{{cite web |title=openHAB on the App Store |url=https://apps.apple.com/us/app/openhab/id492054521 |publisher=Apple Corporation |accessdate=26 November 2019}}{{cite web |title=Get openHAB - Microsoft Store |url=https://www.microsoft.com/en-us/p/openhab/9nmq39ctwxgt?activetab=pivot:overviewtab |publisher=Microsoft Corporation |accessdate=26 November 2019}} All of these UIs are defined by the sitemap mechanism.
= Rules =
An event, condition, action rule-based system is used to automate the smart home. The following example turns off a light once the sun rises at the configured location.
rule "Start wake up light on sunrise"
when
Channel "astro:sun:home:rise#event" triggered
then
switch(receivedEvent.getEvent()) {
case "START": {
Light.sendCommand(OFF)
}
}
end
= openHAB Cloud =
OpenHAB Cloud is a companion cloud service and backend for openHAB. It provides secure remote access and enables openHAB users to remotely monitor, control and steer their homes through the internet. The openHAB foundation provides a demo system without SLA guarantees.{{cite web |title=Welcome to myopenHAB |url=https://www.myopenhab.org/ |publisher=openHAB Foundation e.V. |accessdate=26 November 2019}}
Version 3 improvements
In 2020, the code was forked for a major rework, separating to 2.5 version from the upcoming 3.0 branch.[https://community.openhab.org/t/development-of-openhab-3-0-0-and-2-5-x/89376 Development of openHAB 3.0.0 and 2.5.x] Apart from some technical code changes (e.g. use of Java 11), several functional improvements are foreseen:
- the UI is unified, and pages (previously managed in sitemaps) are now managed in the openHAB designer.
- User and group management will be available to control who can use specific parts of the UI.
- Rules and scripts are extended and can be edited directly in the openHAB designer.
The main drawback is that backward compatibility to openHAB add-ons for version 1 is dropped.
Version 3.0 has been released as of 21 December 2020.{{cite web |title=openHAB 3.0 Release |url=https://www.openhab.org/blog/2020-12-21-openhab-3-0-release.html |publisher=openHAB Foundation e.V.}}
Security
Many security and privacy concerns have been raised with home automation and IoT in general. OpenHAB's on-premises engine and open source character are answers to these concerns.{{cite web |title=Smart-Home Gadgets Need a Translator Real Bad—Here's How to Get One |url=https://www.wired.com/2016/05/smart-home-hubs-apps/ |publisher=Wired |accessdate=26 November 2019 |date=May 2016}} However, it was criticized for its use of default configurations.{{cite web |title=1990s technology exposes 32,000 smart homes, businesses to exploit |url=https://www.zdnet.com/article/32000-smart-homes-businesses-are-at-risk-of-data-leaks-due-to-flawed-mqtt-protocol/ |publisher=ZDNet |date=August 2018}}
Reception
OpenHAB won the IoT Challenge 2013{{cite web |title=Announcement: The winner of the IoT Challenge 2013!! |url=https://iotevent.eu/application-2/announcement-the-winner-of-the-iot-challenge-2013/ |publisher=Jakajima B.V. |date=June 4, 2013}} and the JavaOne Duke's Choice Award 2013.{{Cite web | url=https://www.java.net//dukeschoice | title=2013 Duke's Choice Awards | accessdate=2014-01-13 | archiveurl=https://web.archive.org/web/20140113160305/https://www.java.net//dukeschoice | archivedate=2014-01-13 }} It was nominated for the JAX Innovation Award 2014{{Cite web |publisher=Software & Support Media GmbH|accessdate=26 November 2019 | url=http://jaxenter.com/jax-innovation-awards-2014-spotlight-openhab-50089.html | title=JAX Innovation Award Nomination}} and was the People's Choice Winner at the Postscapes IoT Awards 2014/15.{{Cite web | url = http://postscapes.com/internet-of-things-award/2014/iot-open-source-project | title = Postscapes IoT Awards 2014/15 | accessdate = 2016-05-31 | archiveurl = https://web.archive.org/web/20160309203723/http://postscapes.com/internet-of-things-award/2014/iot-open-source-project | archivedate = 2016-03-09 }}
See also
- Home Assistant, another popular open source home automation software
- List of home automation software
References
{{reflist}}
External links
- {{Official website|https://www.openhab.org/}}
- {{GitHub|openhab}}