Smart Home openHAB Installation Teil 3 – Cloud-Connector / System-Bindings


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.


Teil 3 meiner Reihe Smart Home openHAB Installation befasst sich mit allgemeinen openHAB Bindings, Integrations um z.B. openHAB mit dem Cloud Service zu verbinden, um allgemeine Dienste zur Verfügung zu haben und um den openHAB Server, sowie andere Geräte zu monitoren.

System Integration: openHAB Cloud Connector

Die erste Funktion, die ich installiere, ist der openHAB Cloud Connector, um die lokale openHAB Instanz an die openHAB Cloud anzubinden. Generell versuche ich ja mein Augenmerk bei der Installation auch auf die Sicherheit der Installation zu legen, warum also gleich ein Cloud Connector? Das hat mehrere Gründe:

  • Mit der openHAB Cloud lässt sich die lokale openHAB Instanz per Internet erreichen, ohne dafür lokal an der Firewall irgendwelche Port-Forwardings einzurichten (die Verbindung ist nur ausgehend) und ohne sich Gedanken über eine Authentifizierung machen zu müssen (openHAB selbst hat keinen Authentifizierungsmechanismus).
  • Meine Smart Home Installation möchte ich mit Amazon Echo auch per Sprache steuern können (siehe auch Teil 1 der Beitragsreihe). Die Echo Geräte befinden sich jedoch in einem anderen VLAN, als die eigentlichen Smart Home Komponenten. Die meisten Skills funktionieren so jedoch nicht, da sich Amazon Echo und Komponenten im gleichen VLAN befinden müssen (z.B. wenn man damit die Philips Hue Beleuchtung steuern möchte). Der openHAB Skill ist hier eine Ausnahme, da er nur auf die Verbindung vom Amazon Echo zur openHAB Cloud angewiesen ist (keine direkte Kommunikation zwischen Amazon Echo und lokaler openHAB Instanz). Zudem lassen sich in dieser Konstellation alle Komponenten mit nur einem Skill steuern.

Für die Nutzung des openHAB Cloud Connectors wiederum reicht eine Firewall Regel aus:

Source:      openHAB-Server
Destination: myopenhab.org
Port:        TCP/443

Um die openHAB Cloud zu verwenden sind nur wenige Schritte erforderlich:

  • Installation des Connectors über die PaperUI: Addons / Misc / openHAB Cloud Connector
  • Registrierung unter https://myopenhab.org
    • Bei Erstregistrierung werden UUID und Secret des openHAB Servers zur Registrierung benötigt
      • UUID: /var/lib/openhab2/uuid
      • Secret: /var/lib/openhab2/openhabcloud/secret
    • Wird ein bestehendes openHAB Cloud Konto verwendet und nur der Server gewechselt, sind die Werte im openHAB Cloud Webinterface einzutragen (zu ändern) unter <Email-Adresse> / Account / openHAB Server Settings.
  • Konfiguration des Connectors über die PaperUI: Configuration / Services / IO / openHAB Cloud Connector
    • Mode: Notifiations / Notifcations & Remote Access
    • Base URL: https://myopenhab.org
    • Items to expose: Hier sind alle Items anzuklicken, die für Drittanbieterdienste wie IFTTT benötigt werden. Die Einstellung wird NICHT benötigt, um Items über die openHAB Cloud selbst zur Verfügung zu haben.

Danach sollte sich der Status des openHAB Servers im openHAB Cloud Webinterface von offline auf online ändern, falls alles korrekt funktioniert.

Binding: NTP

Das NTP Binding ist als „allgemeines Systembinding“ zu verstehen. Zweck des NTP Bindings ist es, z.B. in Sitemaps für die Zeitanzeige oder für Zeitberechnungen verwendet zu werden. In meiner Installation habe ich zwei NTP Server konfiguriert.

  • interner NTP Server im LAN
  • öffentliche NTP Server (de.pool.ntp.org)

Für den privaten NTP Server ist keine Firewall Freischaltung erforderlich, für den öffentlichen NTP Server muss eine entsprechende Freischaltung erfolgen:

Source:      openHAB-Server
Destination: de.pool.ntp.org
Port:        UDP/123 (NTP)

$OPENHAB_CONF/things/ntp.things

Entsprechend der obigen Beschreibung werden 2 NTP Things konfiguriert:

ntp:ntp:internal   [ hostname="<interner-NTP-Server>", refreshInterval=60, refreshNtp=30 ]
ntp:ntp:external   [ hostname="de.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]

$OPENHAB_CONF/things/ntp.items

Nachdem die NTP Server konfiguriert sind, werden dazu Date/Time Items angelegt, die anschließend in Sitemaps/Rules verwendet werden können.

DateTime   Ntp_Date   "Day/Date/Time [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]"   <time>   { channel="ntp:ntp:external:dateTime" }
Transformations Services

Transformation Services werden benötigt um z.B. Werte, die vom System oder von Bindings ausgegeben werden, in lesbarere Werte zu transformieren oder um z.B. in die deutsche Sprache umzuwandeln. Das einfachste Beispiel sind ON/OFF Werte, die in der Sitemap als AN/AUS angezeigt werden sollen. Standardmäßig waren bei mir alle Transformation Services mitinstalliert.

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.