Smart Home openHAB Installation Teil 1 – Vorbereitung


Update 12.11.2020

Ab Dezember  2020 habe ich das Glück, ein Eigenheim zu besitzen. Mit dem Umzug werde ich mein Smart Home zukünftig mit Home Assistant steuern, sodass die Serie Smart Home openHAB Installation nicht länger fortgeführt und gepflegt wird.


In meiner neuen Beitragsreihe Smart Home openHAB Installation zeige ich euch, welche Komponenten ich installiert und wie ich diese konfiguriert habe. Aktuell wohne ich leider in einer Mietwohnung, sodass der Umsetzungsspielraum etwas eingeschränkt ist.

So sind nur Komponenten nutzbar, die keinen Eingriff in die Elektrik der Wohnung erfordern.

Der erste Beitrag befasst sich nun mit Vorbereitungen und Überlegungen, wie ich mein Smart Home gestalten möchte, insbesondere in Bezug auf die Sicherheit meiner restlichen IT-Komponenten.

Sicherheit

Bevor ich mich in den folgenden Beiträgen überhaupt dem eigentlichen Thema der einzelnen Installationsschritte widme, möchte ich auf einen der wesentlichsten Punkte bei Smart Home Technik eingehen: Sicherheit!

Was kann man tun, wenn man bereit ist, ein paar Euro für die Sicherheit zu investieren?

Firewall

Wie man anhand meiner anderen Beiträgen schon erahnen kann, bin ich ein Fan von Enterprise Firewalls, selbst im Privatumfeld. Dementsprechend „gönne“ ich mir eine Fortinet Firewall. Manches ist dadurch natürlich nicht so komfortabel, wie mit einer 0815 Fritz!Box, aber die Möglichkeiten, sein Netzwerk möglichst gut zu sichern, sind eben doch um Längen besser.

Üblicherweise erlauben Firewalls alle Ports outbound, wenn man nicht aktiv eingreift. Bei der Fortinet ist das nicht so, hier gilt ohne Konfiguration ein Implicit Deny. Man muss sich daher die Mühe machen und genau prüfen, welche Ports die einzelnen Geräte outbound zwingend benötigen und auch hier die Firewall so gut es geht einzuschränken, um ungewünschten Datenverkehr zu blockieren. Ja, ich weiß, Consumer Firewalls können das auch, aber ich bin ja noch nicht fertig :-).

Netzwerk Segmentierung

Der nächste Punkt – und bereits hier scheitern Consumer Firewalls in der Regel – ist das Thema Netzwerk Segmentierung. Die Fortinet bietet natürlich die Möglichkeit, mehrere VLANs (und für WLAN dazugehörige SSIDs) anzulegen. Um zu verhindern, dass im Falle eine Kompromitierung eines Smart Home Geräts gleich das ganze schöne Netzwerk mit NAS und sonstigem Gedöhns bedroht ist, bietet es sich an, sein Smart Home Netzwerk in ein oder mehrere eigene VLANs zu verbannen und auch hier notwendige Kommunikation ins restliche Netzwerk über Firewall Policies möglichst strikt Punkt-zu-Punkt einzuschränken, falls überhaupt nötig. So befinden sich meine „schützenswerteren“ Smart Home Geräte (z.B. openHAB Server und Controller) in einem VLAN und die „risikoreicheren“ Smart Home Geräte (z.B. Amazon Echo) in einem anderen VLAN.

Die Nachteile – z.B. das viele Apps für Smart Home Devices nicht mit der Kommunikation zwischen VLANs zurecht kommen, bzw. per Broadcast kommunizieren – sollte man hier in Kauf nehmen und sich eine alternative Lösung überlegen (z.B. ausschließlich Komponenten und Apps nutzen, bei denen die Kommunikationsgegenstelle explizit per IP/Host angegeben und eingerichtet werden muss).

Wie man z.B. das Problem umgeht, dass Amazon Echo Geräte i.d.R. im gleichen VLAN wie die zu steuernden Komponenten sein muss, zeige ich euch in einem späteren Beitrag.

