openHAB

from Wikipedia, the free encyclopedia
open Home Automation Bus (openHAB)

OpenHAB logo.svg
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

openHAB 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 events

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

Screenshot HABdroid

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

Jabber 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

Individual evidence

  1. c't Developer: Home automation with openHAB: new bindings and outlook into the future from November 25, 2014 (accessed on April 21, 2015)
  2. openHAB 2 has arrived! - Kai Kreuzer. Retrieved January 23, 2017 (English).
  3. One app for everything? Smarthome control Coqon in the test . In: computerbild.de . ( computerbild.de [accessed on May 10, 2017]).
  4. http://kaikreuzer.blogspot.de/2014/11/openhab-16-and-20-alpha-release.html
  5. Joda Time , from joda-time.sourceforge.net, accessed October 8, 2018
  6. http://www.mysensors.org/
  7. http://souliss.net
  8. OSGi Overview , on openhab.org, accessed October 8, 2018
  9. Official Google Assistant Integration for openHAB Announcement of the release by Google in the openHAB forum
  10. Welcome to myopenHAB , on myopenhab.org, accessed on October 8, 2018
  11. IoT Challenge 2013 .
  12. 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. @1@ 2Template: Webachiv / IABot / www.java.net
  13. JAX Innovation Award nomination .
  14. 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. @1@ 2Template: Webachiv / IABot / postscapes.com
  15. Black Duck's OpenHub Analysis .