openHAB in 2 Schritten auf einer DiskStation installieren

Collage: Internet-of-Things.blog mit Bildern von openhab.org und synology.com

Wer in die Hausautomatisierung einsteigen will und dafür ein passendes Serversystem sucht, sollte sich die DiskStation von Synology anschauen. In diesem Artikel erfährst Du, wie Du ganz unkompliziert in die Welt des Smart Home einsteigen kannst: mit openHAB auf einer DiskStation. 

Gegenüber den üblichen Verdächtigen bei der Hardware wie z.B. Raspberry PI bietet eine DiskStation einige Vorteile: echte Festplatten, bei Bedarf mit Redundanz, höhere Leistung und so die Möglichkeit weitere Dienste darauf laufen zu lassen und zB auch Backups von anderen Computern darauf zu speichern. Klar ist eine DiskStation etwas teurer als ein PI, aber durch den Zusatznutzen und höhere Zuverlässigkeit relativiert sich das wieder. Für alle, die bereits eine DiskStation haben, bietet es sich sowieso an, die Software zur Hausautomatisierung darauf zu installieren.

Bitte beachten: ältere Diskstation-Modelle haben ggf keine Floating Point Unit (FPU). Oracle bietet kein Java-Paket für Prozessoren ohne FPU an, daher funktioniert die Installation nur bei Modellen mit FPU. Ob deine Diskstation eine FPU hat oder nicht kannst Du in der Liste von Synology nachschlagen.

Ein fertiges Paket - Komfort mit Nachteilen

Ein Weg, openHAB auf die DiskStation zu bekommen, ist das vorgefertigte openHAB Paket zu nutzen. Das hat einen entscheidenden Vorteil: es geht extrem einfach. Es hat aber auch drei Nachteile:

  • Du bist später weniger flexibel, was die Einrichtung / Konfiguration von openHAB angeht
  • Du musst Dir zusätzliche Gedanken machen wie Du die weitere Software für die Hausautomatisierung zum Laufen bekommst (mit openHAB alleine ist es meist nicht getan) und
  • zumindest auf meiner DiskStation waren die Startzeiten und die Performance von openHAB deutlich schlechter bei dem vorgefertigten Paket verglichen mit der Methode, die ich Dir im folgenden zeige

openHAB in 2 Schritten aufsetzen

Auf der DiskStation läuft als Betriebssystem DSM, was letzendlich ein Linux ist. Das machen wir uns zu nutze und installieren mit Linux-Mitteln openHAB wie folgt:

  1. zusätzlich zum DSM bringen wir Debian Linux auf die DiskStation
  2. wir installieren openHAB in die Debian-Umgebung

Vorteile: wir können unter Debian Linux beliebige weitere Programme installieren, die uns nützlich sind. Und wir können openHAB genau so einrichten, wie wir es brauchen. Los geht's.

Debian auf die DiskStation bringen

Es gibt von der SynoCommunity ein tolles Paket, das uns ein aktuelles Debian sozusagen als Ergänzungssystem zum DSM installiert (in eine sogenannte chroot-Umgebung):

  1. Gehe in der DSM Weboberfläche in das Paketzentrum und klicke dort Einstellungen und wähle den Reiter Paketquellen
  2. Füge eine neue Paketquelle hinzu mit dem Namen SynoCommunity und dem Ort http://packages.synocommunity.com/
  3. Jetzt findest Du im Paketzentrum das Debian Chroot Paket, was Du mit einem Klick installierst

Ab jetzt geht es in der Linux Kommandozeile weiter, dazu logge Dich per ssh auf Deiner DiskStation ein (wenn Du das noch nie gemacht hast, keine Angst, hier gibt es eine kurze Anleitung und Empfehlungen für Mac und Windows). Bitte beachte: du musst Dich zunächst als admin einloggen, mit Deinem Administratorpasswort. Dann wechselst Du zum Benutzer root, der das gleiche Passwort hat, mit folgendem Befehl:

Internet-of-Things.blog

  • sudo su -

