-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Linux and OS X
- Installation via apt-get
- Manual installation (alternatively - including openHAB Designer)
- Yocto Layer
- Via Chef
Note: for Hardware specific details for Synology Diskstation, QNAP, and ARM boards like Raspberry Pi visit:
- ARM based systems
- [Synology and QNAP servers] (https://github.com/openhab/openhab/wiki/Synology-and-QNAP)
openHAB is a Java application and is expected to run on all platforms where JVM 1.8 or later is available. This includes Windows, Mac OS X, and Linux on x86, x86_64, and ARM architectures. openHAB can be run on laptops, desktop computers, or ARM based single-board computers.
- Note: As of the release of openHAB 1.7.1 on 26. Juli 2015 the deb-repository is digitally signed! Therefore you will have to add the "openHAB Bintray Repositories" gpg key to your apt keyring if you want to use the repo. This is also necessary for the installation of releases prior to 1.7.1.. The key installation is described below.
- Install Java if 1.8 or higher is not already installed. The following will display your current Java version.
java -version
- Add the openHAB Bintray Repositories key to the apt-keyring
using wget:
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
or using curl:
curl 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
- Add openHAB apt repository to the apt sources list (Note: the current openhab.list file will be overwritten)
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
- Resynchronize the package index
sudo apt-get update
- Install the openHAB runtime
sudo apt-get install openhab-runtime
-
If you have more than one OpenHAB binding with a USB device (Z-Wave, RFXCOM, etc), refer to symlinks
-
Start openHAB - manually
-
Init based on sysVinit (e.g. Debian 7 / Ubuntu 14.x and earlier)
sudo /etc/init.d/openhab start
sudo /etc/init.d/openhab status
- Init based on systemd (e.g. Debian 8 / Ubuntu 15.x and higher)
sudo systemctl start openhab.service
sudo systemctl status openhab.service
- Start openHAB - at system startup
- Init based on sysVinit (e.g. Debian 7 / Ubuntu 14.x and earlier)
sudo update-rc.d openhab defaults
or using Init based on systemd (e.g. Debian 8 / Ubuntu 15.x and higher)
sudo systemctl daemon-reload
sudo systemctl enable openhab
- Install the add-ons / bindings as you need them (see list on right side-bar)
sudo apt-get install openhab-addon-${addon-type}-${addon-name}
Examples:
sudo apt-get install openhab-addon-binding-knx
sudo apt-get install openhab-addon-persistence-rrd4j
sudo apt-get install openhab-addon-io-dropbox
sudo apt-get install openhab-addon-action-twitter
A list of all available packages can be retrieved with
sudo apt-cache search openhab
-
Configure your system as outlined here: configuration.
-
If you wish to use a USB zwave stick or other USB/serial device you will need to add the "openhab" users to the "dialout" group:
sudo usermod -a -G dialout openhab
and then reboot.
- Test it
Point your browser to http://localhost:8080/openhab.app?sitemap=yourname
and you should see your sitemap.
Once your system is stable and configured the way you want it, review Performance Tuning
Note: changed configuration files will be retained even on upgrades.
sudo apt-get update
sudo apt-get upgrade
- service configuration /etc/default/openhab
- site configuration /etc/openhab
- log files /var/log/openhab
- userdata like rrd4j databases /var/lib/openhab
- openHAB engine, addons and /webapps folder /usr/share/openhab
- stable
The latest stable openHAB release will be installed.
- testing
The latest release candidate of openHAB will be installed.
- unstable (not yet available)
The latest snapshot release of openHAB will be installed.
- version based distribution names (1.7.0, ...)
All Releases are available as with a distribution name corresponding to the version name. If you want to stick your installation to a specific version use one of these distribution names. The installation will only be upgraded if you change the sources.list to another version. Therefore "apt-get update && apt-get upgrade" can be safely used for the other linux software.
Examples:
echo "deb https://dl.bintray.com/openhab/apt-repo 1.7.0 main" | sudo tee -a /etc/apt/sources.list
echo "deb https://dl.bintray.com/openhab/apt-repo 1.7.0.RC1 main" | sudo tee -a /etc/apt/sources.list
Not yet available.
su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get purge openjdk* # (to remove previously installed lower versions)
apt-get install oracle-java8-installer
exit
WARNING: this quick setup is an example for a KNX environment. You need different addons and configurations for other bindings.
The openHAB runtime comes as a platform-independent zip file. To install it, follow these simple steps:
- You will need to install Java if not already installed. Go to http://java.com/ to get it. For ARM based systems and Synology Diskstation, see Hardware FAQ for instructions on getting Java.
- Unzip the
openhab-runtime-<version>.zip
to where it is intended to be running from, e.g./opt/openhab
. - Copy the bindings you have downloaded -
knx-binding-<version>.jar
andhttp-binding-<version>.jar
- to the "addons" directory. - Create a personal configuration file
configurations/openhab.cfg
and add the appropriate configuration parameters fromconfigurations/openhab_default.cfg
(depending on the bindings you've copied).
The openHAB designer comes as a platform-dependent zip, so choose the right type for your platform. To install it, follow these simple steps:
- Unzip the
openhab-designer-<platform>-<version>.zip
to some directory, e.g./opt/openhab-designer
- Launch it by the executable
openHAB-Designer
- Select the "configurations" folder of your runtime installation in the folder dialog that is shown when selecting the "open folder" toolbar icon.
For please visit the configuration page(s).
- Launch the runtime by executing the script
start.sh
openHAB comes with a built-in user interface. It works on all webkit-based browsers like Chrome, Safari, etc. Point your browser to http://localhost:8080/openhab.app?sitemap=yourname
and you should be looking at your sitemap.
For people who make their own linux distribution using Yocto, there is a openHAB layer available:
https://github.com/ulfwin/meta-openhab
You can also find it through the very convenient layer search site:
http://layers.openembedded.org/layerindex/branch/master/layers/
The layer contains one recipe that install both the runtime engine and addons. Check the README for specific instructions for the layer. How to add and use a layer is not covered here (you need to know that in order use Yocto in the first place), but some explanation can be found here:
http://www.yoctoproject.org/docs/1.6/dev-manual/dev-manual.html#understanding-and-creating-layers
There is a chef cookbook available at github.com/JustinAiken/openhab-cookbook. It can install from the Debian packages or via source.
ℹ Please find all documentation for openHAB 2 under http://docs.openhab.org.
The wiki pages here contain (outdated) documentation for the older openHAB 1.x version. Please be aware that a lot of core details changed with openHAB 2.0 and this wiki as well as all tutorials found for openHAB 1.x might be misleading. Check http://docs.openhab.org for more details and consult the community forum for all remaining questions.
- Classic UI
- iOS Client
- Android Client
- Windows Phone Client
- GreenT UI
- CometVisu
- Kodi
- Chrome Extension
- Alfred Workflow
- Cosm Persistence
- db4o Persistence
- Amazon DynamoDB Persistence
- Exec Persistence
- Google Calendar Presence Simulator
- InfluxDB Persistence
- JDBC Persistence
- JPA Persistence
- Logging Persistence
- mapdb Persistence
- MongoDB Persistence
- MQTT Persistence
- my.openHAB Persistence
- MySQL Persistence
- rrd4j Persistence
- Sen.Se Persistence
- SiteWhere Persistence
- AKM868 Binding
- AlarmDecoder Binding
- Anel Binding
- Arduino SmartHome Souliss Binding
- Asterisk Binding
- Astro Binding
- Autelis Pool Control Binding
- BenQ Projector Binding
- Bluetooth Binding
- Bticino Binding
- CalDAV Binding
- Chamberlain MyQ Binding
- Comfo Air Binding
- Config Admin Binding
- CUL Transport
- CUL Intertechno Binding
- CUPS Binding
- DAIKIN Binding
- Davis Binding
- DD-WRT Binding
- Denon Binding
- digitalSTROM Binding
- DIY on XBee Binding
- DMX512 Binding
- DSC Alarm Binding
- DSMR Binding
- eBUS Binding
- Ecobee Binding
- EDS OWSever Binding
- eKey Binding
- Energenie Binding
- EnOcean Binding
- Enphase Energy Binding
- Epson Projector Binding
- Exec Binding
- Expire Binding
- Fatek PLC Binding
- Freebox Binding
- Freeswitch Binding
- Frontier Silicon Radio Binding
- Fritz AHA Binding
- Fritz!Box Binding
- FritzBox-TR064-Binding
- FS20 Binding
- Garadget Binding
- Global Caché IR Binding
- GPIO Binding
- HAI/Leviton OmniLink Binding
- HDAnywhere Binding
- Heatmiser Binding
- Homematic / Homegear Binding
- Horizon Mediabox Binding
- HTTP Binding
- IEC 62056-21 Binding
- IHC / ELKO Binding
- ImperiHome Binding
- Insteon Hub Binding
- Insteon PLM Binding
- IPX800 Binding
- IRtrans Binding
- jointSPACE-Binding
- KM200 Binding
- KNX Binding
- Koubachi Binding
- LCN Binding
- LightwaveRF Binding
- Leviton/HAI Omnilink Binding
- Lg TV Binding
- Logitech Harmony Hub
- MailControl Binding
- MAX!Cube-Binding
- MAX! CUL Binding
- MCP23017 I/O Expander Binding
- MCP3424 ADC Binding
- MiLight Binding
- MiOS Binding
- Mochad X10 Binding
- Modbus Binding
- MPD Binding
- MQTT Binding
- MQTTitude binding
- MystromEcoPower Binding
- Neohub Binding
- Nest Binding
- Netatmo Binding
- Network Health Binding
- Network UPS Tools Binding
- Nibe Heatpump Binding
- Nikobus Binding
- Novelan/Luxtronic Heatpump Binding
- NTP Binding
- One-Wire Binding
- Onkyo AV Receiver Binding
- Open Energy Monitor Binding
- OpenPaths presence detection binding
- OpenSprinkler Binding
- OSGi Configuration Admin Binding
- Panasonic TV Binding
- panStamp Binding
- Philips Hue Binding
- Picnet Binding
- Piface Binding
- PiXtend Binding
- pilight Binding
- Pioneer-AVR-Binding
- Plex Binding
- Plugwise Binding
- PLCBus Binding
- PowerDog Local API Binding
- Powermax alarm Binding
- Primare Binding
- Pulseaudio Binding
- Raspberry Pi RC Switch Binding
- RFXCOM Binding
- RWE Smarthome Binding
- Sager WeatherCaster Binding
- Samsung AC Binding
- Samsung TV Binding
- Serial Binding
- Sallegra Binding
- Satel Alarm Binding
- Siemens Logo! Binding
- SimpleBinary Binding
- Sinthesi Sapp Binding
- Smarthomatic Binding
- Snmp Binding
- Somfy URTSI II Binding
- Sonance Binding
- Sonos Binding
- Souliss Binding
- Squeezebox Binding
- Stiebel Eltron Heatpump
- Swegon ventilation Binding
- System Info Binding
- TA CMI Binding
- TCP/UDP Binding
- Tellstick Binding
- TinkerForge Binding
- Tivo Binding
- UCProjects.eu Relay Board Binding
- UPB Binding
- VDR Binding
- Velleman-K8055-Binding
- Wago Binding
- Wake-on-LAN Binding
- Waterkotte EcoTouch Heatpump Binding
- Weather Binding
- Wemo Binding
- Withings Binding
- XBMC Binding
- xPL Binding
- Yamahareceiver Binding
- Zibase Binding
- Z-Wave Binding
- Asterisk
- DoorBird
- FIND
- Foscam IP Cameras
- LG Hombot
- Worx Landroid
- Heatmiser PRT Thermostat
- Google Calendar
- Linux Media Players
- Osram Lightify
- Rainforest EAGLE Energy Access Gateway
- Roku Integration
- ROS Robot Operating System
- Slack
- Telldus Tellstick
- Zoneminder
- Wink Hub (rooted)
- Wink Monitoring
- openHAB Cloud Connector
- Google Calendar Scheduler
- Transformations
- XSLT
- JSON
- REST-API
- Security
- Service Discovery
- Voice Control
- BritishGasHive-Using-Ruby
- Dropbox Bundle
A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.
Please update the wiki if you do come across any out of date information.
- Rollershutter Bindings
- Squeezebox
- WAC Binding
- WebSolarLog
- Alarm Clock
- Convert Fahrenheit to Celsius
- The mother of all lighting rules
- Reusable Rules via Functions
- Combining different Items
- Items, Rules and more Examples of a SmartHome
- Google Map
- Controlling openHAB with Android
- Usecase examples
- B-Control Manager
- Spell checking for foreign languages
- Flic via Tasker
- Chromecast via castnow
- Speedtest.net integration