openHAB
open Home Automation Bus (openHAB)
|
|
---|---|
Basic data
|
|
Maintainer | Quay cruiser |
developer | openHAB community |
Current version | 2.5.7 (July 23, 2020) |
Current preliminary version | 2.5.8-SNAPSHOT |
operating system | Linux , Windows , Mac OS X , Unix , Solaris , OpenBSD , FreeBSD |
programming language | Java |
category | Building automation |
License | Eclipse Public License |
www.openhab.org |
open Home Automation Bus ( openHAB ) is a software solution developed in Java that connects components for building automation from a wide variety of providers in one platform, regardless of manufacturer and protocol. openHAB was initiated by Kai Kreuzer in 2010 and has many co-developers. At the end of 2013 it was decided to operate openHAB as an official Eclipse project under the name Eclipse SmartHome . openHAB and Eclipse SmartHome will be further developed in parallel. Architecture and functions are mainly being further developed in the Eclipse SmartHome project, while the openHAB website is still the first address for binding developers.
openHAB 2 focuses on user comfort when setting up and configuring. To this end, numerous improvements compared to version 1 have been introduced.
openHAB is independent of the operating system and can be expanded to include additional technologies / protocols by adding additional bindings. OpenHAB is developed under the Eclipse Public License and is open source . Web browsers , Android or Apple iOS systems are supported as user interfaces .
Support and dissemination
Prominent official supporters are for example KNX , Enocean , Insteon , HomeMatic and Z-Wave . On the basis of Eclipse SmartHome, the first commercial products for the mass market have also come out, such as from Deutsche Telekom with QIVICON and the Qbox from COQON, which use the Eclipse SmartHome as a software basis for their gateways.
architecture
The openHAB project is divided into
- openhab runtime
- this corresponds to the server process that performs the actions.
- openhab designer
- this represents a user-friendly configuration interface based on Eclipse.
openHAB runtime
The openHAB Runtime is a package of OSGi Bundles embedded in the OSGi Framework (Equinox). It is a pure Java solution and therefore requires a JVM . Based on the OSGi, a modular architecture is made available that enables functions to be added or removed during runtime.
communication
openHAB has two internal communication channels:
- an asynchronous event bus
- an item repository
Event bus
The Event Bus is the basic service from openHAB. All non-status-related bundles inform other bundles about the status of events. All protocol bindings (which establish a physical link to the real hardware) should communicate via this event bus. The OSGi EventAdmin Service serves as the technical basis.
Item repository
For status-related functions, openHAB offers the Item Repository, which is connected to the event bus and tracks the current status of the items. The item repository can thus be used to query the current status of an item, for example for the display in a visualization, for processing in logics or for the persistence service. The item repository prevents connected services from having to save the status themselves and makes them available in a central service.
Sitemap
openHAB has a generically configurable user interface (UI), the so-called sitemap. The sitemap is a tree structure of widgets that define the various pages and content of the UI. Widgets can be items that show the current status or switches or graphics. Different sitemaps can be defined, for example for mobile devices or other display variants.
Item UI providers
Item UI Providers offers a possibility to generate the UI dynamically. The appearance of widgets can be configured in item and group definitions so that the sitemap can be generated dynamically. One use case is to display all elements of a group by only declaring the group in the sitefile.
openHAB designer
The openHAB Designer is an Eclipse RCP application for the configuration of the openHAB runtime. It provides an editor for the necessary configuration files and includes syntax checking, auto completion and context-specific markings. Rules based on the technologies Xtext , xBase , Quartz (schedule control) and Joda Time (time and date calculations) are used to create automation logics.
The openHAB Designer is considered obsolete and has been replaced by an extension for Visual Studio Code .
Technologies supported
Bindings
Due to its modular architecture, the OSGi platform allows flexible expansion with technologies. This means that the functionality can be easily adapted by including bindings. The following bindings are available, among others, the scope is constantly being expanded:
Amazon Alexa , Asterisk , Astro (sun position calculations ), Bluetooth , Comfo Air, CUPS , Daikin , digitalSTROM , DMX512 , eKey, Enocean , Epson Projector, Exec (Execute Command), Fritz! Box , Fritz AHA, GPIO , HDAnywhere, Heatmiser, HomeMatic , HTTP , IHC / ELKO, Innogy , INSTEON Hub, IRTrans, KNX , Koubachi, LCN building management systems, Leviton / HAI Omnilink, Loxone , MAX! Cube, MiLight, Modbus TCP and RTU, MPD , MQTT , Nest , Netatmo , Network Health, Nibe Heatpump, Nikobus, Novelan / Luxtronic Heatpump, NTP , One-Wire , Onkyo AV Receiver, Open energy monitor, OpenPaths, OpenSprinkler, OSGi Configuration Admin, Philips Hue, Piface, Pioneer AV receiver, PLC-BUS , Plex , Plugwise, Prowl , PulseAudio , Pulseaudio Server, Pushover, RFXCOM, Samsung TV, Serial, SNMP , Somfy URTSI II, Sonos , Souliss, Squeezebox , Swegon ventilation, System Info, TCP / UDP, Tellstick, TinkerForge , Tivo, Twitter , VDR , Wake-on -LAN, XBMC , Xively, xPL, Z-Wave , ZigBee
There are other features that cannot be configured as binding, but in part:
- Dropbox support
- Google Calendar and CalDAV Support
- Text to speech implementation ( TTS )
- HABDroid can perform actions via voice control, just like Amazon Alexa
Communities from the IoT environment provide Arduino- based platforms that can be connected to openHAB via serial, MQTT or Souliss binding.
Persistence
The Persistence Service enables the status of the individual items to be saved. In this way, processes can be visualized, historical data can be queried or the status can be restored when the system is restarted. The following services are available, among others, the scope is constantly being expanded:
- db4o - a Java object database
- rrd4j - a Java version of the round-robin database RRDtool.
- MySQL - an interface to a MySQL database.
- Open.Sen.Se - an Internet of Things platform
- logging using Logback - writes the item status in a log file with flexible syntax definition
- influxdb - a "time series" database
Interfaces
User interfaces
- Paper UI - setup and configuration web interface
- Basic UI - web interface
- Apple iOS client
- Android Client - HABDroid is an open source Android user interface for openHAB
- Windows 10 client
- HABPanel - Dashboards
- CometVisu
- Amazon Alexa
- Google Assistant
NFC (Near Field Communication)
The Android client HABDroid is able to write and read NFC tags. An action can thus be carried out by scanning a correspondingly described NFC tag.
OSGi console
openHAB can be operated via the OSGi console. This allows commands to be sent to the event bus to switch items or query status, e.g. B.
---openHAB commands--- openhab send <item> <command> – sendet einen Befehl an ein Item (z. B. Licht ein) openhab status <item> – zeigt den aktuellen Status eines Items openhab say <sentence to say> – spricht eine Nachricht mittels der TTS Speech-Engine
voice control
Voice control is possible using the mobile application HABDroid. The Google Speech Engine is used for this. In addition, the Amazon voice service (Alexa) can be connected to openHAB with Amazon Echo or Amazon Dot. This is done via HUE emulation or via Alexa Skill.
Also supported are Google Home or Google Assistant .
XMPP instant messaging console
openHAB supports remote access via XMPP ( Jabber ). This means that you can “chat” with the home automation system using a personal Jabber account. Commands are similar to those of the OSGi console.
Google Calendar Console
Another possibility to send openHAB commands is time-controlled via a corresponding entry in the Google calendar or via CalDav calendar (e.g. ownCloud or Nextcloud ).
REST API
The RESTful interface creates an open interface to openHAB in order to communicate with other systems.
myopenHAB
The myopenHAB cloud service enables remote access and direct push notifications to the Android app (HABDroid) without port activation or DynDNS entries. The IFTTT service is integrated in myopenHAB.
MQTT
Item statuses can be exchanged between MQTT brokers and openHAB using MQTT binding.
Awards
openHAB won the IoT Challenge 2013 and the Duke's Choice Award 2013 at JavaOne . It was nominated for the JAX Innovation Award 2014 and became the People's Choice Winner at the Postscapes IoT Awards 2014/15. openHAB has one of the largest open source development teams in the world.
See also
Web links
- openhab.org - Official website of openHAB
- eclipse.org/smarthome - Official website Eclipse SmartHome
- innoq.com / ... - Article by Kai Kreuzer, the inventor of openHAB, about Eclipse SmartHome from November 10, 2014 (accessed April 21, 2015)
- openHAB documentation - Official openHAB 2 documentation
- openHAB Community - English language support forum
Individual evidence
- ↑ c't Developer: Home automation with openHAB: new bindings and outlook into the future from November 25, 2014 (accessed on April 21, 2015)
- ↑ openHAB 2 has arrived! - Kai Kreuzer. Retrieved January 23, 2017 (English).
- ↑ One app for everything? Smarthome control Coqon in the test . In: computerbild.de . ( computerbild.de [accessed on May 10, 2017]).
- ↑ http://kaikreuzer.blogspot.de/2014/11/openhab-16-and-20-alpha-release.html
- ↑ Joda Time , from joda-time.sourceforge.net, accessed October 8, 2018
- ↑ http://www.mysensors.org/
- ↑ http://souliss.net
- ↑ OSGi Overview , on openhab.org, accessed October 8, 2018
- ↑ Official Google Assistant Integration for openHAB Announcement of the release by Google in the openHAB forum
- ↑ Welcome to myopenHAB , on myopenhab.org, accessed on October 8, 2018
- ↑ IoT Challenge 2013 .
- ↑ 2013 Duke's Choice Awards . Archived from the original on January 13, 2014. Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved January 13, 2014.
- ↑ JAX Innovation Award nomination .
- ↑ Postscapes IoT Awards 2014/15 . Archived from the original on March 9, 2016. Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. Retrieved May 31, 2016.
- ↑ Black Duck's OpenHub Analysis .