Nun wechselst Du in die Debian-Umgebung der DiskStation mit:

Internet-of-Things.blog

  • /var/packages/debian-chroot/scripts/start-stop-status chroot

Als erstes bringen wir unser Debian auf den neuesten Stand: Informationen über Software-Pakete aktualisieren und dann damit die Software-Pakete selbst aktualisieren:

Internet-of-Things.blog

  • apt-get update
  • apt-get upgrade

Wir setzen die Einstellungen zu unserer Region mit

Internet-of-Things.blog

  • apt-get install debconf
  • apt-get install locales
  • dpkg-reconfigure locales

Wenn Du bei der Auswahl unsicher bist, wähle die UTF8-Variante für Deine Sprache. Damit haben wir grundsätzlich Debian auf der DiskStation am Laufen. Natürlich kannst Du im Debian noch mehr einrichten, was zwar für openHAB im Moment nicht nötig ist, aber wenn es Dich interessiert schau in Mark's Blog (englisch).

Damit ist unser Basissystem bereit und wir kommen zu unserem eigentlichen Ziel: openHAB.

openHAB unter Debian installieren

Um openHAB laufen zu lassen, benötigen wir Java. Dazu ergänzen wir in unserem Debian die Paketquellen, aus denen Java installiert werden soll:

Internet-of-Things.blog

  • echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
  • echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
  • apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886

Nun können wir ganz einfach Java installieren:

Internet-of-Things.blog

  • apt-get update
  • apt-get install oracle-java8-installer
  • apt-get install oracle-java8-set-default

Wenn das durchgelaufen ist prüfen wir kurz, dass Java funktioniert:

Internet-of-Things.blog

  • java -version

Wenn alles gut gegangen ist, bekommen wir eine Ausgabe ähnlich dieser hier:

Internet-of-Things.blog

java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) Client VM (build 25.121-b13, mixed mode)

Nach dem gleichen Muster installieren wir nun openHAB. Erst Paketquellen hinzufügen und dann das openHAB Debian-Paket installieren:

Internet-of-Things.blog

  • wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | apt-key add -
  • echo 'deb http://dl.bintray.com/openhab/apt-repo2 stable main' | tee /etc/apt/sources.list.d/openhab2.list
  • apt-get update
  • apt-get install openhab2

Wenn Du dann später Erweiterungen für OpenHAB für Deine speziellen Smart Home Geräte installierst, werden die nach Bedarf auf dem Internet heruntergeladen. Willst Du Dein System später vom Internet trennen, installiere jetzt alle Erweiterungen (wenn nicht, überspringe diesen Schritt):

Internet-of-Things.blog

  • apt-get install openhab2-addons

Nun können wir openHAB starten:

Internet-of-Things.blog

  • service openhab2 start

[ ok ] Starting openHAB2 server: openhab2.

Der erste Start kann eine Weile dauern, auch mal ein paar Minuten. Wie Du openHAB automatisch startest, wenn die DiskStation neu startet oder openHAB mal beendet wurde, zeige ich Dir in einem anderen Artikel. Dass openHAB nun läuft prüfen wir im Browser und gehen auf http://<IP-Adresse-der-DiskStation >:8080 also z.B. http://192.168.172.50:8080 oder wenn die DiskStation über einen Namen in unserem Heimnetz erreichbar ist mit http://diskstation:8080. Dann sollten wir folgendes sehen:

openHAB Setup (Bildquelle: Internet-of-Things.blog)

Jetzt wähle noch aus, wie Du openHAB einrichten möchtest. Ich empfehle die Wahl einer der folgenden Varianten (wenn Du unsicher bist, wähle Standard, damit machst Du nichts falsch):

Standard - das ist die für die meisten Benutzer empfohlene Version. Sie enthält

  • Paper UI für die Systemverwaltung, einschließlich Verwaltung von Geräten
  • Basic UIals neue moderne Benutzeroberfläche für mobile Geräte
  • HABPanel als Dashboard für (z. B. an der Wand montierte) Tablets