WLAN

Passwortlänge und -komplexität

Man kann es nicht oft genug sagen: die Zeichenfolge „Passwort“ ist KEIN sicheres Passwort :-). Ernsthaft: Wie im obigen Punkt Netzwerk Segmentierung erläutert, habe ich z.B. für die Smart Home Geräte und für die Echo Geräte jeweils ein eigenes VLAN mit einer eigenen SSID angelegt. Das SSID-Passwort wird also nicht „tagtäglich“ benötigt, um es irgendwo einzugeben. Nur bei der Einrichtung eines neuen Geräts wird es gebraucht und wie oft kommt das wohl nachdem erstmal der „erste Schwung“ in Betrieb ist? Daher sollte man sich unbedingt ein Passwort einfallen lassen, dass aus min. 20 Zeichen (Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen) besteht. Ein schöner Artikel über den Zusammenhang von Passwortlänge/-komplexität und Zeit, die zum Hacken des Passworts benötigt wird, findet ihr hier.

Multiple PSK

Ein weiteres Feature der Fortigates, welches ich für mein Smart Home WLAN ausgiebig nutze, ist das Multiple Pre-Shared Key Feature. Dieses erlaubt es, sich mit mehreren vordefinierten PSKs in die gleiche SSID einzubuchen. Darüber hinaus lässt sich konfigurieren, wie viele Geräte sich mit welchem Passwort einbuchen können. Wo ist da der Vorteil? Ein Beispiel. Amazon Echo Geräte speichern standardmäßig die WLAN Konfiguration im Amazon Konto in der Cloud (außer, man schaltet das ab – siehe hier),  um beim nächsten Gerät die Einstellungen gleich vorzukonfigurieren. Komfortabel aber unsicher. Um das Risiko dennoch zu minimieren haben meine Amazon Echo Geräte einen eigenen PSK und der PSK darf nur genau so oft verwendet werden, wie ich solche Geräte im Netzwerk habe. Das ist kein 100%iger Schutz, aber zumindest solange die Geräte aktiv im WLAN eingebucht sind, kommt mit diesem Passwort kein zusätzliches unbefugtes Gerät ins WLAN, da die Anzahl der Nutzungen schon durch die vorhandenen Geräte ausgeschöpft ist.

Struktur / Aufbau

Der zweite wesentliche Punkt, über den man sich Gedanken machen muss, ist die Struktur der Umgebung, also  wie sollen die Komponenten zusammenarbeiten – oder eben auch nicht. Wie oben bereits geschrieben ist es bei mir auf Grund der Sicherheitsüberlegungen erforderlich, dass eine IP-basierte Kommunikation erforderlich ist. Da das nicht mit allen Komponenten möglich ist, benötige ich eine Zwischenschicht, die dieses Problem umgeht. In meinem Fall verwende ich dazu openHAB als „Controller of Controllers“. Damit das alles funktioniert, ist es natürlich Voraussetzung, dass für alle Geräte ein Binding für openHAB erforderlich ist. Das sollte vor der Anschaffung der Komponenten entsprechend geprüft werden. Weiterhin sollte man sich in das Thema openHAB 2 vorher genau einlesen, um möglichst viele Eventualitäten im Vorfeld abzuklären.

Umfang der Smart Home Infrastruktur

Aus dem vorherigen Punkt ergibt sich zwangsläufig die Überlegung, welche Komponenten denn überhaupt in Betrieb genommen werden sollen, mit welcher Priorität und in welchem Zeitrahmen. Insbesondere, wenn man neu in der Materie Smart Home und openHAB ist, sollte man Schritt für Schritt vorgehen, seine Komponenten in mehreren Phasen in Betrieb nehmen und nicht versuchen, alles auf einmal umzusetzen.

Haus-Steuerung und Haus-Automatisierung

