Welcome to openHAB!
The open Home Automation Bus (openHAB, pronounced ˈəʊpənˈhæb) is an open source, technology agnostic home automation platform which runs as the center of your smart home!
openHAB software integrates different home automation systems, devices and technologies into a single solution. It provides uniform user interfaces, and a common approach to automation rules across the entire system, regardless of the number of manufacturers and sub-systems involved.
You've reached the openHAB documentation, which contains extensive resources for all users:
- If you are new to openHAB, we recommend to learn a bit about openHAB first before jumping in - please proceed directly to the Getting Started chapter below!
- If you're an experienced user, the Download page contains links and simplified installation instructions. The Configuration Guide and the Interfaces and Ecosystem section below also contain useful information. If you're looking for the documentation of a specific add-on, go to the Add-on Reference. You can also use the search box above to find any page on this site.
- If you're using openHAB 1.x and want to migrate your installation to openHAB 2, have a look at our Migration Guide.
- If you would like to contribute to the development of openHAB, please refer to our Developer Guide.
This documentation is always worked on, so expect regular changes. If you feel that something important is missing, please help us improve the documentation!
The openHAB Documentation is evolving
The structure of the new documentation site has been altered in certain places to improve your reading experience. The documentation for the previous releases can still be viewed at docs.openhab.org or with the "Other versions" dropdowns on most pages. During a transition period, you might encounter broken or invalid links - please bear with us and accept our apologies for the inconvenience.
We highly recommend that you read the next chapter titled Concepts. It introduces a number of important ideas that will help you as you install and begin to configure openHAB for the first time.
openHAB runs on many popular platforms including Linux, Windows and Mac OSx. You can find specific installation instructions for these and other platforms in the Installation Guide. Many people find that the simplest way to experiment with openHAB is to get a Raspberry Pi and install openHABian - the "hassle-free openHAB setup". While openHABian offers a streamlined and simplified way to get up and running quickly, it is a complete openHAB home automation system capable of automating your entire home.
Once you have openHAB up and running, the Configuration Guide contains everything you need to know to get your openHAB installation talking to different devices around your home. For instance, you can use Sitemaps to control how the status of these devices are displayed on different openHAB User Interfaces, and you can begin to experiment with Rules in order to get the most out of your installation. There are many other ways of interacting with your openHAB smart home: the most popular are presented in the Interfaces and Ecosystem section below.
Along the way, you may have some questions; the openHAB community is here to help.
The openHAB Community
openHAB is not just software - it is also a community of users, contributors and maintainers, working together on an open-source, interoperable approach to home automation. The center of this community is the openHAB community forum. You can search previous conversations and issues to see if your question has already been answered. You can post your own question as well (although it is generally considered to be good etiquette to check fairly thoroughly before posting). One of the great things about openHAB is that it has an active and responsive community of developers and maintainers who generally respond quite quickly to forum questions. We believe you will find that our community works diligently to make newcomers feel at home.
openHAB 2 is developed in Java and mainly based on the Eclipse SmartHome framework. It uses Apache Karaf together with Eclipse Equinox to create an Open Services Gateway initiative (OSGi) runtime environment. Jetty is used as an HTTP server.
openHAB is highly modular software that can be extended through "Add-ons". Add-ons give openHAB a wide array of capabilities, from User Interfaces, to the ability to interact with a large and growing number of physical Things. Add-ons may come from the openHAB 2 distribution, the Eclipse SmartHome project Extensions, or from the openHAB 1 distribution.
The overall architecture of openHAB is shown in the figure below:
Let's continue with the Concepts section where we introduce many fundamental ideas that are used throughout openHAB.