##Introduction Basicly a step by step plan to install OpenHAB 1.7.1 on a Intel NUC using the following bindings. The content is mostly copy&paste from the OpenHAB wiki:
- https://github.com/openhab/openhab/wiki/Linux---OS-X (for basis installation)
- https://community.openhab.org/t/dashboard-ui-suitable-for-tablets/2329 (for the dashboard part)
I used to run OpenHAB 1.x on Windows, because of other services, but Ubuntu should work fine. I've picked the LTS version for stability.
- Download Ubuntu 14.04 LTS 64bit: http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-server-amd64.iso
- Download Rufus: https://rufus.akeo.ie/downloads/rufus-2.2p.exe
- Create bootable USB using Rufus and the ISO file.
Install Ubuntu LTS
Pick the following options:
- OpenSSH server (To administrate the server using PuTTY)
- Samba Fileserver (To get access to the OpenHAB config files from Windows)
If you want to use wifi
sudo nano /etc/network/interfaces
and write:
auto wlan0
iface wlan0 inet dhcp
wpa-ssid <ssid>
wpa-psk <password>
and reboot
reboot
###Java We need Java 8, which is not included in Ubuntu 14.04 LTS, so we add a repository and install it.
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
###MySQL for persistence
sudo apt-get install mysql-server
Start the Mysql commandline as root
mysql -u root -p
Create a database for OpenHAB
CREATE DATABASE OpenHAB;
Create a user for OpenHAB
CREATE USER 'openhab'@'localhost' IDENTIFIED BY 'yourpassword';
Grant the user permissions for the database
GRANT ALL PRIVILEGES ON OpenHAB.* TO 'openhab'@'localhost';
Quit the Mysql command prompt
quit
###Mosquitto as MQTT broker
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto
####Setup TLS on Mosquitto (optional) copy the SSL CA to /etc/mosquitto/ca-certificates copy the SSL certificate and private key (.crt and .key) to /etc/mosquitto/certs
Protect your SSL certificate
cd /etc/mosquitto/certs
sudo chmod 600 *
sudo chown mosquitto *
Configure TLS
sudo nano /etc/mosquitto/conf.d/tls.conf
Add the following
listener 8883
tls_version tlsv1
cafile /etc/mosquitto/ca-certificate/ca.crt
certfile /etc/mosquitto/certs/server.crt
keyfile /etc/mosquitto/certs/server.key
require_certificate false
Restart Mosquitto (check how, /etc/init.d/mosquitto restart doesn't work)
####Portforward Make sure you portforwarded the default mosquitto port 8883 (or 1883) to your server!
###Configure the repository
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add -
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
###Install the runtime
sudo apt-get install openhab-runtime
sudo apt-get install openhab-addon-binding-astro
sudo apt-get install openhab-addon-binding-dsmr
sudo apt-get install openhab-addon-binding-http
sudo apt-get install openhab-addon-binding-hue
sudo apt-get install openhab-addon-binding-mqtt
sudo apt-get install openhab-addon-binding-mqttitude
sudo apt-get install openhab-addon-binding-netatmo
sudo apt-get install openhab-addon-binding-networkhealth
sudo apt-get install openhab-addon-binding-plex
sudo apt-get install openhab-addon-binding-samsungtv
sudo apt-get install openhab-addon-binding-sonos
sudo apt-get install openhab-addon-binding-wol
sudo apt-get install openhab-addon-binding-xbmc
sudo apt-get install openhab-addon-binding-zwave
sudo apt-get install openhab-addon-io-myopenhab
sudo apt-get install openhab-addon-persistence-mysql
cd /etc/openhab/configurations/
sudo cp openhab_default.cfg openhab.cfg
- Set security option external, for my.openhab
- Set default persistince to mysql
- Set mysql server, username and password
- Set MQTT Transport
- Set HTTP Binding cache items for weather and the 2 solar inverters
- Set Philips Hue ip and secret
- Set Sonos UDN
- Set Samsung TV host
- Set Z-Wave port
- Set netatmo clientid, clientsecret and refreshtoken
- Set astro binding latitude and longitude !!
- Set plex host
- Set DSMR port and gas channel
I copied my existing items, sitemaps and rules from https://github.com/SierraNL/openhab
###symlink com ports for Zwave and DSMR
sudo nano /etc/udev/rules.d/50-usb-serial.rules
And add for the Aeotec Z-Stick II
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{product}=="CP2102 USB to UART Bridge Controller", SYMLINK+="usb_zwave", GROUP="dialout", MODE="0666"
And for the DSMR cable
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{product}=="FT232R USB UART", SYMLINK+="usb_dsmr", GROUP="dialout", MODE="0666"
Add the symlinks to the Java args
sudo nano /etc/init.d/openhab
Look file the lines starting with -D and add one
-Dgnu.io.rxtx.SerialPorts=/dev/usb_dsmr:/dev/usb_zwave
###Get a certificate for Netatmo
wget https://www.startssl.com/certs/ca.pem
sudo keytool -import -keystore /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts -alias StartCom-Root-CA -file ca.pem
Type changeit if asked for a password Type y to trust the certificate
###Set autostart
sudo update-rc.d openhab defaults
##Share the configuration using Samba
sudo nano /etc/samba/smb.conf
Go to the bottom of the file and add
[OpenHAB]
comment = OpenHAB Configuration
path = /etc/openhab/configurations
browseable = yes
writeable = yes
guest ok = no
create mask = 0777
directory mask = 0777
Restart Samba
sudo /etc/init.d/samba restart
Change permissions on the OpenHAB config to 777
cd /etc/openhab
sudo chmod -R 777 configurations/
Now you can go to your NUC using \nameofyournuc\OpenHAB from your Windows machine (use your Ubuntu credentials) and edit the configuration files. Use Notepad++ since most files have Unix linefeeds
##Dashing dashboard
It runs on ruby and requires make, so we need to install that
sudo apt-get install ruby
sudo apt-get install ruby-dev
sudo apt-get install build-essential
sudo apt-get install bundler
sudo gem install dashing
###Todo figure out how to call Openhab from dashing, using websockets.
##Want to haves
- SNMP to get and graph internet traffic
- Nefit Easy integration, protocol is xmpp, but encrypted
- XBox One integration
- Chromecast: https://github.com/ibaton/Chromecast-Openhab-Binding
- A nice dashboard to show on a wall mounted tablet