This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
Initial release | 2011 |
---|---|
Stable release | |
Repository | github |
Written in | Java |
Operating system | Linux, Windows, Mac OS X, Unix, Solaris, OpenBSD, FreeBSD |
Type | Home automation |
License | Eclipse Public License |
Website | www |
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. [2] 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. [3] 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. [4] It also has an active user community. [5]
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. [6] [7] 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. [8]
After installation, openHAB scans the local network and discovers devices that can be included in the smart home solution. [9] Users can provide credentials and meaningful device names via an administration user interface.
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 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 } } }
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. [10] [11] [12] All of these UIs are defined by the sitemap mechanism.
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"whenChannel"astro:sun:home:rise#event"triggeredthenswitch(receivedEvent.getEvent()) { case "START": { Light.sendCommand(OFF) } } end
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. [13]
In 2020, the code was forked for a major rework, separating to 2.5 version from the upcoming 3.0 branch. [14] Apart from some technical code changes (e.g. use of java 11), several functional improvements are foreseen:
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. [15]
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. [16] However, it was criticized for its use of default configurations. [17]
OpenHAB won the IoT Challenge 2013 [18] and the JavaOne Duke's Choice Award 2013. [19] It was nominated for the JAX Innovation Award 2014 [20] and was the People's Choice Winner at the Postscapes IoT Awards 2014/15. [21]
OSGi is an open specification and open source project under the Eclipse Foundation.
Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, that can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.
VxWorks is a real-time operating system developed as proprietary software by Wind River Systems, a subsidiary of Aptiv. First released in 1987, VxWorks is designed for use in embedded systems requiring real-time, deterministic performance and, in many cases, safety and security certification for industries such as aerospace, defense, medical devices, industrial equipment, robotics, energy, transportation, network infrastructure, automotive, and consumer electronics.
Home automation or domotics is building automation for a home. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It may also include home security such as access control and alarm systems.
Zigbee is an IEEE 802.15.4-based specification for a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios, such as for home automation, medical device data collection, and other low-power low-bandwidth needs, designed for small scale projects which need wireless connection. Hence, Zigbee is a low-power, low data rate, and close proximity wireless ad hoc network.
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.
Z-Wave is a wireless communications protocol used primarily for residential and commercial building automation. It is a mesh network using low-energy radio waves to communicate from device to device, allowing for wireless control of smart home devices, such as smart lights, security systems, thermostats, sensors, smart door locks, and garage door openers. The Z-Wave brand and technology are owned by Silicon Labs. Over 300 companies involved in this technology are gathered within the Z-Wave Alliance.
Profinet is an industry technical standard for data communication over Industrial Ethernet, designed for collecting data from, and controlling equipment in industrial systems, with a particular strength in delivering data under tight time constraints. The standard is maintained and supported by Profibus and Profinet International, an umbrella organization headquartered in Karlsruhe, Germany.
The Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communications networks. The Internet of things encompasses electronics, communication and computer science engineering. Internet of things has been considered a misnomer because devices do not need to be connected to the public internet, they only need to be connected to a network, and be individually addressable.
EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, Object XML mapping (OXM), and enterprise information systems (EIS). EclipseLink supports a number of persistence standards including:
Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.
HomeKit, also known as Apple Home, is a software framework and communication protocol developed by Apple Inc. that lets users configure, communicate with and control smart-home appliances using Apple devices. It provides users with a way to automatically discover such devices and configure them. By designing rooms, items and actions in HomeKit, users can enable automations in the home through a voice command to Siri or through the Home app. With HomeKit, developers are able to create complex applications in order to manage accessories at a high level.
oneM2M is a global partnership project founded in 2012 and constituted by 8 of the world's leading ICT standards development organizations, notably: ARIB (Japan), ATIS, CCSA (China), ETSI (Europe), TIA (USA), TSDSI (India), TTA (Korea) and TTC (Japan). The goal of the organization is to create a global technical standard for interoperability concerning the architecture, API specifications, security and enrolment solutions for Machine-to-Machine and IoT technologies based on requirements contributed by its members.
Reactive Blocks is a visual model-driven development environment based on Activity Diagrams supporting formal model analysis, automated code generation, hierarchical modelling, and an extensive library of ready-to-use components for the Java platform.
Matter is an open-source connectivity standard for smart home and Internet of things devices, which aims to improve their compatibility and security.
Home Assistant is free and open-source software for home automation designed to be a central control system for smart home devices with a focus on local control and privacy. It can be accessed through a web-based user interface by using companion apps for Android and iOS, or by voice commands via a supported virtual assistant such as Google Assistant or Amazon Alexa.
Develco Products is a B2B wireless technology producer, headquartered in Aarhus, Denmark. The company was established in 2007 and develops white label devices for B2C solution providers and has over 3,500,000 devices deployed worldwide... Their main business areas are home care, security, and smart energy. They are a member of the Connectivity Standards Alliance as their main technological expertise lies in Zigbee-based devices that communicate through a mesh network. The company claims their most popular product is the Squid.link gateway.