Aus meiner Sicht sind das zwei grundlegende Unterschiede, auch wenn’s oft als ein Thema interpretiert wird.

  • Steuerung: Unter Haus-Steuerung verstehe ich, Komponenten des Smart Homes über eine App oder einen Computer zu bedienen. Also z.B. Licht ein- und ausschalten oder Heizung höher und niedriger einstellen.
  • Automatisierung: Unter Haus-Automatisierung verstehe ich, dass unterschiedliche Komponenten eines Smart Homes Aktionen anhand von definierten Kriterien von alleine ausführen, ohne dass ich sie manuell bedienen muss. Ein Beispiel hierfür ist z.B., dass sich die Heizung in Abhängigkeit der Außentemperatur alleine regelt oder dass das Licht der Diele von alleine angeht, wenn ein Smart Lock an der Wohnungstür öffnet.

Im ersten Schritt liegt der Schwerpunkt auf der Steuerung der einzelnen Komponenten. Eine Automatisierung erfolgt dann, wenn alle Komponenten zentral steuerbar sind.

Sprachsteuerung

Schön ist natürlich, seine Smart Home Installation per Sprache zu steuern. Da ich bereits Amazon Echo Geräte zum Musik hören verwende, möchte ich diese dann auch zur Sprachsteuerung verwenden. Ziel ist es, kein Gerät und keinen Controller direkt anzusteuern, sondern ausschließlich die OpenHAB Installation.

Warum „so umständlich“? Das ist relativ einfach erklärt. Amazon Echo benötigt zum Finden von steuerbaren Endpunkten (Geräten/Controllern) eine direkte Netzwerk-Verbindung. Endpunkte, die sich in anderen VLANs befinden, werden nicht gefunden. Aus Sicherheitsgründen habe ich jedoch genau diese Trennung vorgenommen, sodass eine direkte Steuerung z.B. der Beleuchtung (siehe späteren Beitrag) nicht möglich ist:

  • VLAN 1: Geräte mit hohem Schutzbedarf / Geräte mit restriktivem Internet Zugang (z.B. Media Geräte, Smart Home Geräte, Smart Home Controller)
  • VLAN 2: Geräte mit geringerem Schutzbedarf / Geräte mit wenig restriktivem Internet Zugang (z.B. Amazon Echo Geräte)

Indem ausschließlich OpenHAB zur Sprachsteuerung angesteuert wird, lässt sich dieses Problem umgehen. Der OpenHAB Skill für Amazon Echo benötigt keine direkte Netzwerkverbindung, da ausschließlich die OpenHAB Cloud Instanz angesteuert wird (siehe vorheriger Beitrag). Somit lassen sich 2 Fliegen mit einer Klappe erschlagen:

  • Der OpenHAB Server benötigt nur die bereits bestehende Firewall Freischaltung zur Cloud Instanz, um per Sprache gesteuert zu werden.
  • Sämtliche in OpenHAB eingebundenen Smart Home Systeme lassen sich trotz VLAN Trennung per Sprache steuern.

Aus all diesen Überlegungen hat sich bei mir folgende Planung für die Implementierung meines Smart Homes ergeben:

Phase 1

  • openHAB 2- Betriebssystem- und openHAB-Installation/-Konfiguration
  • System-Integration
    • openHAB Cloud Connector
  •  System-Bindings
    • NTP Binding (official)
    • Exec Binding (official)
    • Network Binding (official)
  • Informations-Bindings
    • Wetterdaten: OpenWeatherMap Binding (official)
    • Astrodaten: Astro Binding (official)

Phase 2

  • Geräte-Bindings
    • Beleuchtung/Socket: Philips Hue Binding (official)
      • Sprachsteuerung per Amazon Echo

Phase 3

  • Geräte-Bindings
    • Präsenzerkennung: iCloud / Apple Binding (official)
    • Media Center: Kodi Binding (official)
    • SAT Receiver: Enigma2 Binding (official)

Phase 4

  • Persistence Services
    • JDBC MariaDB (official)

Phase 5

  • tbd – was auch immer noch kommt 🙂

Auf welche Herausforderungen und Probleme man nun trifft, zeige ich euch ebenfalls in den kommenden Beiträgen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.