Projekt 23 Smarthome / openHAB

Aus c3RE.de
Wechseln zu: Navigation, Suche

Diese Seite gehört zum Kontext Projekt 23 Smarthome und beschreibt den openHAB-Server, welcher die eigentlich smarte Komponente der heimischen Infrastruktur bildet.

<ToDo>

Installation

Wie schon auf der Startseite dieses Projektes beschrieben, gelten die folgenden Rahmenbedingungen für diesen Server:

  • OS: CentOS 7
  • Hardware: PC-Engines APU 1D4
  • JRE: OpenJDK Runtime Environment (build 1.8.0_121-b13)

Weil es sich bei openHAB um ein gut dokumentiertes Projekt handelt, sollen an dieser Stelle lediglich die projektspezifischen Eigenheiten hervorgehoben werden.

Es wird ein nicht-priveligierter User angelegt, mit dessen Berechtigungen der Dienst ausgeführt wird:

[root@j8 ~]# adduser --system --no-create-home --shell /sbin/nologin openhab

Installation nach Anleitung:

cd /tmp
wget -O openhab-download.zip https://bintray.com/openhab/mvn/download_file?file_path=org%2Fopenhab%2Fdistro%2Fopenhab%2F2.0.0.RC1%2Fopenhab-2.0.0.RC1.zip
sudo unzip openhab-download.zip -d /opt/openhab2
rm openhab-download.zip

Beim ersten Start dauert es eine knappe Minute unter Volllast des Systems, bis die System-Konsole namens Karaf erscheint:

[root@j8 tmp]# su -s /bin/bash -c '/opt/openhab2/start.sh' openhab
Launching the openHAB runtime...

                          __  _____    ____      
  ____  ____  ___  ____  / / / /   |  / __ )     
 / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __  | 
/ /_/ / /_/ /  __/ / / / __  / ___ |/ /_/ /      
\____/ .___/\___/_/ /_/_/ /_/_/  |_/_____/     
    /_/                        2.0.0
                               Release Build   

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB.

openhab> logout

[root@j8 tmp]# 

Dabei bietet Karaf die Laufzeitumgebung (den Container) und dessen Konsole ist lediglich für die Administration gedacht. Neben der Konsole wird auch ein Webserver (jetty) gestartet, welcher per Default http auf Port 8080 als User-Interface für die Anwender über den Browser zugänglich anbietet.

systemd

Ebenfalls nach Anleitung wird die Konfiguration für systemd für den automatischen Start des Dienstes erstellt:

[root@j8 ]# cat /lib/systemd/system/openhab2.service
[Unit]
Description=The openHAB 2 Home Automation Bus Solution
Documentation=http://docs.openhab.org
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=openhab
Group=openhab
GuessMainPID=yes
WorkingDirectory=/opt/openhab2
#EnvironmentFile=/etc/default/openhab2
ExecStart=/opt/openhab2/start.sh server
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

Den Dienst für den automatischen Start vorsehen:

[root@j8 ]# systemctl enable openhab2.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openhab2.service to /usr/lib/systemd/system/openhab2.service.

Start des Dientes:

[root@j8 ]# systemctl start openhab2.service

Links