Zusätzliche Erweiterungen können über Paper UI oder direkt durch die Definition in addons.cfg installiert werden.

Expert - alle die vorher openHAB 1.x verwendet haben oder alle die sich als Power User verstehen, solltest diese Version wählen. Damit bekommst Du

  • alles was das Standard Paket enthält
  • Classic UI die Web-Oberfläche von openHAB 1.x
  • HABmin eine mächtige Administrationsoberfläche, vor allem auch für Z-Wave Nutzer
  • Interaktive REST API mit der die REST Funktionen ausprobiert werden können
  • alle Transformationen so wie sie auch in openHAB 1.x waren

Das war's!

openHAB Startseite (Bildquelle: Internet-of-Things.blog)

Hast Du Dich auch wie ich für Standard entschieden, siehst Du nach kurzer Zeit die Startseite von openHAB. Wie Du dann openHAP automatisch auf der DiskStation startest z.B. nach einem Neustart der DiskStation oder wenn openHAB versehentlich beendet wurde, zeige ich Dir in einem anderen Artikel.

(Visited 3.818 times, 9 visits today)

Nichts mehr verpassen?

Abonniere unseren Newsletter und Du verpasst keinen Artikel mehr. Versprochen!

*Pflichtfeld

Über René Auberger 12 Artikel
René ist IT Architekt für Internet of Things, Industrie 4.0, Analytics und Cognitive Computing. In seiner Freizeit macht er Schritt für Schritt sein Haus smarter. 2017 hat René das Internet-of-Things.blog gegründet. Er schreibt auch regelmäßig auf Twitter. Zu Renés kompletten Profil...

