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 bringt dann auch eine gewisse Übersicht über die ggf. vielen Bindings die man nutzt.
d) Aus dem Verzeichnis /var/lib/openhab/config/org/openhab/addons.config sollte die Datei addons.cfg gesichert bzw. 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
In meinem Fall nutze ich für die Langzeitspeicherung die Maria DB als persistence. rrd4 ist nur für Daten die ich nicht "ewig" speichern möchte.
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
Hier mal ein Stand (März 2023) http://www.berhorst.net/files/openhab-text-install.tgz den Ihr als Grundlage nutzen könnt.
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
g
it -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.listapt-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
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