masterinstaller - automatic openhab installation

Openhab automatic setup via textual configuration

Dieses Script bzw. dieser Ansatz soll eine einfache und automatisierte Installation für openhab ermöglichen. Das dann ohne immer wieder das Betriebssystem auf einer PI neu installieren zu müssen. Idee dahinter war ursprünglich eine schnelle und effektive Installation einer Testumgebung. Um eine Testumgebung bereit zu stellen, müssen natürlich die Daten der „produktiven“ Installation übernommen werden (backup).  

Vorbereitung der Umgebung

Damit ein Einlesen und späte die automatische Installation möglich ist, müssen einige Regeln beachtet werden.

a) Jedes .item und jedes .things file hat den Namen z.b. des Binding (der Name ist aber beliebig).

b) Je Binding gibt es einen Ordner mit den Namen „binding-<name>“

c) In den Ordner der jeweiligen Bindings gibt es eine install.bash und eine backup.bash Datei. Dort müssen die Namen der zugehörigen Dateien angegeben werden. Um Ordnung zu schaffen, sollten alle Dateien mit den Namen des Bindings Anfangen. Das bring dann auch eine gewisse Übersicht über die ggf. Vielen Bindings die man nutzt. 

d) Aus dem Verzeichnis /var/lib/openhab/config/org/openhab/addons.cfg sollte die Datei addons.cfg in das Verzeichnis "config" abgelegt werden. Die Datei sieht z.B. so aus:

binding=astro,squeezebox,tr064,avmfritz,modbus,lcn,comfoair,mail,mqtt,network
misc=package=standard
persistence=jdbc-mariadb,rrd4j
service.pid=org.openhab.addons
transformation=xslt,xpath,scale,regex,map,jsonpath,exec,javascript
ui=basic,habpanel,habmin

e) Analog zur addons.cfg, kann auch die runtime.cfg als Default verteilt werden. Dazu diese auch in das config Verzeichnis ablegen.

f) Auch die Einstellungen für Pages etc. in openhab 3 können "übertragen" werden. Das ist jedoch explizite nicht von openhab supported! Ich habe es getestet und bislang geht es.
Dazu nehmen wir aus dem Ordner /var/lib/openhab/jsondb die Datei uicomponents_ui_page.json mit und packen diese in den Ordner config.

e) Auch die Einstellungen für "habmin" in openhab 3 können "übertragen" werden. Auch das ist nicht von openhab supported! Ich habe es getestet und bislang geht es.
Dazu nehmen wir aus dem Ordner /var/lib/openhab/jsondb die Datei uicomponents_habpanel_panelconfig.json mit und packen diese in den Ordner config.

g) In der Installation wird als persistenz mit MariaDB bzw RRD4 gearbeitet. Dazu wird ein Datenbank mit dem Namen "openhab3" verwendet. Diese kann mit inst-db installiert werden. 

masterinstaller (1-setup.bash)

Diese Datei ist das primäre Script, welches gestartet wird. Ohne Angabe von Parametern, wird nur die Hilfe ausgegeben.

Am besten setzt man über die /etc/profile die beiden folgenden Variablen:

export OPENHAB_SETUP_CONF=/etc/openhab
export OPENHAB_SETUP_SOURCE=/data/install/openhab

Das Verzeichnis "OPENHAB_SETUP_SOURCE" ist das Verzeichnis, wo das Script selbst und die andern Daten "binding-..." usw. liegen.

 

 

openhab installation step by step

Auf diesen Seiten habe ich ja einiges über Smarthome abgelegt. Ein wesentliches Element dabei ist die Openhab Lösung. An Openhab habe ich mich über die Jahre herangearbeitet und Schritt für Schritt erweitert. Angefangen mit 1.8 als Installation auf einer PI 2. Zuletzt hab ich mir von openhab.org die "openhabian" Installation genommen als Basis.

Die ersten Gehversuche waren "zu Fuß". Für die Installation von Openhab hab ich mir daher eine List angelegt, die alle relevanten Schritte enthält, welche für mich relevant sind. 

Sicherstellen das Wireless Power Off ist bei einer PI3. Dazu die folgende Seite beachten:

https://www.kuerbis.org/2016/03/raspberry-pi-3-kurztipps-wlan-sleep-mode-verhindern/

apt-get update

apt-get install raspi-config

raspi-config

reboot

apt-get install firmware-brcm80211 iw crda wireless-regdb -y

apt-get install wireless-tools wpasupplicant -y

apt-get install sudo curl binutils

git -y wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update

rpi-update

apt-get update -y
apt-get upgrade -y
apt-get install git -y

wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
rpi-update

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update

apt-get install oracle-java7-installer -y
apt-get install wget -y
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | apt-key add -
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" > /etc/apt/sources.list.d/openhab.list
apt-get update
apt-get install openhab-runtime
systemctl start openhab
systemctl enable openhab

apt-get install openhab-addon-persistence-mysql
apt-get install openhab-addon-binding-lcn
apt-get install openhab-addon-binding-ntp
apt-get update && apt-get upgrade
apt-get install mysql-server
apt-get install phpmyadmin

VIM einrichten (siehe auch https://github.com/cyberkov/openhab-vim)
apt-get install vim

Dann noch die Datei ~/.vimrc pflegen ( http://alvinalexander.com/linux/vi-vim-editor-color-scheme-colorscheme )

colorscheme evening
syntax on

Datenbank
Dann noch die mysql Datenbank einrichten. Das genau so wie hier beschrieben:

https://community.openhab.org/t/openhab2-mysql-persistence-setup/15829

## configure Database mariaDB

apt-get install mariadb-server phpmyadmin

mysql -u root -p

# Weil es mal Probleme mit den Zeiten gab,
# hab ich die Serverzeit auf UTC gesetzt.
# Openhab wird "intern" auf Europe/Berlin gesetzt

ln -sf /usr/share/zoneinfo/Etc/UTC  /etc/localtime

#################################

# MySQL DB setup

# create the database automatically

mysql -u root -p << 'EndOfDBCreate'

CREATE DATABASE openhab;

CREATE USER 'openhab'@'localhost' IDENTIFIED BY 'openhab';

GRANT ALL PRIVILEGES ON openhab.* TO 'openhab'@'localhost';

FLUSH PRIVILEGES;

quit

EndOfDBCreate

 FritzBox Binding 7490
https://www.computer-kern.de/openhab-tr-064-bindung-fuer-die-fritzbox/

 

Weitere hilfreiche Links

https://klenzel.de/3094

mysql Installieren und dann:
https://daynet236.wordpress.com/2015/09/08/openhab-mysql-persistence/
https://www.computer-kern.de/mysql-datenbankanbindung-fuer-openhab/

Beispiel

http://www.instructables.com/id/OpenHAB-on-Raspberry-Pi/

LCN Anbindung

https://github.com/openhab/openhab/wiki/LCN-Binding

Openhab

https://www.kompf.de  - Stromzähler mit Bilderkennung

Zehnder

http://www.see-solutions.de/sonstiges/Protokollbeschreibung_ComfoAir.pdf

http://www.intranet-der-dinge.de/smarthome/haus/lueftung

https://baublog.jensschanz.de/2015/10/06/comfoair-350-im-smarthome-mit-fhem/

https://github.com/openhab/openhab/wiki/Comfo-Air-Binding

https://forum.fhem.de/index.php?topic=23373.15

Gutes Beispiel für die Anbindung:

https://knx-user-forum.de/forum/supportforen/openhab/28713-zehnder-comfoair-binding


 

Joomla templates by a4joomla