Installatie openHAB server

  • Installatie van standaard Ubuntu server (bv 1710)

  • Rechten
    Standaard lokale gebruiker ingeven (bv beheerder), just in case!
    Koppelingen maken met LDAP server:

apt-get install freeipa-client

ipa-client-install --mkhomedir
      Domain: oniria.be
      Server: centra
      Beheerder: admin
  • Vast IP toekennen
    Vanaf Ubuntu 17.10 is dit anders!!!

vim /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets
enp2s0:
dhcp4: yes
addresses: [192.168.222.88/24]
gateway4: 192.168.222.254
nameservers:
search: [oniria.be]
addresses: [192.168.222.254,8.8.8.8]

netplan generate

netplan apply

  • Installatie van ssh (remote login)

apt install ssh

systemctl start ssh

systemctl enable ssh

  • installation of java/zulu

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0x219BD9C9

sudo apt-add-repository ‘deb http://repos.azulsystems.com/ubuntu stable main’

sudo apt-get update

sudo apt-get install zulu-8

  • Installatie van openHAB2

wget -qO - ‘JFrog Distribution: Get your software to where it needs to be -- ASAP!’ | apt-key add -

apt-get install apt-transport-https

echo ‘deb JFrog unstable main’ | sudo tee >

/etc/apt/sources.list.d/openhab2.list

apt-get update

apt-get install openhab2

/bin/systemctl daemon-reload

/bin/systemctl enable openhab2.service

/bin/systemctl start openhab2.service

Alternatief via docker?

docker pull openhab/openhab:2.1.0-amd64-debian

docker run -it --name openhab --net=host openhab/openhab:2.1.0-amd64-debian

  • Items
    Kopieer alle item-bestanden onder /etc/openhab2/items
    Deze bestanden bevatten alle afzonderlijke onderdelen zoals bv de schakelaar, stopcontacten, lampen, brandsensoren, temperatuursensoren…

  • Sitemaps
    Kopieer alle sitemaps-bestanden onder /etc/openhab2/sitemaps
    Deze bestanden bevatten de layout van de telefoon-/webapplicatie. Dus de gebouwen, ruimtes, schakelaars…

  • Rules
    Kopieer alle rules-bestanden onder /etc/openhab2/rules
    Deze bestanden zijn alle regeltjes die moeten gebeuren als bv een deur opengaat, er beweging gedetecteerd wordt…
    De speicalleks dus.

  • Scripts
    Kopieer alle scripts-bestanden onder /etc/openhab2/scripts
    Deze scripts zijn speciale systeemscripts. Bv de waterputstatus doorsturen naar de monitoringserver. De telefoon laten rinkelen via de telefoonserver als iemand aan de voordeur staat (combinatie van rule en script dus)…

  • Zwave installation
    ZWAVE wordt gebruikt voor domotica sensoren (brand, inbraak…)
    Installeer de zwave binding via paperUI

usermod -a -G dialout openhab
usermod -G tty openhab
chmod 666 /dev/ttyACM0
chmod 666 /dev/ttyACM1

Voeg de toestellen toe via de PaperUI

  • KNX-Binding
    KNX wordt gebruikt voor domotica knoppen (schakelaars, stopcontacten, lampen…)
    Installeer de binding via paperUI
    Kopieer het configuratiebestand knx.cfg onder /etc/onpenhab2/services

  • GoogleCalendar-Binding
    Google Calender wordt gebruikt voor tijdschema’s (bv aquarium, vijver…)
    Installeer de binding via paperUI
    Kopieer het configuratiebestand knx.cfg onder /etc/onpenhab2/services
    Kijk in het logbestand /var/log/openhab2/openhab.log naar een melding van de calender. De hierin vermelde code moet je eenmalig op de website ingeven die getoond wordt.

  • Bosch-Binding
    Bosch wordt gebruikt om de grasmachine te koppelen.
    Installeer de binding via paperUI
    Kopieer het configuratiebestand bosch.things onder /etc/onpenhab2/things

  • Pushover-Binding
    Pushover wordt gebruikt om de berichten te sturen de de gsm.
    Installeer de binding via paperUI
    Kopieer het configuratiebestand pushover.cfg onder /etc/onpenhab2/services

  • Network-Binding
    Network wordt gebruikt om de servers, telefoons, televisie te controleren op aan/uit.
    Installeer de binding via paperUI
    Kopieer het configuratiebestand knx.cfg onder /etc/onpenhab2/services
    Voeg de toestellen toe via de paperUI

  • Plex-Binding
    Plex is de mediaserverkoppeling
    Installeer de binding via paperUI
    Kopieer het configuratiebestand plcex.cfg onder /etc/onpenhab2/services

  • Zoneminder-Binding
    Zoneminder is de videobewakingsservers
    Installeer de binding via paperUI
    Voeg de server (en vervolgens camera’s) toe via de PaperUI

  • NGINX
    Dit wordt gebruikt om ‘veilige’ toegang te hebben van buiten:

apt install nginx

apt install apache2-utils

htpasswd -c /etc/nginx/.htpasswd username

vim /etc/nginx/sites-available/default
server {
listen 80;
server_name mydomain_or_myip;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
auth_basic “Inloggen vereist!”;
auth_basic_user_file /etc/nginx/.htpasswd;
satisfy any;
allow 192.168.111.0/24;
allow 192.168.222.0/24;
allow 127.0.0.1;
deny all;
}
}

systemctl restart nginx

systemctl enable nginx

  • sshpass (wachtwoord in ssh scripts)
    Voor het uitvoeren van commando’s op andere servers

apt install sshpass

Het scriptje die de waterputstatus doorstuurt naar cacti werkt niet indien de ssh-key niet klopt. Om dit te doen:
sudo -u openhab ssh root@monitare

  • login banner

apt install figlet

copy custom_motd.sh naar /scripts/. (zie attachment)
custom_motd_2017-10-26.zip (1.2 KB)

ln -s /scripts/custom_motd.sh /etc/update-motd.d/05-custom

rm /etc/update-motd.d/00-header

*Nog te beschrijven?

  1. Monitoring
  2. Backup
  3. Ansible?
  4. Migratie?

Om in te loggen via de karaf-console, gebruik volgend commando op de server zelf.

ssh openhab@localhost -p8101

Interessante commando’s
Pacakages

 bundle:biking_man:
  feature:install openhab-transport-serial
 bundle:start org.openhab.binding.zwave
 bundle:status org.openhab.binding.zwave

Log

 log:tail
 log:tail -n 20
 log:set DEBUG org.openhab.binding.zwave
 log:tail org.openhab.binding.zwave

Installeren KNX USB convertor

wget http://michlstechblog.info/blog/download/electronic/install_knxd_systemd.sh
chmod +x ./install_knxd_systemd.sh
./install_knxd_systemd.sh
ps ax|grep knxd

Configuration bestand in: /etc/default/knxd

IP ADRES WIJZIGEN ???

Check voor aansluiting met

findknxusb

Sniffen op de bus?

knxtool vbusmonitor1 ip:localhost

Luisteren op de bus?

knxtool groupsocketlisten ip:localhost

Aan/uit?

knxtool groupswrite ip:localhost 7/0/0 1

knx.cfg

ip=224.0.23.12
ignorelocalevents=true
type=TUNNEL
port=3671
localIp=192.168.1.10

Adres toevoegen in eth?

[Match]
	Name=eth0
[Network]
	Address=192.168.1.10/24
	Gateway=192.168.1.1
	DNS=192.168.1.1
[Route]
	#Route for Multicast Address EIB/KNX
	Destination=224.0.23.12/32