2120 lines
88 KiB
HTML
2120 lines
88 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
|
||
|
||
|
||
<!--<link rel="shortcut icon" href="https://www.openhab.org/favicon.png"></link>-->
|
||
<title>openHAB 2 on Linux - openHAB 2 - Empowering the Smart Home</title>
|
||
|
||
<!-- CSS -->
|
||
<link type="text/css" rel="stylesheet" href="/v2.2/css/materialize.css" media="screen,projection" />
|
||
<link type="text/css" rel="stylesheet" href="/v2.2/css/pygments-jekyll-style.css" />
|
||
<link type="text/css" rel="stylesheet" href="/v2.2/css/styles.css" />
|
||
<link type="text/css" rel="stylesheet" href="/v2.2/css/openhab.css" />
|
||
<link type="text/css" rel="stylesheet" href="/v2.2/css/collapsible.css" />
|
||
|
||
<!-- Font -->
|
||
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" />
|
||
<link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400,700" />
|
||
<link rel="canonical" href="https://docs.openhab.org/installation/linux.html" />
|
||
<script type="text/javascript">var gaProperty = 'UA-47717934-3';var disableStr = 'ga-disable-' + gaProperty;if (document.cookie.indexOf(disableStr + '=true') > -1) {window[disableStr] = true;}</script>
|
||
<script>
|
||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||
ga('create', 'UA-47717934-3', 'auto');
|
||
ga('set', 'anonymizeIp', true);
|
||
ga('send', 'pageview');
|
||
</script>
|
||
</head>
|
||
|
||
|
||
<body class="documentation">
|
||
<div id="header" class="navbar-fixed">
|
||
<nav role="navigation">
|
||
<div class="container">
|
||
<div class="nav-wrapper">
|
||
<a href="/v2.2/index.html"><img id="logo" src="/images/logo.png" /></a>
|
||
<a href="#" data-activates="nav-mobile" class="button-collapse"><i class="material-icons">menu</i></a>
|
||
<ul class="right hide-on-med-and-down">
|
||
<li><a href="/tutorials/index.html">Tutorials</a></li>
|
||
<li><a href="/v2.2/introduction.html">User Manual</a></li>
|
||
<li><a href="/developers/index.html">Developer Guide</a></li>
|
||
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
|
||
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
|
||
<li class="search"><i class="material-icons">search</i></li>
|
||
<li class="search">
|
||
<form method="GET" id="searchform" class="search-form" action="/search">
|
||
<input id="query" name="q" type="text" class="search-form-input" placeholder="search" />
|
||
</form>
|
||
</li>
|
||
</ul>
|
||
<ul id="nav-mobile" class="side-nav">
|
||
<li><a href="/v2.2/index.html">Home</a></li>
|
||
<li><a href="/tutorials/index.html">Tutorials</a></li>
|
||
<li><a href="/v2.2/introduction.html">User Manual</a></li>
|
||
<li><a href="/developers/index.html">Developer Guide</a></li>
|
||
<li><a target="_blank" href="https://community.openhab.org">Community Forum</a></li>
|
||
<li><a target="_blank" href="https://github.com/openhab">GitHub</a></li>
|
||
<li class="search">
|
||
<form method="GET" id="searchformmob" class="search-form" action="/search">
|
||
<input id="querymob" name="q" type="text" class="search-form-input" placeholder="search" />
|
||
</form>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
</div>
|
||
|
||
|
||
<section id="documentation" class="text content-wrapper">
|
||
<div class="container">
|
||
<div class="side-nav-wrapper">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<ul class="nav">
|
||
<li><a href="/v2.2/introduction.html">Introduction</a></li>
|
||
<li><a href="/v2.2/concepts/index.html">Concepts</a>
|
||
<ul>
|
||
<li><a href="/v2.2/concepts/index.html">Overview</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/concepts/things.html">Things</a></li>
|
||
<li><a href="/v2.2/concepts/items.html">Items</a></li>
|
||
<li><a href="/v2.2/concepts/discovery.html">Inbox & Discovery</a></li>
|
||
<li><a href="/v2.2/concepts/audio.html">Audio & Voice</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/installation/index.html">Installation</a>
|
||
<ul>
|
||
<li><a href="/v2.2/installation/index.html">Overview</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/installation/linux.html">Linux</a></li>
|
||
<li><a href="/v2.2/installation/windows.html">Windows</a></li>
|
||
<li><a href="/v2.2/installation/macosx.html">Mac OS X</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/installation/openhabian.html">openHABian</a></li>
|
||
<li><a href="/v2.2/installation/docker.html">Docker</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/installation/rasppi.html">Raspberry Pi</a></li>
|
||
<li><a href="/v2.2/installation/pine.html">Pine A64</a></li>
|
||
<li><a href="/v2.2/installation/synology.html">Synology DiskStation</a></li>
|
||
<li><a href="/v2.2/installation/qnap.html">QNAP NAS</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/installation/security.html">Security & Remote Access</a></li>
|
||
<li><a href="http://www.myopenhab.org">myopenHAB</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/configuration/index.html">Configuration</a>
|
||
<ul>
|
||
<li><a href="/v2.2/configuration/index.html">Overview</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/configuration/things.html">Things</a></li>
|
||
<li><a href="/v2.2/configuration/items.html">Items</a></li>
|
||
<li><a href="/v2.2/configuration/sitemaps.html">Sitemaps</a></li>
|
||
<li><a href="/v2.2/configuration/transform.html">Transformations</a></li>
|
||
<li><a href="/v2.2/configuration/persistence.html">Persistence</a></li>
|
||
<li><a href="/v2.2/configuration/rules-dsl.html">Rules</a></li>
|
||
<li><a href="/v2.2/configuration/jsr223.html">JSR223 Scripting</a>
|
||
<ul>
|
||
<li><a href="/v2.2/configuration/jsr223.html">Overview</a>
|
||
<hr />
|
||
<li><a href="/v2.2/configuration/jsr223-js.html">Javascript</a></li>
|
||
<li><a href="/v2.2/configuration/jsr223-jython.html">Jython</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/configuration/services.html">Services</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/configuration/packages.html">Initial Setup Packages</a></li>
|
||
<li><a href="/v2.2/configuration/homebuilder.html">Home Builder</a></li>
|
||
<li><a href="/v2.2/configuration/paperui.html">Paper UI</a></li>
|
||
<li><a href="/v2.2/configuration/habmin.html">HABmin</a></li>
|
||
<li><a href="/v2.2/configuration/habpanel.html">HABPanel</a></li>
|
||
<li><a href="/v2.2/configuration/rules-ng.html">Rules (Experimental)</a></li>
|
||
<li><a href="/v2.2/configuration/editors.html">Editors</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/configuration/multimedia.html">Audio & Voice</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/index.html">Add-ons</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/index.html">Overview</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/addons/bindings.html">Bindings</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/bindings.html">Overview</a></li>
|
||
<hr />
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/airquality/readme.html">Air Quality</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/alarmdecoder1/readme.html">Alarm Decoder</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/allplay/readme.html">AllPlay</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/amazondashbutton/readme.html">Amazon Dash Button</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/anel1/readme.html">Anel NET-PwrCtrl</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/astro/readme.html">Astro</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/atlona/readme.html">Atlona</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/autelis/readme.html">Autelis Pool Control</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/avmfritz/readme.html">AVM FRITZ!</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/bigassfan/readme.html">BigAssFan</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/boschindego/readme.html">Bosch Indego</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/bticino1/readme.html">Bticino</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/caldav-command1/readme.html">CalDAV Command</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/caldav-personal1/readme.html">CalDAV Personal</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/chromecast/readme.html">Chromecast</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/cm11a/readme.html">Cm11a (X10 controller)</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/comfoair1/readme.html">ComfoAir</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/coolmasternet/readme.html">CoolMasterNet</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/denon1/readme.html">Denon</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/digitalstrom/readme.html">digitalSTROM</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/dlinksmarthome/readme.html">D-Link Smart Home</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/dmx/readme.html">DMX</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/dscalarm/readme.html">DSC Alarm</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/dsmr1/readme.html">DSMR</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ebus1/readme.html">eBUS</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ecobee1/readme.html">Ecobee</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ecotouch1/readme.html">EcoTouch</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ekey1/readme.html">ekey</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/energenie1/readme.html">Energenie</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/enocean1/readme.html">EnOcean</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/enphaseenergy1/readme.html">Enphase Energy</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/epsonprojector1/readme.html">Epson Projector</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/exec/readme.html">Exec</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/expire1/readme.html">Expire</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/fatekplc1/readme.html">Fatek PLC</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/feed/readme.html">Feed</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/feican/readme.html">Feican</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/folding/readme.html">Folding@home</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/freebox/readme.html">Freebox</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/freeswitch1/readme.html">FreeSWITCH</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/fritzbox1/readme.html">Fritz!Box</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/fritzboxtr0641/readme.html">Fritzbox (using TR064 protocol)</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/fs201/readme.html">FS20</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/fsinternetradio/readme.html">FS Internet Radio</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/garadget1/readme.html">Garadget</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/gardena/readme.html">Gardena</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/gc100ir1/readme.html">Global Cache IR</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/globalcache/readme.html">GlobalCache</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/harmonyhub/readme.html">Logitech Harmony Hub</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/hdanywhere/readme.html">HDanywhere</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/hdpowerview/readme.html">Hunter Douglas PowerView</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/heatmiser1/readme.html">Heatmiser</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/homematic/readme.html">Homematic</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/http1/readme.html">HTTP</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/hue/readme.html">Philips Hue</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/icloud/readme.html">iCloud</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ihc1/readme.html">IHC / ELKO</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/insteonplm1/readme.html">Insteon PLM</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/intertechno1/readme.html">Intertechno</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ipp/readme.html">IPP</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ipx8001/readme.html">IPX800</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/irtrans1/readme.html">IRTrans</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/jeelink/readme.html">Jeelink</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/jointspace1/readme.html">jointSPACE</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/keba/readme.html">Keba</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/knx1/readme.html">KNX</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/kodi/readme.html">Kodi</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/kostalinverter/readme.html">Kostal Inverter</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/koubachi1/readme.html">Koubachi</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lcn1/readme.html">LCN</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lgtv1/readme.html">LG TV</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lgtvserial/readme.html">LG TV control using serial protocol</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lgwebos/readme.html">LG webOS</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lifx/readme.html">LIFX</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lirc/readme.html">LIRC</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/loxone/readme.html">Loxone</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/lutron/readme.html">Lutron</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/max/readme.html">MAX!</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/maxcul1/readme.html">MAX!CUL</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/meteostick/readme.html">Meteostick</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/miele/readme.html">Miele@home</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/mihome/readme.html">Xiaomi Mi Smart Home</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/milight/readme.html">Milight/Easybulb/Limitless</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/minecraft/readme.html">Minecraft</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/mios1/readme.html">MiOS Bridge</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/mochadx101/readme.html">Mochad X10</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/modbus1/readme.html">Modbus</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/mqtt1/readme.html">MQTT</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/mqttitude1/readme.html">OwnTracks (formerly MQTTitude)</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/myq1/readme.html">Chamberlain MyQ</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/neohub1/readme.html">NeoHub</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/nest/readme.html">Nest</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/netatmo/readme.html">Netatmo</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/network/readme.html">Network</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/networkupstools1/readme.html">Network UPS Tools</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/nibeheatpump1/readme.html">Nibe Heatpump</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/nikobus1/readme.html">Nikobus</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/nikohomecontrol/readme.html">Niko Home Control</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/novelanheatpump1/readme.html">Novelan/Luxtronic Heat Pump</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/ntp/readme.html">NTP</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/oceanic/readme.html">Oceanic</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/onebusaway/readme.html">OneBusAway</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/onewire1/readme.html">OneWire</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/onkyo/readme.html">Onkyo</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/openenergymonitor1/readme.html">Open Energy Monitor</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/opensprinkler/readme.html">OpenSprinkler</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/orvibo/readme.html">Orvibo</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/owserver1/readme.html">OWServer</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/panasonictv1/readme.html">Panasonic TV</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/piface1/readme.html">Piface</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/pioneeravr/readme.html">PioneerAVR Configuration</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/plex1/readme.html">Plex</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/plugwise/readme.html">Plugwise</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/powermax1/readme.html">Visonic Powermax</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/pulseaudio/readme.html">Pulseaudio</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/regoheatpump/readme.html">RegoHeatPump</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/rfxcom/readme.html">RFXCOM</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/rme/readme.html">RME</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/rotelra1x/readme.html">Rotel Amplifier</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/russound/readme.html">Russound</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/rwesmarthome1/readme.html">RWE SmartHome</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/samsungac1/readme.html">Samsung Air Conditioner</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/samsungtv/readme.html">Samsung TV</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/sapp1/readme.html">Picnet Sapp</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/satel1/readme.html">Satel Integra Alarm System</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/sensebox/readme.html">senseBox</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/serial1/readme.html">Serial</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/serialbutton/readme.html">Serial Button</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/silvercrestwifisocket/readme.html">Silvercrest Wifi Plug</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/sleepiq/readme.html">SleepIQ</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/smaenergymeter/readme.html">SMA Energy Meter</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/snmp1/readme.html">SNMP</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/sonance1/readme.html">Sonance</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/sonos/readme.html">Sonos</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/souliss1/readme.html">Souliss</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/squeezebox/readme.html">Logitech Squeezebox</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/swegonventilation1/readme.html">Swegon Ventilation</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/synopanalyzer/readme.html">Synop Analyzer</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/systeminfo/readme.html">Systeminfo</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tankerkoenig/readme.html">Tankerkönig</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tcp1/readme.html">TCP & UDP</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tellstick/readme.html">Tellstick</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tesla/readme.html">Tesla</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tinkerforge1/readme.html">TinkerForge</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/toon/readme.html">Toon</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tplinksmarthome/readme.html">TPLinkSmartHome</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/tradfri/readme.html">TRÅDFRI</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/upb1/readme.html">UPB</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/urtsi/readme.html">Somfy URTSI II</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/vitotronic/readme.html">Vitotronic</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/weather1/readme.html">Weather</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/weatherunderground/readme.html">WeatherUnderground</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/wemo/readme.html">Belkin Wemo</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/wifiled/readme.html">WiFi LED</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/windcentrale/readme.html">Windcentrale</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/wol1/readme.html">Wake-on-LAN</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/xbmc1/readme.html">XBMC binding (for KODI) (1.x)</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/yahooweather/readme.html">YahooWeather</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/yamahareceiver/readme.html">Yamahareceiver</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/zigbee/readme.html">ZigBee</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/zoneminder/readme.html">Zoneminder</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/zwave/readme.html">ZWave</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/bindings/zway/readme.html">Z-Way</a></li>
|
||
|
||
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/uis.html">User Interfaces</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/uis.html">Overview</a></li>
|
||
<hr />
|
||
|
||
<li><a href="/v2.2/addons/uis/basic/readme.html">Basic UI</a></li>
|
||
|
||
<li><a href="/v2.2/addons/uis/classic/readme.html">Classic UI</a></li>
|
||
|
||
<li><a href="/v2.2/addons/uis/habmin/readme.html">HABmin</a></li>
|
||
|
||
<li><a href="/v2.2/addons/uis/habpanel/doc/habpanel.html"></a></li>
|
||
|
||
<li><a href="/v2.2/addons/uis/habpanel/readme.html">HABPanel</a></li>
|
||
|
||
<li><a href="/v2.2/addons/uis/paper/readme.html">Paper UI</a></li>
|
||
|
||
<hr />
|
||
<li><a href="/v2.2/addons/uis/apps/android.html">Android App</a></li>
|
||
<li><a href="/v2.2/addons/uis/apps/ios.html">iOS App</a></li>
|
||
<li><a href="/v2.2/addons/uis/apps/windows.html">Windows 10 App</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/addons/iconsets/classic/readme.html">Iconset (classic)</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/persistence.html">Persistence</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/persistence.html">Overview</a></li>
|
||
<hr />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/influxdb/readme.html">InfluxDB (0.9 and newer)</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/jdbc/readme.html">JDBC</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/jpa/readme.html">Java Persistence API (JPA)</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/mapdb/readme.html">mapdb</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/mqtt/readme.html">MQTT</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/mysql/readme.html">MySQL</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/persistence/rrd4j/readme.html">rrd4j</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/actions.html">Actions</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/actions.html">Overview</a></li>
|
||
<hr />
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/ecobee/readme.html">Ecobee</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/mail/readme.html">Mail</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/mios/readme.html">MiOS</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/mqtt/readme.html">MQTT</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/nma/readme.html">NotifyMyAndroid</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/pebble/readme.html">Pebble</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/prowl/readme.html">Prowl</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/pushbullet/readme.html">Pushbullet</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/pushover/readme.html">Pushover</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/pushsafer/readme.html">Pushsafer</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/satel/readme.html">Satel</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/telegram/readme.html">Telegram</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/twitter/readme.html">Twitter</a></li>
|
||
|
||
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/xbmc/readme.html">XBMC</a></li>
|
||
|
||
|
||
|
||
<li><a href="/v2.2/addons/actions/xmpp/readme.html">XMPP</a></li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/transformations.html">Transformations</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/transformations.html">Overview</a></li>
|
||
<hr />
|
||
|
||
<li><a href="/v2.2/addons/transformations/exec/readme.html">Exec</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/javascript/readme.html">JavaScript</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/jsonpath/readme.html">JsonPath</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/map/readme.html">Map</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/regex/readme.html">RegEx</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/scale/readme.html">Scale</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/xpath/readme.html">XPath</a></li>
|
||
|
||
<li><a href="/v2.2/addons/transformations/xslt/readme.html">XSLT</a></li>
|
||
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/addons/voices.html">Voice Services</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/voices.html">Overview</a></li>
|
||
<hr />
|
||
|
||
<li><a href="/v2.2/addons/voices/mactts/readme.html">MacOS Text-to-Speech</a></li>
|
||
|
||
<li><a href="/v2.2/addons/voices/marytts/readme.html">Mary Text-to-Speech</a></li>
|
||
|
||
<li><a href="/v2.2/addons/voices/voicerss/readme.html">VoiceRSS Text-to-Speech</a></li>
|
||
|
||
</ul>
|
||
</li>
|
||
<hr />
|
||
<li><a href="/v2.2/addons/io.html">3rd Party Integration</a>
|
||
<ul>
|
||
<li><a href="/v2.2/addons/io.html">Overview</a></li>
|
||
<hr />
|
||
|
||
<li><a href="/v2.2/addons/ios/alexa-skill/readme.html">Amazon Alexa Skill</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/dropbox/readme.html">Dropbox Synchronization</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/gcal/readme.html">Google Calendar Scheduler</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/homekit/readme.html">HomeKit Add-on</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/hueemulation/readme.html">openHAB Hue Emulation</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/imperihome/readme.html">ImperiHome integration service</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/mycroft-skill/readme.html">Mycroft AI Skill</a></li>
|
||
|
||
<li><a href="/v2.2/addons/ios/openhabcloud/readme.html">openHAB Cloud Connector</a></li>
|
||
|
||
<hr />
|
||
<li><a href="/v2.2/configuration/restdocs.html">REST API</a></li>
|
||
<li><a href="/v2.2/configuration/eclipseiotmarket.html">Eclipse IoT Marketplace</a></li>
|
||
<li><a href="http://www.myopenhab.org/" target="_blank">IFTTT</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/administration/index.html">Advanced Functionality</a>
|
||
<ul>
|
||
<li><a href="/v2.2/administration/index.html">Overview</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/administration/console.html">Console</a></li>
|
||
<li><a href="/v2.2/administration/runtime.html">Runtime Commands</a></li>
|
||
<li><a href="/v2.2/administration/bundles.html">Bundle Management</a></li>
|
||
<li><a href="/v2.2/administration/logging.html">Logging</a></li>
|
||
<hr />
|
||
<li><a href="/v2.2/administration/jsondb.html">JsonDB Storage</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="/v2.2/appendix/help.html">Community Guidance</a>
|
||
<ul>
|
||
<li><a href="/v2.2/appendix/help.html">Finding Help & FAQs</a></li>
|
||
<li><a href="/v2.2/appendix/contributing.html">Contributing</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<div id="versioning" class="row valign-wrapper">
|
||
<div class="col s12 right-align">
|
||
<ul id="dropdown-versioning" class="dropdown-content">
|
||
<li><a href="/v2.2/../installation/linux.html">latest version</a></li>
|
||
<li><a href="/v2.2/installation/linux.html">v2.2<i class="tiny material-icons right">lens</i></a></li>
|
||
<li><a href="/v2.2/../v2.1/installation/linux.html">v2.1</a></li>
|
||
</ul>
|
||
<a class="btn dropdown-button grey lighten-1" href="#!" data-activates="dropdown-versioning" title="Select which version of this openHAB documentation article you want to read.">
|
||
Switch Article Version<i class="material-icons right">arrow_drop_down</i>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="content">
|
||
|
||
<h1 id="openhab-2-on-linux">openHAB 2 on Linux</h1>
|
||
|
||
<p>The following instructions will guide you through the process of setting up openHAB 2 and recommended packages for both .DEB (Ubuntu, Debian etc.) and .RPM (RedHat, CentOS, Fedora etc.) Linux systems.</p>
|
||
|
||
<p>All instructions can be executed in a terminal or remotely via SSH connection.</p>
|
||
|
||
<p>This page is structured as follows:</p>
|
||
|
||
<ul id="markdown-toc">
|
||
<li><a href="#installation" id="markdown-toc-installation">Installation</a> <ul>
|
||
<li><a href="#package-repository-installation" id="markdown-toc-package-repository-installation">Package Repository Installation</a> <ul>
|
||
<li><a href="#service-control" id="markdown-toc-service-control">Service Control</a></li>
|
||
<li><a href="#command-line-interface-cli" id="markdown-toc-command-line-interface-cli">Command Line Interface (CLI)</a></li>
|
||
<li><a href="#changing-versions" id="markdown-toc-changing-versions">Changing Versions</a></li>
|
||
<li><a href="#uninstall" id="markdown-toc-uninstall">Uninstall</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#manual-installation" id="markdown-toc-manual-installation">Manual Installation</a> <ul>
|
||
<li><a href="#service" id="markdown-toc-service">Service</a></li>
|
||
<li><a href="#installing-add-ons" id="markdown-toc-installing-add-ons">Installing add-ons</a></li>
|
||
<li><a href="#upgrade" id="markdown-toc-upgrade">Upgrade</a></li>
|
||
<li><a href="#uninstall-1" id="markdown-toc-uninstall-1">Uninstall</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#file-locations" id="markdown-toc-file-locations">File Locations</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href="#backup-and-restore" id="markdown-toc-backup-and-restore">Backup and Restore</a></li>
|
||
<li><a href="#viewing-log-messages" id="markdown-toc-viewing-log-messages">Viewing Log Messages</a></li>
|
||
<li><a href="#recommended-additional-setup-steps" id="markdown-toc-recommended-additional-setup-steps">Recommended Additional Setup Steps</a> <ul>
|
||
<li><a href="#privileges-for-common-peripherals" id="markdown-toc-privileges-for-common-peripherals">Privileges for Common Peripherals</a></li>
|
||
<li><a href="#java-network-permissions" id="markdown-toc-java-network-permissions">Java Network Permissions</a></li>
|
||
<li><a href="#network-sharing" id="markdown-toc-network-sharing">Network Sharing</a> <ul>
|
||
<li><a href="#mounting-locally" id="markdown-toc-mounting-locally">Mounting Locally</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>If you are unfamiliar with Linux, SSH and the Linux console or if you want to improve your skills, read up on these important topics.
|
||
A lot of helpful articles can be found on the internet, for example:</p>
|
||
|
||
<ul>
|
||
<li>“Learn the ways of Linux-fu, for free” interactively with exercises at <a href="https://linuxjourney.com">linuxjourney.com</a>.</li>
|
||
</ul>
|
||
|
||
<p>Linux file permissions is one of the biggest sources of issues, Linux novices run into.
|
||
If you find yourself in a situation, where you have <strong>no write access</strong> to the openHAB configuration or system files wrong permissions and/or the incorrect use of <code class="highlighter-rouge">sudo</code> are often the cause.
|
||
Train your understanding of Linux permissions at <a href="https://linuxjourney.com/lesson/file-permissions">linuxjourney.com/lesson/file-permissions</a>.</p>
|
||
|
||
<p><strong>Meeting the Requirements:</strong>
|
||
As a first step, please verify, that your system meets the <a href="index.html#prerequisites">prerequisites</a>.
|
||
You may want to install Zulu, a fully certified Java build <a href="http://zulu.org/zuludocs-folder/Content/ZuluInstallationGuide/PrepareZuluPlatform/AttachAzulPackageRepositories.htm">as a package</a> or <a href="http://zulu.org/zuludocs-folder/Content/ZuluInstallationGuide/InstallingZulu/InstallLinuxUsingZuluZIPFile.htm">manually</a>.</p>
|
||
|
||
<p>Alternatively, Zulu Embedded can be installed for small systems either from the same package repository as above or <a href="http://www.azul.com/downloads/zulu-embedded/">manually</a>.
|
||
If you’re unsure which manual file you should download, using <code class="highlighter-rouge">dpkg --print-architecture</code> or <code class="highlighter-rouge">rpm -q --qf '%{ARCH}\n' rpm</code> in your Linux terminal should point you in the right direction (e.g. armhf means ARM Hard Float).</p>
|
||
|
||
<p>When installing Zulu or Zulu Embedded from a .zip or .tar archive, make sure to <a href="http://zulu.org/zuludocs-folder/Content/ZuluInstallationGuide/SwitchingBetweenJavaAlternatives/SwitchBetweenJavaAlts.htm">set Zulu as the main Java “alternative”</a>.</p>
|
||
|
||
<p><strong>Note:</strong> Make sure to download Zulu or Java <strong>8</strong>, as openHAB is not yet compatible with Java 9.</p>
|
||
|
||
<h2 id="installation">Installation</h2>
|
||
|
||
<p>openHAB 2 can be installed though a package repository or manually from file.
|
||
The installation through a provided <strong>package repository</strong> (using <code class="highlighter-rouge">apt</code>, <code class="highlighter-rouge">apt-get</code>, <code class="highlighter-rouge">yum</code> or <code class="highlighter-rouge">dnf</code>) is <strong>recommended</strong> for end users.
|
||
The manual installation through a platform independent archive file is suited for users who know what they are doing.</p>
|
||
|
||
<h3 id="package-repository-installation">Package Repository Installation</h3>
|
||
|
||
<p>Installation through a package repository is the recommended choice. You can select the appropriate installation instructions by expanding from the apt or yum instructions.
|
||
Alternatively resort to the <a href="#manual-installation">manual installation approach</a>.</p>
|
||
|
||
<div><ul class="collapsible">
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Apt Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<p>First, add the openHAB 2 Bintray repository key to your package manager and allow Apt to use the HTTPS Protocol:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wget <span class="nt">-qO</span> - <span class="s1">'https://bintray.com/user/downloadSubjectPublicKey?username=openhab'</span> | <span class="nb">sudo </span>apt-key add -
|
||
<span class="nb">sudo </span>apt-get install apt-transport-https
|
||
</code></pre></div> </div>
|
||
|
||
<p>Then, you can choose between, <em>Official (Stable)</em>, <em>Beta</em> or <em>Snapshot</em> builds:</p>
|
||
|
||
<ul>
|
||
<li>
|
||
<p><strong>Stable Release</strong></p>
|
||
|
||
<p>The stable builds contain the latest official release with tested features.</p>
|
||
|
||
<p>Add the <strong>openHAB 2 Stable Repository</strong> to your systems apt sources list:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://dl.bintray.com/openhab/apt-repo2 stable main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Testing Release</strong></p>
|
||
|
||
<p>The beta and release candidate builds come out less frequently, but will contain new features that are currently in the testing phase.</p>
|
||
|
||
<p>Add the <strong>openHAB 2 Beta Repository</strong> to your systems apt sources list:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://dl.bintray.com/openhab/apt-repo2 testing main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Snapshot Release</strong></p>
|
||
|
||
<p>The snapshot build is created <a href="https://openhab.ci.cloudbees.com/job/openhab-linuxpkg/">almost daily</a>, and include the latest changes to the openHAB 2 core and add-ons.
|
||
These changes are often unstable, so you should use this branch only for testing or development purposes.</p>
|
||
|
||
<p>The snapshot repository is hosted in openHAB’s <a href="https://www.jfrog.com/Artifactory">JFrog Artifactory instance</a>.
|
||
To use it, add the <strong>openHAB 2 Unstable Repository</strong> to your systems apt sources list:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">echo</span> <span class="s1">'deb https://openhab.jfrog.io/openhab/openhab-linuxpkg unstable main'</span> | <span class="nb">sudo </span>tee /etc/apt/sources.list.d/openhab2.list
|
||
</code></pre></div> </div>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>Next, resynchronize the package index:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
|
||
</code></pre></div> </div>
|
||
|
||
<p>Now install openHAB with the following command:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install openhab2
|
||
</code></pre></div> </div>
|
||
|
||
<p>When you choose to install an add-on, openHAB will download it from the internet on request.
|
||
If you plan on disconnecting your machine from the internet, then you will want to also install the add-ons package.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install openhab2-addons
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Yum or Dnf Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<p>The RPM repo information should be defined inside a file, make a new file at <code class="highlighter-rouge">/etc/yum.repos.d/openhab.repo</code> with the following contents depending on your choice of release.
|
||
You may add all three to the same file, but make sure the desired repo is is set to <code class="highlighter-rouge">enabled=1</code>:</p>
|
||
|
||
<ul>
|
||
<li>
|
||
<p><strong>Stable Release</strong></p>
|
||
|
||
<p>The stable builds contain the latest official release with tested features.</p>
|
||
|
||
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Stable]
|
||
name=openHAB 2.x.x Stable
|
||
baseurl=https://dl.bintray.com/openhab/rpm-repo2/stable
|
||
gpgcheck=1
|
||
gpgkey=https://bintray.com/user/downloadSubjectPublicKey?username=openhab
|
||
enabled=1
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Testing Release</strong></p>
|
||
|
||
<p>The beta or release candidate builds come out less frequently, but will contain new features that are currently in the testing phase.</p>
|
||
|
||
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Testing]
|
||
name=openHAB 2.x.x Testing
|
||
baseurl=https://dl.bintray.com/openhab/rpm-repo2/testing
|
||
gpgcheck=1
|
||
gpgkey=https://bintray.com/user/downloadSubjectPublicKey?username=openhab
|
||
enabled=1
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Snapshot Release</strong></p>
|
||
|
||
<p>The snapshot build is created <a href="https://openhab.ci.cloudbees.com/job/openhab-linuxpkg/">almost daily</a>, and include the latest changes to the openHAB 2 core and add-ons.
|
||
These changes are often unstable, so you should use this branch only for testing or development purposes.</p>
|
||
|
||
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[openHAB-Snapshots]
|
||
name=openHAB 2.x.x Snapshots
|
||
baseurl=https://openhab.jfrog.io/openhab/openhab-linuxpkg-rpm/unstable
|
||
gpgcheck=1
|
||
gpgkey=https://openhab.jfrog.io/openhab/api/gpg/key/public
|
||
enabled=1
|
||
</code></pre></div> </div>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>Now install openHAB with the following command, please note that for systems that support it <code class="highlighter-rouge">dnf</code> can be used instead of yum:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2
|
||
</code></pre></div> </div>
|
||
|
||
<p>When you choose to install an add-on, openHAB will download it from the internet on request.
|
||
If you plan on disconnecting your machine from the internet, then you will want to also install the add-ons package.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2-addons
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
</ul></div>
|
||
|
||
<p>Optionally, you may in addition install the legacy add-ons package <code class="highlighter-rouge">openhab2-addons-legacy</code>.
|
||
This package contains 1.x bindings, for which there is already a 2.x version available.
|
||
This might be useful if you’re <a href="/v2.2/tutorials/migration.html">coming from openHAB 1.x</a> for example.</p>
|
||
|
||
<p>If everything went well, you can start openHAB and register it to be automatically executed at system startup.</p>
|
||
|
||
<div><ul class="collapsible">
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Systems based on <strong>sysVinit</strong> (e.g. Ubuntu 14.x, Debian Wheezy and older):</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo</span> /etc/init.d/openhab2 start
|
||
<span class="nb">sudo</span> /etc/init.d/openhab2 status
|
||
|
||
<span class="nb">sudo </span>update-rc.d openhab2 defaults
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Systems based on <strong>systemd</strong> (e.g. Debian 8, Ubuntu 15.x, Raspbian Jessie and newer):</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl start openhab2.service
|
||
<span class="nb">sudo </span>systemctl status openhab2.service
|
||
|
||
<span class="nb">sudo </span>systemctl daemon-reload
|
||
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
</ul></div>
|
||
|
||
<p>The first start may take <strong>up to 15 minutes</strong>, this is a good time to reward yourself with hot coffee or a freshly brewed tea!</p>
|
||
|
||
<p>You should be able to reach the openHAB 2 Dashboard at <a href="">http://openhab-device:8080</a> at this point.
|
||
If you’re new to openHAB, then you should checkout the <a href="/v2.2/tutorials/beginner/1sttimesetup.html">beginner’s tutorial</a>!</p>
|
||
|
||
<p><img src="images/Accueil_Openhab_2.png" alt="The openHAB 2 Dashboard page" /></p>
|
||
|
||
<h4 id="service-control">Service Control</h4>
|
||
|
||
<p>openHAB will run as a service in the background.
|
||
The most important commands to control the openHAB service are given below.</p>
|
||
|
||
<div><ul class="collapsible">
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Systems based on <strong>sysVinit</strong> (e.g. Ubuntu 14.x, Debian Wheezy and older):</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c"># Learn about the current service status</span>
|
||
<span class="nb">sudo</span> /etc/init.d/openhab2 status
|
||
|
||
<span class="c"># (Re-)Start openHAB (background service)</span>
|
||
<span class="nb">sudo</span> /etc/init.d/openhab2 restart
|
||
|
||
<span class="c"># Stop the openHAB background service</span>
|
||
<span class="nb">sudo</span> /etc/init.d/openhab2 stop
|
||
|
||
<span class="c"># Make openHAB automatically start after booting the Linux host</span>
|
||
<span class="nb">sudo </span>update-rc.d openhab2 defaults
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Systems based on <strong>systemd</strong> (e.g. Debian 8, Ubuntu 15.x, Raspbian Jessie and newer):</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code> <span class="c"># Learn about the current service status</span>
|
||
<span class="nb">sudo </span>systemctl status openhab2.service
|
||
|
||
<span class="c"># (Re-)Start openHAB (background service)</span>
|
||
<span class="nb">sudo </span>systemctl restart openhab2.service
|
||
|
||
<span class="c"># Stop the openHAB background service</span>
|
||
<span class="nb">sudo </span>systemctl stop openhab2.service
|
||
|
||
<span class="c"># Get the service log since the last boot</span>
|
||
<span class="nb">sudo </span>journalctl <span class="nt">-u</span> openhab2.service <span class="nt">-b</span>
|
||
|
||
<span class="c"># Make openHAB automatically start after booting the Linux host</span>
|
||
<span class="nb">sudo </span>systemctl daemon-reload
|
||
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
</ul></div>
|
||
|
||
<h4 id="command-line-interface-cli">Command Line Interface (CLI)</h4>
|
||
|
||
<p>After installing openHAB, a shortcut named <code class="highlighter-rouge">openhab-cli</code> provides access to the openHAB-specific commands (such as <a href="#backup-and-restore">backup, restore</a>, and <a href="/v2.2/administration/console.html">console</a>).
|
||
To use the shortcuts in a terminal, simply type <code class="highlighter-rouge">openhab-cli</code> followed by the command.
|
||
For example:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Usage: openhab-cli <span class="nb">command</span> <span class="o">[</span>options]
|
||
|
||
Possible commands:
|
||
start <span class="o">[</span><span class="nt">--debug</span><span class="o">]</span> <span class="nt">--</span> Starts openHAB <span class="k">in </span>the terminal.
|
||
stop <span class="nt">--</span> Stops any running instance of openHAB.
|
||
status <span class="nt">--</span> Checks to see <span class="k">if </span>openHAB is running.
|
||
console <span class="nt">--</span> Opens the openHAB console.
|
||
backup <span class="o">[</span>filename] <span class="nt">--</span> Stores the current configuration of openHAB.
|
||
restore filename <span class="nt">--</span> Restores the openHAB configuration from a backup.
|
||
showlogs <span class="nt">--</span> Displays the log messages of openHAB.
|
||
info <span class="nt">--</span> Displays distribution information.
|
||
</code></pre></div></div>
|
||
|
||
<h4 id="changing-versions">Changing Versions</h4>
|
||
|
||
<p>To stay up to date with new releases, you should do regular upgrades.
|
||
This is especially important if you are working with the latest snapshot as changes and fixes are incorporated constantly.</p>
|
||
|
||
<p>Your personal configuration will be retained on upgrades.
|
||
We still recommend a backup before each upgrade.</p>
|
||
|
||
<div><ul class="collapsible">
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Apt Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<p>Upgrading is as easy as:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
|
||
<span class="nb">sudo </span>apt-get upgrade
|
||
</code></pre></div> </div>
|
||
|
||
<p>You may want to switch to a different repo, or an older (but more stable) version of openHAB.
|
||
To do this, simply select the repo as in the <a href="#package-repository-installation">installation instructions above</a>, then find the version by bringing a list of all versions available to install:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get update
|
||
apt-cache showpkg openhab2
|
||
</code></pre></div> </div>
|
||
|
||
<p>Once you know which version you want, you can upgrade/downgrade to it by using the <code class="highlighter-rouge">apt-get install openhab2=[version]</code> command, for example:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install <span class="nv">openhab2</span><span class="o">=</span>2.1.0-1
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Yum or Dnf Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<p>Upgrading is as easy as: (you can use <code class="highlighter-rouge">dnf</code> instead of <code class="highlighter-rouge">yum</code> for systems that support it)</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum upgrade
|
||
</code></pre></div> </div>
|
||
|
||
<p>You may want to switch to a different version of openHAB.
|
||
To do this, simply select the repo as in the <a href="#package-repository-installation">installation instructions above</a>, then find the version by bringing a list of all versions available to install:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>rpm <span class="nt">-q</span> openhab2
|
||
</code></pre></div> </div>
|
||
|
||
<p>Once you know which version you want, you can upgrade/downgrade to it by using the <code class="highlighter-rouge">yum install openhab2-[version]</code> command, for example:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum install openhab2-2.1.0-1
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
</ul></div>
|
||
|
||
<h4 id="uninstall">Uninstall</h4>
|
||
|
||
<p>To uninstall openHAB 2 and get rid of all related files managed by the package manager, make a backup, then uninstall openHAB and remove the repository:</p>
|
||
|
||
<div><ul class="collapsible">
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Apt Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get purge openhab2<span class="k">*</span>
|
||
<span class="nb">sudo </span>rm /etc/apt/sources.list.d/openhab2.list
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
<li><div class="collapsible-header">
|
||
|
||
<p>Yum or Dnf Based Systems</p>
|
||
|
||
</div><div class="collapsible-body">
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>yum remove openhab2<span class="k">*</span>
|
||
<span class="nb">sudo </span>rm /etc/yum.repos.d/openHAB.repo
|
||
</code></pre></div> </div>
|
||
|
||
</div></li>
|
||
|
||
</ul></div>
|
||
|
||
<h3 id="manual-installation">Manual Installation</h3>
|
||
|
||
<p>The manual installation/setup is an alternative to the otherwise <strong>recommended</strong> <a href="#package-repository-installation">installation through package repository</a>.</p>
|
||
|
||
<p>First, create a Linux system user for openHAB.
|
||
This user will later serve to execute the openHAB runtime with restricted permissions and can be used by other services like Samba if desired.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser <span class="nt">--system</span> <span class="nt">--no-create-home</span> <span class="nt">--group</span> <span class="nt">--disabled-login</span> openhab
|
||
</code></pre></div></div>
|
||
|
||
<p>We are going to download a platform independent archive file and extract it to the path <code class="highlighter-rouge">/opt/openhab2</code>.
|
||
Choose between the latest Beta release or a Snapshot with all incoming contributions, created daily.
|
||
As openHAB 2 is still in an evolving state, the snapshot may be the <strong>preferred choice</strong>.</p>
|
||
|
||
<ul>
|
||
<li>
|
||
<p><strong>Official Release</strong></p>
|
||
|
||
<p>Download and extract the latest offical stable version of openHAB 2 from <a href="https://bintray.com/openhab/mvn/openhab-distro">bintray.com/openhab</a> to your host:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /tmp
|
||
wget <span class="nt">-O</span> openhab-download.zip https://bintray.com/... <span class="c"># Insert download link here</span>
|
||
<span class="nb">sudo </span>unzip openhab-download.zip <span class="nt">-d</span> /opt/openhab2
|
||
rm openhab-download.zip
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Beta/RC Release</strong></p>
|
||
|
||
<p>If available, beta or release candidate builds of openHAB 2 can also be downloaded from <a href="https://bintray.com/openhab/mvn/openhab-distro">bintray.com/openhab</a> and extracted to your host as shown above.</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>Snapshot Release</strong></p>
|
||
|
||
<p>Download and extract the latest snapshot version of openHAB 2 from <a href="https://openhab.ci.cloudbees.com/job/openHAB-Distribution">openhab.ci.cloudbees.com</a> to your host. The process is analogue to above.</p>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>The extracted openHAB files should belong to the earlier created <code class="highlighter-rouge">openhab</code> user.
|
||
Execute:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>chown <span class="nt">-hR</span> openhab:openhab /opt/openhab2
|
||
</code></pre></div></div>
|
||
|
||
<p>Everything is ready for a first test run.
|
||
<strong>Execute</strong> openHAB and you should be able to reach the openHAB 2 Dashboard at <a href="">http://openhab-device:8080</a> after a few minutes:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># execute as restricted user openhab:</span>
|
||
<span class="nb">sudo </span>su <span class="nt">-s</span> /bin/bash <span class="nt">-c</span> <span class="s1">'/opt/openhab2/start.sh'</span> openhab
|
||
</code></pre></div></div>
|
||
|
||
<p>You will see the openHAB Karaf Console in your terminal and can directly interact with it.
|
||
Please be aware, that openHAB 2 will need a few minutes so finish the first start, even after the Karaf console is visible.
|
||
Let openHAB 2 settle for <strong>around 15 minutes</strong>.
|
||
If the portal is not reachable by then, restart once.</p>
|
||
|
||
<p><img src="images/Accueil_Openhab_2.png" alt="The openHAB 2 portal page" /></p>
|
||
|
||
<p>An important downside of the above method is, that openHAB will be terminated, as soon as you close your terminal.
|
||
To work around that, a quick solution is, to execute openHAB in a detached <a href="https://www.howtoforge.com/linux_screen">screen</a> terminal.</p>
|
||
|
||
<p>A cleaner approach is to create a Linux service.</p>
|
||
|
||
<h4 id="service">Service</h4>
|
||
|
||
<p>The following instructions are intended for a Linux init system based on <strong>systemd</strong> (e.g. Debian 8 / Ubuntu 15.x and newer).
|
||
This will allow you to register openHAB as a service, so that it runs at startup and automatically restarts if openHAB crashes.
|
||
The service will be running with the privileges of the user “openhab” and expects the openHAB files under <code class="highlighter-rouge">/opt/openhab2</code>.</p>
|
||
|
||
<p>Create the file <code class="highlighter-rouge">/lib/systemd/system/openhab2.service</code> with the following content:</p>
|
||
|
||
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[Unit]</span>
|
||
<span class="py">Description</span><span class="p">=</span><span class="s">The openHAB 2 Home Automation Bus Solution</span>
|
||
<span class="py">Documentation</span><span class="p">=</span><span class="s">http://docs.openhab.org</span>
|
||
<span class="py">Wants</span><span class="p">=</span><span class="s">network-online.target</span>
|
||
<span class="py">After</span><span class="p">=</span><span class="s">network-online.target</span>
|
||
|
||
<span class="nn">[Service]</span>
|
||
<span class="py">Type</span><span class="p">=</span><span class="s">simple</span>
|
||
<span class="py">User</span><span class="p">=</span><span class="s">openhab</span>
|
||
<span class="py">Group</span><span class="p">=</span><span class="s">openhab</span>
|
||
<span class="py">GuessMainPID</span><span class="p">=</span><span class="s">yes</span>
|
||
<span class="py">WorkingDirectory</span><span class="p">=</span><span class="s">/opt/openhab2</span>
|
||
<span class="c">#EnvironmentFile=/etc/default/openhab2
|
||
</span><span class="py">ExecStart</span><span class="p">=</span><span class="s">/opt/openhab2/start.sh server</span>
|
||
<span class="py">ExecStop</span><span class="p">=</span><span class="s">/bin/kill -SIGINT $MAINPID</span>
|
||
<span class="py">Restart</span><span class="p">=</span><span class="s">on-failure</span>
|
||
|
||
<span class="nn">[Install]</span>
|
||
<span class="py">WantedBy</span><span class="p">=</span><span class="s">multi-user.target</span>
|
||
</code></pre></div></div>
|
||
|
||
<p>Next, enable the service to be executed on system startup, start the service and retrieve status information:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># initialize the new service (execute only once)</span>
|
||
<span class="nb">sudo </span>systemctl daemon-reload
|
||
<span class="nb">sudo </span>systemctl <span class="nb">enable </span>openhab2.service
|
||
|
||
<span class="c">#start and retrieve status</span>
|
||
<span class="nb">sudo </span>systemctl start openhab2.service
|
||
<span class="nb">sudo </span>systemctl status openhab2.service
|
||
</code></pre></div></div>
|
||
|
||
<p>The output of <code class="highlighter-rouge">status</code> after a successful execution should be similar to:</p>
|
||
|
||
<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code> openhab2.service - The openHAB 2 Home Automation Bus Solution
|
||
Loaded: loaded (/lib/systemd/system/openhab2.service; enabled)
|
||
Active: active (running) since Thu 2016-08-14 01:16:00 GMT; 18h ago
|
||
Docs: http://docs.openhab.org
|
||
</code></pre></div></div>
|
||
|
||
<h4 id="installing-add-ons">Installing add-ons</h4>
|
||
|
||
<p>When running a manual installation, it is possible to pre-download add-ons or legacy add-ons if you want to install any bindings at a later date without connecting to the internet.
|
||
Simply download the kar files (the latest builds can be found <a href="https://openhab.ci.cloudbees.com/job/openHAB-Distribution/">here</a>) and move them to the <code class="highlighter-rouge">/opt/openhab2/addons</code> folder.</p>
|
||
|
||
<h4 id="upgrade">Upgrade</h4>
|
||
|
||
<p>To stay up to date with new releases, you should do regular upgrades of your manual installation.
|
||
This is especially important if you are working with the latest snapshot as changes and fixes are incorporated <a href="https://openhab.jfrog.io/openhab/webapp/#/builds/openHAB-Distribution">constantly</a>.</p>
|
||
|
||
<p>openHAB uses a script to update to any other version, or from stable to snapshot and visa-versa.
|
||
Your personal configuration will be retained on upgrades, but you should <strong>stop openHAB</strong> and perform a backup first.</p>
|
||
|
||
<ul>
|
||
<li>
|
||
<p><strong>Versions 2.1.0 and Above</strong></p>
|
||
|
||
<p>From version 2.1.0, openHAB is distributed with the update script included.
|
||
This script should be called from within openHAB’s root directory.
|
||
Assuming the openHAB directory is in <code class="highlighter-rouge">/opt/openhab</code>, simply run the following commands to update to the next major version of openHAB:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /opt/openhab
|
||
<span class="nb">sudo </span>runtime/bin/update
|
||
</code></pre></div> </div>
|
||
|
||
<p>You can also specify any version as a parameter. For example, to switch back to 2.0.0:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>runtime/bin/update 2.0.0
|
||
</code></pre></div> </div>
|
||
|
||
<p>You may also change to openHAB’s more frequent, but less stable snapshot builds.
|
||
Just append “-SNAPSHOT” to the target version, e.g.:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>runtime/bin/update 2.2.0-SNAPSHOT
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p><strong>Older Versions</strong></p>
|
||
|
||
<p>If you’re using a version earlier than 2.1.0, then you can use the following commands in Terminal to download the script and run it.
|
||
Assuming the openHAB directory is in <code class="highlighter-rouge">/opt/openhab</code>:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd</span> /opt/openhab
|
||
<span class="nb">sudo </span>sh <span class="nt">-c</span> <span class="s2">"</span><span class="k">$(</span>curl <span class="nt">-fsSL</span> https://raw.githubusercontent.com/openhab/openhab-distro/master/distributions/openhab/src/main/resources/bin/update<span class="k">)</span><span class="s2">"</span> <span class="nt">--</span> 2.1.0
|
||
</code></pre></div> </div>
|
||
</li>
|
||
</ul>
|
||
|
||
<h4 id="uninstall-1">Uninstall</h4>
|
||
|
||
<p>To uninstall (or more precisely remove) openHAB 2 after being manually set up, take a backup if needed and then simply stop and deactivate the openHAB service and get rid of all files:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>systemctl stop openhab2.service
|
||
<span class="nb">sudo </span>systemctl disable openhab2.service
|
||
<span class="nb">sudo </span>rm <span class="nt">-rf</span> /opt/openhab2/
|
||
<span class="nb">sudo </span>rm /lib/systemd/system/openhab2.service
|
||
</code></pre></div></div>
|
||
|
||
<h3 id="file-locations">File Locations</h3>
|
||
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th style="text-align: center"> </th>
|
||
<th style="text-align: left">Repository Installation</th>
|
||
<th style="text-align: left">Manual Installation (according to <a href="#manual-installation">guide</a>)</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td style="text-align: center">openHAB application</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/usr/share/openhab2</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Additional add-on files</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/usr/share/openhab2/addons</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/addons</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Site configuration</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/etc/openhab2</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/conf</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Log files</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/var/log/openhab2</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/userdata/logs</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Userdata like rrd4j databases</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/var/lib/openhab2</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/userdata</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Backups folder</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/var/lib/openhab2/backups</code></td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/opt/openhab2/backups</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td style="text-align: center">Service configuration</td>
|
||
<td style="text-align: left"><code class="highlighter-rouge">/etc/default/openhab2</code></td>
|
||
<td style="text-align: left">(not preconfigured)</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<h2 id="backup-and-restore">Backup and Restore</h2>
|
||
|
||
<p>It is recommended to make a backup of your configuration before <em>any</em> major change.
|
||
To make a backup of openHAB2, you need to retain your configuration and userdata files.
|
||
openHAB comes with scripts for storing your configuration in a zip file which is saved in <code class="highlighter-rouge">/var/lib/openhab2/backups</code> for automatic installs and <code class="highlighter-rouge">openhab2/backups</code> for manual installs.
|
||
You can change the default path by setting the $OPENHAB_BACKUPS environment variable.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo</span> <span class="nv">$OPENHAB_RUNTIME</span>/bin/backup
|
||
<span class="c">## OR ##</span>
|
||
<span class="nb">sudo</span> <span class="nv">$OPENHAB_RUNTIME</span>/bin/backup /path/to/backups/folder/myBackup.zip
|
||
</code></pre></div></div>
|
||
|
||
<p>To restore from these generated files:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo</span> <span class="nv">$OPENHAB_RUNTIME</span>/bin/restore <span class="nv">$OPENHAB_BACKUPS</span>/myBackup.zip
|
||
</code></pre></div></div>
|
||
|
||
<p>If you’re unsure how to use the above files, just use <code class="highlighter-rouge">--help</code> or <code class="highlighter-rouge">-h</code>:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$OPENHAB_RUNTIME</span>/bin/backup <span class="nt">--help</span>
|
||
</code></pre></div></div>
|
||
|
||
<h2 id="viewing-log-messages">Viewing Log Messages</h2>
|
||
|
||
<p>You can learn more about openHAB and how it works by looking at your log files.
|
||
These will tell you everything you might need to know.
|
||
Execute the following command in one session or have both files separated in sessions side by side:</p>
|
||
|
||
<ul>
|
||
<li>
|
||
<p>Package repository based installation:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tail <span class="nt">-f</span> /var/log/openhab2/openhab.log <span class="nt">-f</span> /var/log/openhab2/events.log
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p>Manual installation:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tail <span class="nt">-f</span> /opt/openhab2/userdata/logs/openhab.log <span class="nt">-f</span> /opt/openhab2/userdata/logs/events.log
|
||
</code></pre></div> </div>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>You could even set up an SSH configuration (in Putty or similar) to automatically connect and execute the commands every time you start working on your setup.</p>
|
||
|
||
<p>With openHAB 2 you can also <a href="/v2.2/administration/logging.html#karaf-console">use the Karaf console</a> to have a colored glance at the logging information.</p>
|
||
|
||
<h2 id="recommended-additional-setup-steps">Recommended Additional Setup Steps</h2>
|
||
|
||
<p>The following is not directly related to the openHAB installation but rather recommended on a openHAB system.
|
||
The need for these and the exact implementation on a specific system might differ from user to user.</p>
|
||
|
||
<h3 id="privileges-for-common-peripherals">Privileges for Common Peripherals</h3>
|
||
|
||
<p>An openHAB setup will often rely on hardware like a modem, transceiver or adapter to interface with home automation hardware.
|
||
Examples are a Z-Wave, Enocean or RXFcom USB Stick or a Raspberry Pi add-on board connected to the serial port on its GPIOs.
|
||
In order to allow openHAB to communicate with additional peripherals, it has to be added to corresponding Linux groups.
|
||
The following example shows how to add Linux user <code class="highlighter-rouge">openhab</code> to the often needed groups <code class="highlighter-rouge">dialout</code> and <code class="highlighter-rouge">tty</code>.
|
||
Additional groups may be needed, depending on your hardware and software setup.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser openhab dialout
|
||
<span class="nb">sudo </span>adduser openhab tty
|
||
</code></pre></div></div>
|
||
|
||
<p>If you are looking to enable sound privileges for openHAB, it will also be necessary to add openHAB to the “audio” group.</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>adduser openhab audio
|
||
</code></pre></div></div>
|
||
|
||
<p>Additionally it’s needed to allow the java environment to access the serial port of the connected peripheral.
|
||
Therefore the following setting has to be added/adapted on your system in file <code class="highlighter-rouge">/etc/default/openhab2</code>:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">EXTRA_JAVA_OPTS</span><span class="o">=</span><span class="s2">"-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyS0:/dev/ttyS2:/dev/ttyACM0:/dev/ttyAMA0"</span>
|
||
</code></pre></div></div>
|
||
|
||
<p>The shown device handlers are just the most common examples.
|
||
Please contact the community forum for more detailed information regarding individual hardware.</p>
|
||
|
||
<h3 id="java-network-permissions">Java Network Permissions</h3>
|
||
|
||
<p>The Java Virtual Machine hosting openHAB is restricted in it’s permissions to interact on network level for security reasons.
|
||
Some openHAB add-ons, like the Network or AmazonDash bindings, need elevated permissions to work.
|
||
If needed, grand these permissions by executing the following command:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>setcap <span class="s1">'cap_net_raw,cap_net_admin=+eip cap_net_bind_service=+ep'</span> <span class="k">$(</span>realpath /usr/bin/java<span class="k">)</span>
|
||
</code></pre></div></div>
|
||
|
||
<h3 id="network-sharing">Network Sharing</h3>
|
||
|
||
<p>openHAB depends on configuration files and folders with custom content (details in <a href="/v2.2/configuration/index.html">Configuration</a> articles).
|
||
Because your openHAB installation most probably is stored on a remote device, being able to easily access and modify these files from your local PC or Mac is important.
|
||
Therefore setting up a <a href="https://en.wikipedia.org/wiki/Samba_%28software%29">Samba</a> network share is <strong>highly recommended</strong>.</p>
|
||
|
||
<p>The <a href="/v2.2/configuration/editors.html#eclipse-smarthome-designer">Eclipse SmartHome Designer</a> software does also depend on a mounted share to access the openHAB configuration files.</p>
|
||
|
||
<p>We will now guide you through the Samba network shares setup process.
|
||
Start by installing Samba.
|
||
Afterwards open it’s configuration file in your favorite editor:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt-get install samba samba-common-bin
|
||
<span class="nb">sudo </span>vim /etc/samba/smb.conf
|
||
</code></pre></div></div>
|
||
|
||
<p>Change the workgroup name if needed, otherwise uncomment and enable WINS support:</p>
|
||
|
||
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="err">wins</span> <span class="py">support</span> <span class="p">=</span> <span class="s">yes</span>
|
||
</code></pre></div></div>
|
||
|
||
<p>Next, add the desired share configurations to the end of the file:</p>
|
||
|
||
<!-- Note to author: Do not name share "openhab". Depending on the host system, a share for the home of user "openhab" will be created.-->
|
||
|
||
<!-- TODO: Limit to configuration folder??? -->
|
||
|
||
<ul>
|
||
<li>
|
||
<p>Package repository based installation:</p>
|
||
|
||
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[openHAB2-userdata]</span>
|
||
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2 userdata</span>
|
||
<span class="py">path</span><span class="p">=</span><span class="s">/var/lib/openhab2</span>
|
||
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
|
||
<span class="nn">[openHAB2-conf]</span>
|
||
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2 site configuration</span>
|
||
<span class="py">path</span><span class="p">=</span><span class="s">/etc/openhab2</span>
|
||
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
</code></pre></div> </div>
|
||
</li>
|
||
<li>
|
||
<p>Manual installation:</p>
|
||
|
||
<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[openHAB-files]</span>
|
||
<span class="py">comment</span><span class="p">=</span><span class="s">openHAB2</span>
|
||
<span class="py">path</span><span class="p">=</span><span class="s">/opt/openhab2</span>
|
||
<span class="py">browseable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="py">writeable</span><span class="p">=</span><span class="s">Yes</span>
|
||
<span class="err">only</span> <span class="py">guest</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="py">public</span><span class="p">=</span><span class="s">no</span>
|
||
<span class="err">create</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
<span class="err">directory</span> <span class="py">mask</span><span class="p">=</span><span class="s">0777</span>
|
||
</code></pre></div> </div>
|
||
</li>
|
||
</ul>
|
||
|
||
<p>Save and close the samba configuration file.</p>
|
||
|
||
<p>The shares are configured to be not open for guests nor to the public.
|
||
Let’s activate the “openhab” user as a samba user and set his password (e.g. “habopen”):</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>smbpasswd <span class="nt">-a</span> openhab
|
||
</code></pre></div></div>
|
||
|
||
<p>Be aware, that creating and later using a specific user will ensure, that <a href="#permissions">permissions</a> are honored.
|
||
Make sure, the “openhab” user has ownership and/or write access to the openHAB configuration files.
|
||
This can be accomplished by executing:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>chown <span class="nt">-hR</span> openhab:openhab /etc/openhab2 /opt/openhab2/conf
|
||
</code></pre></div></div>
|
||
|
||
<p>Finally check the configuration file for correctness and restart Samba to load the new settings:</p>
|
||
|
||
<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code>testparm
|
||
|
||
<span class="c"># Linux init systems based on sysVinit</span>
|
||
<span class="nb">sudo </span>service smbd restart
|
||
<span class="c"># Linux init systems based on systemd</span>
|
||
<span class="nb">sudo </span>systemctl restart smbd.service
|
||
</code></pre></div></div>
|
||
|
||
<h4 id="mounting-locally">Mounting Locally</h4>
|
||
|
||
<p>After setting up and restarting Samba, check your connection to the shared folder and create a permanent mount.
|
||
Check the network devices manager of your local operating system to find and access your openHAB host and share.
|
||
These might however not be auto-discovered.
|
||
You can also manually connect:</p>
|
||
|
||
<ul>
|
||
<li><strong>On Mac OS X:</strong> Open Finder → Go → Connect to Server: <code class="highlighter-rouge">smb://openhab@openhab-device.local</code></li>
|
||
<li><strong>On Windows:</strong> Open Windows Explorer → Address bar: <code class="highlighter-rouge">\\openhab-device.local</code> → Right click a share and assign a drive letter</li>
|
||
</ul>
|
||
|
||
<p>Be sure to use the actual host name instead of <code class="highlighter-rouge">openhab-device</code>.
|
||
When asked, authenticate with the username “openhab” and the chosen password.
|
||
If you are not able to connect, try with the IP of your device (e.g. <code class="highlighter-rouge">smb://openhab@192.168.0.2</code> or <code class="highlighter-rouge">\\192.168.0.2</code>).</p>
|
||
|
||
<p>If everything went well, you are set and ready to start <a href="/v2.2/configuration/index.html">configuring</a> your openHAB system.</p>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<footer>
|
||
<div class="container">
|
||
<div class="row">
|
||
<div class="col s12 m7">
|
||
Copyright © 2017 by the <a href="https://github.com/openhab">openHAB Community</a> and the <a href="http://www.openhabfoundation.org/">openHAB Foundation e.V.</a>
|
||
</div>
|
||
<div class="col s12 m5">
|
||
<ul class="list-inline right-align">
|
||
<li><a href="/imprint.html">Imprint</a></li>
|
||
<li><a href="/privacy.html">Privacy Policy</a></li>
|
||
<li><a href="http://www.openhab.org">openHAB Website</a></li>
|
||
<li><a href=# onclick="printPage()">Print This Page</a></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
<script src="/v2.2/js/jquery.min.js"></script>
|
||
<script src="/v2.2/js/jquery.scrollme.min.js"></script>
|
||
<script src="/v2.2/js/jquery.sticky.js"></script>
|
||
<script src="/v2.2/js/materialize.min.js"></script>
|
||
<script src="/v2.2/js/init.js"></script>
|
||
<script src="/v2.2/js/functions.js"></script>
|
||
</body>
|
||
</html>
|
||
|