17 Kommentare

  1. Hallo,
    bekomme nach Absetzen des Befehles: apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys EEA14886
    folgende Fehlermeldung: gpg: conflicting commands
    Nach apt-get update folgende Rückmeldungen
    W: GPG error: http://ppa.launchpad.net xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C2518248EEA14886
    W: Failed to fetch http://ppa.launchpad.net/webupd8team/java/ubuntu/dists/xenial/main/binary-armel/Packages 404 Not Found

    E: Some index files failed to download. They have been ignored, or old ones used instead.
    Was kann ich tun? Bin nicht so der Linux'er.
    Danke

    • Hallo René,
      erstmal danke für die Hilfe. Nachdem ich meine DS212+ neu gestartet habe und nochmal von vorne begonnen habe, bin ich mit der Installation des Debian durch. Jetzt ahb ich ein Problem bei der Java-Installation. Als Antwort auf den Befehl:
      apt-key adv -keyserver hkp://keyserver.ubuntu.com:80 -recv-keys EEA14886
      erhalte ich folgendes:
      Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.qgqhrwxw7d --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-security-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-stretch-stable.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg -keyserver hkp://keyserver.ubuntu.com:80 -recv-keys EEA14886
      gpg: conflicting commands
      wenn ich trotzdem weitergehe nach apt-get update und
      apt-get install oracle-java8-installer
      erscheint:
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      E: Unable to locate package oracle-java8-installer

      Aber dir ist das sicher klar. Mir nicht. Bin zu dumm. 🙁

      Kannst du noch mal helfen?
      Übrigens, Einen Guten Rutsch ins neue Jahr

      • Hallo Rainer,
        der Aufruf muss eigentlich mit jeweils zwei -- sein, da hat es WordPress gut gemeint und die zwei Bindestriche durch einen Gedankenstrich ersezt, ist nur leider im Code dann falsch. Richtig muss es so aussehen:
        apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
        Ich schaue noch, dass das im Artikel wieder richtig angezeigt wird.

        Deine DS212+ hat einen Prozessor ohne Floating Point Unit, dafür stellt Oracle keine Java-Pakete zur Verfügung. Daher kann vermutllich auch der Installer nicht gefunden werden. Das werde ich als Hinweis auch noch im Artikel ergänzen, war mir bisher auch nicht bewusst.

  2. Hallo Rainer,

    Deine Anleitung konnte ich auf einer DS216+II mit DSM 6.1.4 (aktuellste Version) umsetzen bis zur Java-Installation.
    Allerdings gelingt es mir nicht openhab2.2 zu installieren.
    Der Befehl "wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | apt-key add -"
    führt zur Fehlermeldung "gpg: no valid OpenPGP data found."
    Hast Du eine Lösung für mich ?

    Herzlichen Dank und beste Grüße

    Wolfgang

  3. Hallo René
    Das Debian Chroot Paket ist installiert lässt sich aber nicht starten.
    Läuft auf einer DS3615xs mit DSM 6.1.4-15217 Update 5.
    Hast Du eine Lösung für mich ?
    Vielen Dank

  4. Hallo Rene,
    auf der DS216play habe ich Debian und Java installiert.
    ich komme bis zum Punkt: wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | apt-key add -
    Hier kommt nun die Fehlermeldung: no valid OpenPGP data found.
    Ohne den Schalter -q0 bekomme ich zusätzlich die Meldung: Error: The certifcate of 'bintray.com' is not trusted
    Error: The certifcate of 'bintray.com' hasn't got a known issuer.
    Dann gibt es bei apt-get update eine Zeile: Err http://dl.bintray.com stable/main armhf Packages 405 not Allowed
    sowie zum Schluss: W: Failed to fetch http://dl.bintray.com/openhab/apt-repo2/dists/stable/main/binary-armhf/Packages 405 Not Allowed
    E: Some Index files failed to download. They have been ignored, or old ones used instead.

    Was kann ich Tun?

    • Hallo Ralf,
      evtl ein temporäres Problem mit dem Server? Ich habe es eben bei mir auf der DS414 nochmal probiert und es geht:
      root@DiskStation:~# wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | apt-key add -
      OK

      Und apt-get update läuft bei mir auch einwandfrei durch.

  5. Hallo René

    ich bekomme Java ums verrecken nicht installiert:

    root@******:/# apt-get install oracle-java8-installer Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    gsfonts gsfonts-x11 oracle-java8-set-default x11-common xfonts-encodings
    xfonts-utils
    Suggested packages:
    binfmt-support visualvm ttf-baekmuk ttf-unfonts ttf-unfonts-core
    ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho
    ttf-arphic-uming firefox firefox-2 iceweasel mozilla-firefox iceape-browser
    mozilla-browser epiphany-gecko epiphany-webkit epiphany-browser galeon
    midbrowser moblin-web-browser xulrunner xulrunner-1.9 konqueror
    chromium-browser midori google-chrome
    The following NEW packages will be installed:
    gsfonts gsfonts-x11 oracle-java8-installer oracle-java8-set-default
    x11-common xfonts-encodings xfonts-utils
    0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
    Need to get 0 B/4,344 kB of archives.
    After this operation, 6,479 kB of additional disk space will be used.
    Do you want to continue? [Y/n] Y
    Preconfiguring packages ...
    readelf: Error: '/proc/self/exe': No such file
    oracle-java8-installer failed to preconfigure, with exit status 1
    E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)
    (Reading database ... 10691 files and directories currently installed.)
    Preparing to unpack .../oracle-java8-installer_8u161-1~webupd8~0_all.deb ...
    readelf: Error: '/proc/self/exe': No such file
    dpkg: error processing archive /var/cache/apt/archives/oracle-java8-installer_8u161-1~webupd8~0_all.deb (--unpack):
    subprocess new pre-installation script returned error exit status 1
    Errors were encountered while processing:
    /var/cache/apt/archives/oracle-java8-installer_8u161-1~webupd8~0_all.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    root@******:/#

    Ähnliche Errormsg auch beim "apt-get install oracle-java8-set-default"
    und java -version liefert dann natürlich kein Ergebnis

1 Trackback / Pingback

  1. openHAB automatisch auf der DiskStation starten - Internet-of-Things.blog

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*


5 + five =