26

Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten
Page 2: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

5976.book Seite 26 Donnerstag, 30. August 2018 2:58 14

27

1Kapitel 1

Ihr Smart Home mit openHAB 2

Finden Sie den Einstieg in die Thematik mit der Beantwortung grund-

legender Fragestellungen: Was ist openHAB 2, wozu eignet es sich –

und wozu eignet es sich eventuell eher weniger?

Heimautomation ist ein Thema, das rasant an Bedeutung gewinnt. Längst interes-

sieren sich nicht mehr nur die ohnehin technikaffinen Nerds für die Thematik, son-

dern auch durchaus »normale Leute«, die ein gesteigertes Interesse an Kostensen-

kung, Effizienz und einer gewissen Bequemlichkeit in ihrem Zuhause zeigen. Doch

sie alle sehen sich vor dem gleichen Problem: Der Markt ist extrem unübersichtlich.

Nahezu täglich erscheinen neue Produkte, bislang unbekannte Hersteller versuchen

sich zu etablieren, die unterschiedlichsten Herangehensweisen existieren für die

immer gleichen Probleme.

Die zumindest gedanklich einfachste Herangehensweise ist sicherlich die, jegliche

Kommunikation des smarten Zuhauses über eine eigene Bus-Leitung zu leiten – wie

es zum Beispiel bei der Nutzung von KNX gemacht wird. Das nachträgliche Verlegen

der Bus-Leitungen erweist sich jedoch üblicherweise als nicht wirtschaftlich, und in

Mietwohnungen kommt es grundsätzlich nicht infrage. An dieser Stelle kommt die

Funkvernetzung ins Spiel, die sich meist sehr simpel nachrüsten und auch in Miet-

wohnungen gut einbringen (und bei Auszug auch wieder ausbauen) lässt, die dafür

jedoch tiefgehende Sicherheitsfragen aufwirft.

Es fällt schwer, sich auf einen Hersteller, eine Technologie, eine Vorgehensweise fest-

zulegen, denn selten führt ein Hersteller all jenes in seinem Sortiment, was Sie zur

Umsetzung all Ihrer Visionen benötigen – das führt dazu, dass Sie teils schmerzhafte

Kompromisse eingehen müssten. Und bei Verwendung verschiedener Produkte un-

terschiedlicher Hersteller entsteht schnell ein unübersichtlicher Wildwuchs an Ap-

plikationen auf Smartphone und Tablet, und sie alle wollen gewartet werden, wäh-

rend das einzelne Gerät kaum über den Tellerrand seines eigenen Funktionsumfangs

hinausschauen kann. Häufig erzwingt die Nutzung einer Komplettlösung eines Her-

stellers die Abhängigkeit von dessen Cloud-Services. Wenn Sie wie ich eher zu den

Datenparanoikern gehören, ist das zum einen keine angenehme Vorstellung, zum

anderen auch eine Gefahr, denn immer wieder hört man von Herstellern, die ihr Ge-

5976.book Seite 27 Donnerstag, 30. August 2018 2:58 14

Page 3: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

1 Ihr Smart Home mit openHAB 2

28

schäft aufgeben, ihre Cloud-Services einstellen – und die einst teuer eingekauften

smarten Lösungen sind nicht mehr als Elektroschrott. Eine Vorausplanung auf Jahre

ist in einem solchen Setup nicht möglich.

Das ist genau die Lücke, die openHAB schließt.

1.1 Was ist openHAB 2?

openHAB2 verbindet einzelne Produkte hersteller- und protokollneutral innerhalb

einer einzigen Plattform miteinander und macht sich so selbst zur zentralen Anlauf-

stelle. So wird es möglich, dass ein Gerät von Hersteller A auf eine Statusänderung

eines Geräts von Hersteller B zu reagieren vermag – anstatt dass beide lediglich ko-

existieren. Das reduziert die Komplexität in der Bedienung, und die Anlaufstelle für

Sie als Endanwender ist dann sehr klar definiert: Sie müssen nicht überlegen, welche

App Sie zur Steuerung Ihrer Lampe heranziehen müssen und welche für die Heizung,

Sie steuern beide über openHAB, und zwar auf genau die Weise und in der genau der

Darstellung, die Sie bevorzugen.

Ein weiterer großer Vorteil von openHAB ist, dass Ihre Daten Ihr System grundsätz-

lich nicht verlassen müssen: Sie implementieren sozusagen ein »Intranet of Things«

und müssen Ihre Daten und Profile keinem Drittanbieter anvertrauen, wenn Sie das

nicht möchten.

Der Name openHAB ist die offizielle Kurzversion von open Home Automation Bus. Es

handelt sich hierbei um eine in der Programmiersprache Java entwickelte Software,

ein Projekt, das 2010 von Kai Kreuzer ins Leben gerufen wurde. openHAB wird als

Open-Source-Projekt unter der Eclipse Public License gehandelt – und ist mithin kos-

tenlos für Sie. Zahlreiche engagierte Mitstreiter investieren ihre Kenntnisse und ihre

Freizeit, um die Anbindung neuer Hersteller und ihrer Systeme zu ermöglichen, die

grundsätzliche Weiterentwicklung zu betreiben und Fehler zu beheben.

Mit dem Ansatz, den openHAB verfolgt, schaffte sich das Projekt ein Alleinstellungs-

merkmal und gewann Anhänger, Unterstützer und Preise:

� IoT Challenge 2013 (https://iotevent.eu/application-2/announcement-the-winner-

of-the-iot-challenge-2013)

� Duke’s Choice Award 2013 (https://blogs.oracle.com/java/dukes-choice-award-

winners-2013)

� nominiert für den JAX Innovation Award 2014 (https://jaxenter.com/

jax-innovation-awards-2014-spotlight-openhab-107776.html)

� Runner-Up-Gewinner bei den Postscapes IoT Awards 2014/15

(https://www.postscapes.com/internet-of-things-awards/winners)

5976.book Seite 28 Donnerstag, 30. August 2018 2:58 14

1.2 Was ist openHAB 2 nicht?

29

1openHAB 2 ist hierbei, wie leicht zu vermuten, eine Weiterentwicklung der Software:

Während sich openHAB 1 in erster Linie an Entwickler und äußerst technikaffine Mit-

streiter richtete, soll openHAB 2 jedem Interessierten den Einstieg in die Welt der

Heimautomation ebnen.

1.2 Was ist openHAB 2 nicht?

Ich habe bereits zu beleuchten versucht, was openHAB 2 ist:

� Es ist ein individuell erweiterbares System.

� Es fungiert als eine Art »Dach« über allen sich im Einsatz befindlichen Technolo-

gien, wie beispielsweise KNX, HomeMatic, Philips Hue und vielen anderen mehr.

� Es vereint diese Technologien innerhalb einer Plattform miteinander, sodass sie

wechselseitig auf Statusänderungen reagieren und Aktionen auslösen können.

� So etabliert es sich als erste Anlaufstelle, auch für die Bedienung der Geräte; die

zahlreichen einzelnen Apps der jeweiligen Hersteller werden, zumindest im Hin-

blick auf die Bedienung, überflüssig.

Daraus ergibt sich quasi zwangsläufig, was openHAB 2 eben nicht ist: Es ist keine

schlüsselfertige Lösung, die Sie innerhalb eines Wochenendes an den Start bringen

und die sofort all das tut, was Sie von ihr erwarten. Das wird auch sonst keine Smart-

Home-Lösung leisten können, die Sie mit Hardware käuflich erwerben. Keine wird

alle Funktionalitäten abdecken, die Sie sich gemeinhin wünschen. Interessanterwei-

se erwartet die breite Masse der Anwender meist auch gar nicht, dass die Hersteller

hier nachziehen und diese Funktionalitäten bereitstellen. Bei Open-Source-Software

wird das aber häufig – und völlig zu Unrecht – so nebenbei erwartet.

Sie dürfen jedoch nicht davon ausgehen, dass für jedes Ihrer Probleme bereits eine

Lösung existiert. Sie haben auch keinen Anspruch darauf, dass andere Ihre Probleme

lösen. openHAB 2 erfordert eine intensive Auseinandersetzung mit der Materie, die

Bereitschaft, sich in die Thematik und auch in technische Feinheiten einzuarbeiten,

und eine gewisse Flexibilität in Bezug auf sich ändernde Begebenheiten. Die ernst-

hafte Umsetzung eines Smart Homes mit openHAB 2 ist mehr als eine fixe Idee. Sie

ist vielmehr ein fortlaufender Task, der Sie kontinuierlich begleiten wird.

Sehen Sie das als Chance! Sie werden Wissen erlangen auf vielen verschiedenen Ge-

bieten – openHAB 2 selbst, Linux-Systemadministration, aber auch zum Lauf der

Sonne, zu Leitungswerten und vielen anderen Themen. Dieses Buch soll Ihnen hier-

bei als Quelle erster Ideen wie als Nachschlagwerk dienen. Konkrete Problemstellun-

gen diskutieren Sie am besten in der openHAB-Community (siehe Kapitel 27), die

sich als Treffpunkt für Enthusiasten aus aller Welt etabliert hat. Lassen Sie sich inspi-

rieren – und inspirieren Sie andere!

5976.book Seite 29 Donnerstag, 30. August 2018 2:58 14

Page 4: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

1 Ihr Smart Home mit openHAB 2

30

1.3 Modernes Wohnen in alten Gemäuern

Ich habe es bereits angesprochen: Die einfachste Art, auf die die einzelnen Geräte

einer Heimautomation miteinander kommunizieren können, ist die, sie alle über

einen dedizierten Bus miteinander kommunizieren zu lassen, wie es beispielsweise

bei KNX der Fall ist. Doch diese Herangehensweise ist nicht immer umsetzbar:

� In Altbauten beispielsweise ist es extrem aufwendig, die benötigten Leitungen

nachträglich zu verlegen. Der Aufwand, die Mauern aufzustemmen und wieder

sachgemäß instandzusetzen, steht üblicherweise in keiner Relation zum Nutzen,

den man dadurch erzielt.

� Im Neubau ist weniger die Verlegung der Leitungen ein Problem als vielmehr die

Kosten, die dadurch entstehen. Hier muss jeder für sich abwägen, was gleicherma-

ßen gewünscht wie bezahlbar ist.

� Auch wenn Sie zur Miete wohnen, sind Bus-Systeme wie KNX üblicherweise keine

Option. Kaum ein Vermieter wird es gerne sehen, wenn Sie seine Wände aufstem-

men.

Mir war es darüber hinaus durchaus wichtig, dass sich die Komponenten auch op-

tisch in ein Gesamtbild einfügen. In einem um die Jahrhundertwende erbauten und

liebevoll sanierten Stadthaus mochte ich mir so manches Gerät schlicht und ergrei-

fend nicht in meinem unmittelbaren Sichtfeld vorstellen. Hier bewegen wir uns ein-

deutig im Bereich der persönlichen Befindlichkeiten und Vorlieben – jeder muss für

sich entscheiden, was das Passende ist.

Ich begann im Jahr 2013 mit dem Aufbau meines Smart Homes und entschied mich

damals für den Einsatz der HomeMatic-Funkaktoren von EQ3; diese deckten ein wei-

tes Spektrum dessen ab, was ich umsetzen wollte, und ich kann sie überwiegend so

anbringen, dass sie mich optisch nicht stören, im Sicherungskasten beispielsweise

oder in Unterputzdosen. Ein platzsparender batteriebetriebener Schaltaktor erlaubt

es mir, die alte Haustürklingel weiterzuverwenden, ihr jedoch Funktionen zu geben,

die deutlich über das simple Klingelsignal hinausgehen. Auch die Weiterverwendung

einiger sehr alter Lichtschalter war problemlos möglich – niemand würde »smarte«

Geräte dahinter vermuten, und doch sind sie es.

1.4 Heimautomation – besser nicht grenzenlos

Vernachlässigen Sie bei all Ihrer Liebe zur Technik nicht, dass Sie es bei den Nutzern

mit Menschen zu tun haben und dass Menschen Gewohnheitstiere sind: Wir erwar-

ten beim Betreten eines dunklen Raumes einen Lichtschalter auf den gegenüberlie-

genden Seite des Türanschlags in etwa 1,20 m Höhe. Aus technischer Sicht stellt es

5976.book Seite 30 Donnerstag, 30. August 2018 2:58 14

1.4 Heimautomation – besser nicht grenzenlos

31

1kaum eine Hürde dar, dass Sie jegliche Wandschalter aus Ihrem Setup schlicht strei-

chen und alle Lichter zukünftig ausschließlich über Regelwerke und Apps steuern,

doch von Besuchern würde es tendenziell als Zumutung empfunden werden, etwas

so Grundsätzliches wie Lampen nicht selbst schalten zu können.

Die Möglichkeiten der Heimautomation sind nahezu unbegrenzt – und hat man erst

einmal damit begonnen, möchte man gar nicht mehr aufhören. Ich möchte jedoch

an Sie appellieren, jede Funktion, die Sie neu in Ihr Setup einbringen, eingehend zu

überdenken:

� Lösen Sie auf diese Art ein konkretes Problem? Oder erschaffen Sie lediglich zehn

weitere?

� Ist es sicherheitsrelevant? Muss diese Funktion ständig verfügbar sein – auch bei

Stromausfall, kaputtem openHAB-2-Host, Störung des Internetanschlusses, sons-

tigen Problemen?

� Ist Ihre Lösung zukunftssicher, beispielsweise im Hinblick auf Erweiterung, Ersatz-

teile, Unterstützung seitens der Hersteller?

� Wie fühlen sich die übrigen Bewohner des Hauses mit Ihrer Lösung? Wie fühlen

sich ältere Menschen, Besucher und weniger technikaffine Menschen?

Vor allem der letztgenannte Punkt verdient gesonderte Beachtung: So sollte eine

Heimautomatisierung niemals in die Persönlichkeitsrechte eingreifen, und meiner

Meinung nach sollte sie – auch wenn sich das Thema zunehmender Beliebtheit er-

freut – auch keine erzieherischen Aufgaben übernehmen, beispielsweise indem sich

Lichter und Fernseher automatisch nach einer gewissen Zeit abschalten.

Ähnlich lästig wie nicht vorhandene oder an unmöglichen Orten montierte Wand-

schalter sind alltägliche Dinge, die sich in unregelmäßigen Abständen zumeist ohne

Vorwarnung einfach ändern: Gestern noch schaltete man über einen bestimmten

Taster die Deckenbeleuchtung im Badezimmer ein, heute jedoch geht beim Betä-

tigen der Lüfter an. Wenn erst die konkrete Nachfrage beim Verwalter, also bei Ihnen,

für Ihre Mitbewohner ergibt: »Stimmt, ich hab da was geändert«, dann können Sie

sicher sein, dass Ihr System keinerlei Akzeptanz erfahren wird. Nehmen Sie jederzeit

Rücksicht auf Ihre Mitmenschen und deren Bedürfnisse.

Die Sache mit dem Woman/Spouse Acceptance Factor (WAF)

Es existiert in diesem Zusammenhang der viel zitierte Begriff des WAF, des Woman

Acceptance Factor. Er soll eine Einschätzung der Zustimmung oder Ablehnung der

Ehefrau oder Partnerin darstellen bezüglich (üblicherweise technischer und vor

allem teurer) Neuanschaffungen durch den Partner. Und auch wenn der Acceptance

Factor bereits im Jahr 2000 von »Woman« auf »Spouse«, also »Lebensgefährte«, er-

weitert wurde, mag ich diesen Begriff trotzdem überhaupt nicht.

5976.book Seite 31 Donnerstag, 30. August 2018 2:58 14

Page 5: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

1 Ihr Smart Home mit openHAB 2

32

Die Annahme, dass sich weniger technikbegeisterte Mitbewohner immer und ge-

nerell gegen Technik sperren, ist grundsätzlich falsch. Denn Sie sperren sich nur

gegen teure Technik, die ihnen den Alltag erschwert, die sie verärgert, sie vor stän-

dig wechselnde, beliebig absurde Probleme stellt und die sie somit als völlig unnö-

tig empfinden.

An dieser Stelle sind Sie als Verwalter des Systems doppelt gefragt: Beziehen Sie Ihre

Mitbewohner in die Vorgänge mit ein, erfragen Sie, was ihnen das Leben erleichtern

würde. Und vor allem: Modifizieren Sie etablierte Abläufe nie ohne Rücksprache. Ma-

chen Sie sich bewusst, dass ein Smart Home (zumindest in einer Wohnumgebung

mit mehr als einem Bewohner) keine ausschließlich technische, sondern durchaus

auch eine soziale Herausforderung ist. Stellen Sie sich immer wieder einmal einige

grundsätzliche Fragen: Wo hört Bequemlichkeit auf, wo fängt Überwachung an? Wie

viel ist gut, was sollte besser nicht automatisiert werden?

In eigener Sache: Das mit dem Gendern

Ich habe Sie gerade als den Verwalter des Systems bezeichnet, an anderer Stelle als

Leser oder Mitbewohner. Ich tue das im Sinne der Lesbarkeit eines 500 Seiten umfas-

senden technischen und ohnehin schon recht abstrakten Textes, dem ich die zusätz-

liche Komplexität des Genderns nicht aufbürden werde. Grundsätzlich ermuntere

ich jedes technikaffine Subjekt, egal welchen Geschlechts, ausdrücklich zur Mitwir-

kung.

Lassen Sie uns nun konkret werden: Ich heiße Sie recht herzlich willkommen im

Demohaus!

1.5 Das Demohaus

Das Buch wird sich am »Demohaus« orientieren. Es steht exemplarisch für eine

Wohnumgebung, die nach und nach in ein Smart Home verwandelt wird.

Der detaillierte Aufbau des Demohauses – seine Aufteilung in Räume, die Einord-

nung der Aktoren in Räume und Gruppen – und seine konkrete Umsetzung erfolgen

nach und nach über den Verlauf des Buches hinweg. Doch schon vorher werden

Ihnen Geschosse, Räume und Geräte in Form von Beispielen begegnen. Natürlich

kommt solch ein Buch auch nicht ohne openHAB-spezifisches Vokabular aus, doch

seien Sie unbesorgt. Zu gegebenem Zeitpunkt findet jeder Begriff seine Erklärung.

Tatsächlich empfehle ich Ihnen, die für das Nähen von Kleidung am Anfang jedes

Schnittmusters vermerkte Warnung zu beherzigen: »Erst lesen, dann schneiden!«

Oder um im openHAB-2-Kontext zu bleiben: Verschaffen Sie sich anhand des Buches

zuerst einen zumindest groben Überblick, ehe Sie die praktische Umsetzung ange-

5976.book Seite 32 Donnerstag, 30. August 2018 2:58 14

1.5 Das Demohaus

33

1hen, damit erleichtern Sie sich den Einstieg deutlich.

Erste praktische Beispiele kommen ohne konkrete Hardwareanbindung aus. Diese

können Sie unmittelbar umsetzen und ausprobieren, ohne zusätzliche Anschaffun-

gen tätigen zu müssen. Im weiteren Verlauf werden Sie Rollläden abhängig von Son-

nenauf- und -untergangszeiten zu steuern lernen, Ihre persönliche Wettervorhersa-

ge implementieren und Ihre persönliche Anwesenheitserkennung umsetzen.

Die im Buch verwendeten Bezeichner orientieren sich an den Begebenheiten des De-

mohauses. Sie werden die Vorteile und Schwachstellen dieser Herangehensweise für

sich kennenlernen, was es Ihnen erleichtert, ein Namenskonzept für Ihren konkreten

Anwendungsfall zu erarbeiten. Sehen Sie das Demohaus als eine Idee – als eine Mög-

lichkeit von vielen, ein Heimautomatisierungskonzept umzusetzen, und als Einstieg

in ein weites Feld.

Finden Sie nun also den praktischen Einstieg in die Thematik, wenden wir uns den

Hard- und Softwarevoraussetzungen sowie der Installation von openHAB 2 zu.

5976.book Seite 33 Donnerstag, 30. August 2018 2:58 14

Page 6: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

5976.book Seite 148 Donnerstag, 30. August 2018 2:58 14

149

8

Kapitel 8

Integration Ihrer FRITZ!Box

Die Einbindung Ihrer FRITZ!Box bietet Ihnen eine Fülle technischer

Möglichkeiten.

Mit der Integration Ihrer FRITZ!Box geben Sie Ihrem System die Möglichkeit, auf ein-

gehende Anrufe zu reagieren, und versetzen sich in die Lage, eine simple Art der An-

wesenheitserkennung umzusetzen. Später können darauf umfangreichere Regelwer-

ke aufsetzen, wie beispielsweise »Wenn das Telefon klingelt, stoppe den Film«.

8.1 Die Inbetriebnahme

Die FRITZ!Box-Geräte von AVM sind sehr verbreitet in deutschen Haushalten, um die

DSL-Verbindung herzustellen. Doch inzwischen können die Boxen so viel mehr: das

Handling ein- und ausgehender Anrufe, die Verwaltung von Telefonbüchern, um nur

wenige Beispiele zu nennen. Es liegt also nahe, das bereits vorhandene Gerät zu inte-

grieren, was hier am Beispiel der weitverbreiteten FRITZ!Box 7490 gezeigt wird. Die

Webseite des Bindings gibt Aufschluss bezüglich der unterstützten Boxen: https://

www.openhab.org/addons/bindings/avmfritz/#supported-things

8.1.1 Die Box vorbereiten

Um die FRITZ!Box erfolgreich in Ihr openHAB-2-Setup integrieren zu können, sind ei-

nige Vorarbeiten notwendig.

Zugriff für Anwendungen zulassen

In der Standardkonfiguration ist der Zugriff für Anwendungen ohnehin aktiviert, für

die Zusammenarbeit mit dem Binding wird er auch zwingend gebraucht. Öffnen Sie

also das Webinterface der FRITZ!Box im Browser, indem Sie die Adresse http://

fritz.box aufrufen. Navigieren Sie über Heimnetz • Heimnetzübersicht hin zu den

Netzwerkeinstellungen, und setzen Sie ein Häkchen bei der Option Zugriff für

Anwendungen zulassen.

Sie können leicht überprüfen, ob diese Einstellung erfolgreich war: Rufen Sie hierzu

die Adresse https://fritz.box:49443/tr64desc.xml in Ihrem Browser auf. Wenn Sie als

5976.book Seite 149 Donnerstag, 30. August 2018 2:58 14

Page 7: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

8 Integration Ihrer FRITZ!Box

150

Antwort eine mehr oder weniger kryptische XML-Ausgabe erhalten – keine Sorge, das

ist genau das, was an dieser Stelle richtig und gewünscht ist!

<root xmlns="urn:dslforum-org:device-1-0"><specVersion><major>1</major><minor>0</minor></specVersion><device><deviceType>urn:dslforum-org:device:InternetGatewayDevice:1</deviceType><friendlyName>FRITZ!Box 7490</friendlyName><manufacturer>AVM</manufacturer><manufacturerURL>www.avm.de</manufacturerURL><modelDescription>FRITZ!Box 7490</modelDescription><modelName>FRITZ!Box 7490</modelName>...

Listing 8.1 Erfolgreicher Aufruf

Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort

Die Werkseinstellung der FRITZ!Box gibt vor, dass man sich lediglich durch Angabe

eines Passwortes an der Box anmeldet, jedoch keinen Nutzernamen benötigt. Da

diese Voreinstellung nicht zu unserem Anforderungsprofil passt, müssen Sie sie nun

ändern:

� Legen Sie einen Benutzer an, beispielsweise den Benutzer openhab und einen Ad-

min, und zwar den Admin zuerst, damit Sie sich im weiteren Verlauf nicht etwa

versehentlich aus der Box aussperren (bedenken Sie bei solcherlei Hinweisen

immer, dass sie niemals ohne Vorgeschichte daherkommen …). Das Passwort des

Benutzers openhab werden Sie gleich benötigen, um es in der Konfiguration des

Bindings zu hinterlegen.

� Ändern Sie abschließend die Konfiguration der Box dahingehend, dass zukünftig

auch der Nutzername abgeprüft wird. Navigieren Sie hierzu über System •

FRITZ!Box Benutzer zu Anmeldung im Heimnetz, und aktivieren Sie die Op-

tion Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort.

Callmonitor aktivieren

In der Werkseinstellung ist der Callmonitor der FRITZ!Box nicht aktiviert. Um dieses

Feature in Betrieb zu nehmen, wählen Sie über ein an der FRITZ!Box angeschlossenes

Telefon die folgende Kombination: #96*5*. Möchten Sie das Feature nicht mehr nut-

zen, können Sie es über Wahl der Kombination #96*4* wieder ausschalten – für das

5976.book Seite 150 Donnerstag, 30. August 2018 2:58 14

8.1 Die Inbetriebnahme

151

8

Zusammenspiel mit openHAB 2 und insbesondere dem TR064-Binding werden Sie

es jedoch zwingend benötigen.

8.1.2 Installation und Konfiguration des Bindings

Navigieren Sie in Paper UI zu Add-Ons • Bindings • FritzboxTR064 Binding, und

starten Sie die Installation mit einem Klick auf Install. Konfigurieren Sie das soeben

installierte Binding, indem Sie zu Paper UI • Configuration • Bindings • Fritz-

boxTR064 Binding • Configure navigieren, das Stiftsymbol anklicken und die Ein-

gabemaske ausfüllen. Ihre Angaben werden in der Datei /etc/openhab2/services/fritz-

boxtr064.cfg dauerhaft hinterlegt. Beobachten Sie in den Logmeldungen, wie das

Binding seinen Dienst aufnimmt.

- Callmonitor Thread [8043] attempting connection to FritzBoxon 192.168.2.1:1012.

- Connected to FritzBox on 192.168.2.1:1012

Abbildung 8.1 Konfiguration des Bindings FritzboxTR064

Wenn das Zertifikat Probleme bereitet

Voreingestellt ist die Verbindung zu https://fritz.box:49443. Wenn es Ihnen nicht

möglich ist, diese Adresse zu verwenden, so ist mit hoher Wahrscheinlichkeit das

Zertifikat der FRITZ!Box der Übeltäter! Dieses ist unter anderem auf den Hostnamen

fritz.box ausgestellt. Wenn Sie in Ihrem Setup die Box nicht über fritz.box, son-

dern beispielsweise lediglich über eine alternative IP-Adresse aufrufen können (und

dabei eine Zertifikatswarnung erhalten), müssen Sie ein neues Zertifikat für die Box

erstellen, das genau diesen Umstand abdeckt. Ist eine gesicherte Verbindung nicht

möglich, erscheint keine Fehlermeldung in den Logmeldungen von openHAB 2: Es

funktioniert nur einfach nicht.

Alternativ können Sie die Zertifikatsproblematik umgehen, indem Sie über Port

49000 eine ungesicherte HTTP-Verbindung zur Box erstellen. In der Aufbauphase ist

5976.book Seite 151 Donnerstag, 30. August 2018 2:58 14

Page 8: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

8 Integration Ihrer FRITZ!Box

152

das kurzfristig völlig in Ordnung, doch Sie kennen das ja: Nichts hält länger als ein

Provisorium … Die gesicherte Verbindung über HTTPS ist jederzeit vorzuziehen.

8.2 Die FRITZ!Box-Items

Der Einfachheit halber erstellen Sie jetzt /etc/openhab2/items/Fritzbox.items und

legen darin eine Gruppe gFritzbox an, die Sie dem Raum unterordnen, in dem die

FRITZ!Box steht – im Beispiel ist das der Eingangsbereich GF_Hallway. Diese Datei wird

dann Schritt für Schritt erweitert und jedes einzelne Item der Gruppe gFritzbox zuge-

ordnet.

Group gFritzbox"Meine FRITZ!Box"<network>(GF_Hallway)

Listing 8.2 Erstellung einer Gruppe »gFritzbox«, die alle FRITZ!Box-Items enthalten soll

Diese Gruppe ist im Anschluss in Ihrer administrativen Sitemap als Untermenü des

Raumes Eingangsbereich zu finden. Doch natürlich erarbeiten wir auch eine Lösung,

die die Angaben der FRITZ!Box für die produktive Sitemap aufbereitet.

Über die üblichen openHAB-Items hinaus gibt es hier das Item Call, das benutzt wird

für die Dinge, die mit dem Callmonitor in Zusammenhang stehen. Call-Items werden

in der Sitemap immer als Elemente vom Typ Text dargestellt.

8.3 Anwesenheitserkennung anhand von Smartphones

Ich weiß ja nicht, wie es bei Ihnen ist, aber wenn mein Smartphone zu Hause ist, bin

ich es in aller Regel auch. Da ich das Gerät üblicherweise in der Hosentasche mit mir

herumtrage, drängt es sich als Indikator geradezu auf: Ist es im heimischen WLAN

eingebucht, bin ich zu Hause.

Contact meinPhone"iPhone zu Hause [MAP(Presence.map):%s]"<network>(gFritzbox){fritzboxtr064="maconline:47-5C-CD-D9-1A-2B"}

Listing 8.3 Anwesenheitserkennung anhand der MAC-Adresse eines Smartphones

Sie sehen, die Konfiguration stützt sich auf die MAC-Adresse des Smartphones.

5976.book Seite 152 Donnerstag, 30. August 2018 2:58 14

8.3 Anwesenheitserkennung anhand von Smartphones

153

8

Was ist eine MAC-Adresse?

MAC steht für Media Access Control und identifiziert jeden Netzwerkadapter eindeu-

tig. Weitere Bezeichnungen sind physikalische Adresse oder Geräteadresse. Eine MAC-

Adresse hat die Form aa:bb:cc:dd:ee:ff.

Doch wie ermitteln Sie die MAC-Adresse Ihres Smartphones? Während die Wege sich

hierbei auf iOS- und Android-Geräten grundsätzlich unterscheiden, ist die Vorge-

hensweise über die FRITZ!Box immer die gleiche: Navigieren Sie im Webinterface der

FRITZ!Box über Heimnetz zu Heimnetzübersicht, und suchen Sie Ihr Smartphone

in der Liste der bekannten Geräte. Klicken Sie anschließend auf Details, und entneh-

men Sie die MAC-Adresse der Geräteinformation. Wichtig: Ersetzen Sie die Dop-

pelpunkte durch Bindestriche, wenn Sie die MAC-Adresse in Ihre openHAB-2-Konfi-

guration übernehmen.

Das Item vom Typ Contact liefert nun also OPEN zurück, wenn das iPhone im WLAN

eingebucht ist, und CLOSED, wenn dies nicht der Fall ist. Da dieses nicht übermäßig

selbsterklärend ist, erstellen Sie im Ordner /etc/openhab2/transform die Datei Pres-

ence.map mit dem Inhalt aus Listing 8.4.

OPEN=anwesendCLOSED=nicht anwesendNULL=undefiniert-=unbekannt

Listing 8.4 Die Datei »Presence.map«

Navigieren Sie in Ihrer administrativen Sitemap über den Eingangsbereich zum Un-

termenü Ihrer FRITZ!Box. Die erfassten Items können Sie unmittelbar abrufen. Über

wenige Zeilen in Ihrer produktiven Sitemap Demohaus_produktiv.sitemap machen

Sie Ihr Smartphone auch dort verfügbar.

Text label="FRITZ!Box" icon="network" {

Frame label="Anwesenheit" {Text item=meinPhone

label="iPhone zu Hause"icon="network"

} // END FRITZ!Box

Listing 8.5 Eintrag in der Sitemap »Demohaus_produktiv.sitemap«

Dies stellt lediglich eine rudimentäre Art der Anwesenheitserkennung dar, die so man-

chen Einschränkungen unterliegt. In Abschnitt 13.13 widmen wir uns dem Thema

Anwesenheitserkennung ausführlicher und zeigen Alternativen auf.

5976.book Seite 153 Donnerstag, 30. August 2018 2:58 14

Page 9: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

8 Integration Ihrer FRITZ!Box

154

Abbildung 8.2 Darstellung der Anwesenheit in der Sitemap

8.4 Den Anrufbeantworter ein- und ausschalten

Wie ärgerlich – im Urlaub angekommen, fällt Ihnen plötzlich ein, dass Sie vergessen

haben, den heimischen Anrufbeantworter der FRITZ!Box zu aktivieren. Was tun?

Nun, mit openHAB 2 ist diese Fragestellung auf sehr einfache Art lösbar: Erstellen Sie

das Switch-Item avmVoicemail, das Ihnen das unkomplizierte Ein- und Ausschalten

Ihrer Voicemail ermöglicht. Und über das Number-Item avmVoicemailNeu können Sie

sogar jederzeit einsehen, wie viele Sprachnachrichten inzwischen eingegangen sind.

Switch fbAnrufbeantworter"Anrufbeantworter"(gFritzbox){fritzboxtr064="tamSwitch:0"}

Number fbNeueNachrichten"Neue Nachrichten [%d]"(gFritzbox){fritzboxtr064="tamNewMessages:0"}

Listing 8.6 Die Items für den Anrufbeantworter

Weitergehende Konfiguration ist auf diesem Weg nicht möglich. Die spezifischen

Einstellungen, etwa nach welchem Zeitintervall die automatische Rufannahme erfol-

gen oder welche Ansage abgespielt werden soll, müssen Sie innerhalb der FRITZ!Box

konfigurieren.

Abbildung 8.3 Darstellung des Anrufbeantworters unter Zuhilfenahme von Mappings

Überarbeiten Sie nun die Sitemap Demohaus_produktiv.sitemap in /etc/openhab2/

sitemaps, um die FRITZ!Box in Ihre produktive Sitemap einzubringen. Soll sie als

5976.book Seite 154 Donnerstag, 30. August 2018 2:58 14

8.5 Stellen Sie Ihre Leitungswerte dar

155

8

Untermenü eines Raumes erscheinen? Möchten Sie einen eigenen, unabhängigen

Frame erstellen? Experimentieren Sie mit Mappings, dem visibility-Tag, Transfor-

mation Services – in Ihrer Sitemap fließen all diese Features zusammen.

Text label="FRITZ!Box" icon="network" {Frame item=fbNeueNachrichten label="Anrufbeantworter [%d neue ¿Nachricht(en)]" {Switch item=fbAnrufbeantworter

label="Anrufbeantworter"icon="network"mappings=[ON="Ein", OFF="Aus"]

Text item=fbNeueNachrichtenlabel="Neue Sprachnachrichten [%d]"icon="chart"visibility=[fbNeueNachrichten > 0]

} // END Frame Anrufbeantworter} // END FRITZ!Box

Listing 8.7 Verbesserte Darstellung des FRITZ!Box-Frames in der Sitemap

8.5 Stellen Sie Ihre Leitungswerte dar

Das Binding bietet Ihnen noch einige andere Channels, die Sie auswerten und nutzen

können. Als Beispiele greifen wir uns an dieser Stelle die Up- und Downstream-Werte

Ihrer DSL-Verbindung heran. Die Dokumentation des Bindings gibt Ihnen Aufschluss

darüber, welche Werte Sie außerdem abrufen können.

Abbildung 8.4 Suchen Sie nicht mehr umständlich nach Ihren Leitungswerten –

integrieren Sie diese einfach in Ihre Sitemap.

5976.book Seite 155 Donnerstag, 30. August 2018 2:58 14

Page 10: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

8 Integration Ihrer FRITZ!Box

156

Erweitern Sie also Ihre Fritzbox.items um die nachfolgenden Einträge:

String fbDslStatus"FBox DSL Status [%s]"<line>(gFritzbox){fritzboxtr064="dslStatus"}

String fbExternalIp"FBox WAN IP [%s]"<network>(gFritzbox){fritzboxtr064="wanip"}

Number fbDslUpstream"DSL Upstream [%s mbit/s]"<line>(gFritzbox){fritzboxtr064="dslUpstreamCurrRate"}

Number fbDslDownstream"DSL Downstream [%s mbit/s]"<line>(gFritzbox){fritzboxtr064="dslDownstreamCurrRate"}

Listing 8.8 Einige zusätzliche Items, die Leitungswerte der FRITZ!Box abrufen

Integrieren Sie diese Werte nun in Ihre Sitemap Demohaus_produktiv.sitemap, so

haben Sie Ihre Leitungswerte immer im Blick und müssen sich nie wieder umständ-

lich auf die Suche nach der vom Provider zugewiesenen externen IP-Adresse Ihres

Anschlusses machen.

Text item=fbDslStatus label="FRITZ!Box [%s]" {// FRAME Anwesenheit// FRAME AnrufbeantworterFrame label="Leitungswerte" {Text item=fbExterneIp

label="Externe IP-Adresse [%s]"icon="line"visibility=[fbDslStatus == "Up"]

Text item=fbDslExterneIplabel="Keine DSL-Verbindung [⛔]"icon="error"visibility=[fbDslStatus != "Up"]

5976.book Seite 156 Donnerstag, 30. August 2018 2:58 14

8.5 Stellen Sie Ihre Leitungswerte dar

157

8

Text item=fbDslUpstreamlabel="Upstream [%s mbit/s]"icon="line"visibility=[fbDslStatus == "Up"]

Text item=fbDslUpstreamlabel="Upstream N/A [⛔]"icon="error"visibility=[fbDslStatus != "Up"]

Text item=fbDslDownstreamlabel="Downstream [%s mbit/s]"icon="line"visibility=[fbDslStatus == "Up"]

Text item=fbDslDownstreamlabel="Downstream N/A [⛔]"icon="error"visibility=[fbDslStatus != "Up"]

} // END Frame Leitungswerte} // END FRITZ!Box

Listing 8.9 Ein etwas komplexeres Beispiel für die Einbindung in die Sitemap

Lassen Sie uns hier ein erweitertes Beispiel einer Sitemap anführen: So werden die

Angaben für Upstream, Downstream und IP-Adresse nur dann angeführt, wenn die

DSL-Verbindung auch wirklich steht, sprich wenn das Item fbDslStatus den Wert

Up hat. Ist das nicht der Fall, können Sie entscheiden, die Anzeige komplett auszu-

lassen – oder aber Sie weisen entsprechende Platzhalter aus, die den Fehlerzustand

verdeutlichen.

Erwägen Sie, in diesem Zusammenhang auch mit Persistence Services zu arbeiten.

Indem Sie die gesammelten Werte bezüglich Ihres DSL-Anschlusses dauerhaft spei-

chern, können Sie diese auswerten – im Fall einer DSL-Störung kann Ihnen dies wert-

volle Informationen liefern. Mehr zum Thema Persistence erfahren Sie in Kapitel 19,

mehr zur grafischen Darstellung in Kapitel 24.

Das Binding bietet noch weitere und über die hier aufgezeigten Möglichkeiten hi-

nausgehende Channels. Machen Sie sich mit der Dokumentation vertraut, und ent-

scheiden Sie, welche Angaben in Ihrem Setup sinnvoll erscheinen könnten.

5976.book Seite 157 Donnerstag, 30. August 2018 2:58 14

Page 11: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

8 Integration Ihrer FRITZ!Box

158

Abbildung 8.5 Darstellung der gesammelten Leitungswerte in Grafana

5976.book Seite 158 Donnerstag, 30. August 2018 2:58 14

Page 12: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

301

15

Kapitel 15

Things – »Alles ist ein Ding«

Widmen wir uns nun ausführlicher der Frage: Was ist ein Thing, was

kann es und wozu ist es gut?

Auf den ersten Blick kann die Architektur von openHAB 2 mit ihren Konzepten ein-

schüchternd wirken. Deshalb wollen wir nun versuchen, einen möglichst unkom-

plizierten Blick auf »die Frage nach dem Ding« zu werfen. Doch was ist denn nun ei-

gentlich ein Thing?

Plump gesagt handelt es sich bei einem Thing um etwas, das Sie Ihrer openHAB-2-In-

stallation hinzufügen können, um deren Funktionsumfang zu erweitern. In erster

Linie kommen Ihnen nun vermutlich Geräte in den Sinn, und damit liegen Sie auch

ganz richtig: Jeder Türsensor, jedes Heizkörperthermostat, jede smarte LED-Lampe,

die Sie in Ihr Setup aufnehmen, wird als jeweils ein Thing geführt.

Abbildung 15.1 Die Darstellung der Things in Paper UI erfolgt in alphabetischer Reihenfolge.

Wichtig ist hierbei, dass nicht nur Geräte als Thing auftreten können, sondern bei-

spielsweise auch Webservices, kurz jede beliebige Informations- bzw. Funktions-

quelle.

Im täglichen Betrieb haben Sie mit den Things tatsächlich eher wenig zu tun. Rele-

vanz haben Things im Grunde genommen nur während der grundsätzlichen Einrich-

tung und Konfiguration.

5976.book Seite 301 Donnerstag, 30. August 2018 2:58 14

Page 13: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

15 Things – »Alles ist ein Ding«

302

Abbildung 15.2 Auch die Verwendung von Bindings ohne direkte Hardware-

anbindung stellt üblicherweise konfigurierbare Things bereit.

Diese Konfiguration erfordert meist mehrere und zum Teil verpflichtende Angaben

wie die IP-Adresse eines Gateways, Ihre genauen Standortangaben, einen API-Key,

um nur wenige zu nennen. Nähere Informationen finden Sie immer in der Doku-

mentation des zugrunde liegenden Bindings.

15.1 Channels

Einmal hinzugefügt, präsentiert Ihr Thing Ihnen nun in Form verschiedener Chan-

nels alle Funktionalitäten, die es zu bieten vermag. Am Beispiel eines Philips Hue

Lightstrips wollen wir uns die Channels einmal näher ansehen.

Abbildung 15.3 Der Lightstrip vom Typ 210 bietet zwei verschiedene

Channels: Farbe und Farbtemperatur.

Sie erfahren hier die aktuelle Firmware-Version Ihres Lightstrips und auch, dass er

Ihnen zwei verschiedene Kanäle zur Kommunikation anbietet – seine beiden Chan-

nels. Paper UI unterstützt Sie schon hier bei der Konfiguration, indem es Ihnen an-

zeigt, dass das Item zur Farbe vom Typ Color sein sollte, wohingegen das Item zur

Farbtemperatur dem Typ Dimmer entspricht.

Das Thing ist also lediglich die zugrunde liegende »virtuelle« Quelle, wohingegen die

Channels echte Funktionalität (»Wähle Farbe« im Fall der Lampe) oder Information

(»Wert der Außentemperatur« im Fall eines Thermometers) repräsentieren. Items

wiederum binden sich an diese Channels, und auf Items beruhen, wie Sie noch sehen

werden, Regelwerke und Sitemaps.

5976.book Seite 302 Donnerstag, 30. August 2018 2:58 14

15.3 Thing-Status

303

15

15.2 Bridges

Eine Bridge ist eine besondere Form eines Things. Bridges sind Geräte, die Sie Ihrer

openHAB-2-Installation hinzufügen müssen, um über sie Zugriff und Steuermöglich-

keit auf andere Geräte zu erhalten. Dies ist beispielsweise bei der Verwendung des

Philips-Hue-Systems der Fall: Sie müssen die Hue-Bridge als Thing hinzufügen, und

über dieses Gateway erhalten Sie Zugriff auf die dort angelernten Lampen. Neue Lam-

pen müssen wiederum am Gateway angelernt werden, wodurch sie openHAB 2 un-

mittelbar zur Verfügung gestellt und dort wiederum als Thing eingebracht werden

können.

Ein Betrieb ohne diese Gateways ist in der Regel nicht möglich. So kommuniziert

openHAB 2 auch bei der Verwendung von HomeMatic-Funkaktoren nicht mit jedem

Aktor direkt, sondern indirekt über die HomeMatic CCU2, die wiederum als Thing in

openHAB 2 eingebunden werden muss.

15.3 Thing-Status

Jedes Thing hat einen aktuellen Status, der Ihnen dabei helfen soll, Probleme zu iden-

tifizieren und Fehlfunktionen einzugrenzen. Die verschiedenen Zustände, die ein

Thing annehmen kann, betrachten wir deshalb nun einzeln:

� UNINITIALIZED: Dies entspricht dem initialen Status, wenn Sie das Thing neu hin-

zugefügt oder openHAB 2 neu gestartet haben. Ihr Thing ist auch dann UNINITIA-

LIZED, wenn der Initialisierungsprozess fehlschlug oder das Binding nicht (mehr)

verfügbar ist. Kommandos, die sich auf dieses Thing beziehen, werden nicht aus-

geführt.

� INITIALIZING: Dieser Zustand tritt ein, während das Binding das Thing zu initia-

lisieren versucht. Wie lange das Thing in diesem Zustand verweilt, hängt von den

Timeouts des jeweiligen Bindings ab und davon, wie lange es dauert, alles einzule-

sen. Auch in diesem Fall ist es so, dass Kommandos, die sich auf dieses Thing bezie-

hen, nicht ausgeführt werden.

� UNKNOWN: Der Initialisierungsprozess wurde vollständig durchgeführt. Doch nun

meldet Ihnen das verwendete Binding, dass es nicht möglich ist, zu ermitteln, ob

das Thing nun ONLINE oder OFFLINE ist. Das Senden von Kommandos ist in diesem

Zustand daher erlaubt, denn manche Geräte erscheinen erst dann ONLINE, wenn

ihnen ein Kommando gesendet wurde. In diesem Zustand muss das Ziel darin be-

stehen, das Thing möglichst schnell in einen eindeutigen Zustand zu versetzen.

� ONLINE: ONLINE bezeichnet sozusagen den Idealzustand. Das Binding hat das Gerät

erfolgreich initialisiert, die Kommunikation steht. Das Thing ist vollständig be-

triebsbereit und kann über Kommandos gesteuert werden.

5976.book Seite 303 Donnerstag, 30. August 2018 2:58 14

Page 14: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

15 Things – »Alles ist ein Ding«

304

� OFFLINE: Es ist anzunehmen, dass das Gerät nicht erreichbar ist und keine Kom-

mandos verarbeiten wird. Es ist allerdings dennoch möglich, Kommandos zu sen-

den, da manche Geräte nach Erhalt eines Kommandos ihren Zustand zu ONLINE än-

dern.

� REMOVING: Das System wurde angewiesen, das Thing aus der Konfiguration zu ent-

fernen, doch das Binding hat diese Aufgabe noch nicht vollständig abgeschlossen.

Mit hoher Wahrscheinlichkeit funktioniert das Gerät nicht, weshalb Kommandos

nicht ausgeführt werden.

� REMOVED: Dieser nur sehr kurzfristig auftretende Status zeigt an, dass das Thing aus

dem System entfernt wurde, nachdem es auf REMOVING stand.

Abbildung 15.4 Things und ihre Zustandsübergänge

Kommt ein Item neu ins System, ist es UNINITIALIZED. Von hier aus versucht das

Thing, sich zu initialisieren, wodurch sich sein Zustand zu INITIALIZING ändert. Sollte

dieser Vorgang fehlschlagen, so wird es erneut den Zustand UNINITIALIZED anneh-

men.

Ist die Initialisierung hingegen erfolgreich, wird der Status des Things durch das zu-

grunde liegende Binding auf UNKNOWN, ONLINE oder OFFLINE gesetzt – der Handler steht

vollständig zur Verfügung. Von jedem dieser drei Zustände aus kann das Thing zu-

rück auf UNINITIALIZED fallen. Die beiden Zustände REMOVING bzw. REMOVED können je-

derzeit aus jedem Zustand heraus erreicht werden.

15.4 Statusdetails

Über den eigentlichen Zustand hinausgehend stellt openHAB 2 Ihnen weitere Details

bereit, mit deren Hilfe Sie vorliegende Fehlerbilder weiter eingrenzen können.

removal

initializedREMOVING

REMOVED

UNINITIALIZED INITIALIZING

ONLINE OFFLINE

UNKNOWN

5976.book Seite 304 Donnerstag, 30. August 2018 2:58 14

15.4 Statusdetails

305

15

UNINITIALIZED

� HANDLER_MISSING_ERROR: Der erforderliche Handler kann nicht initialisiert werden,

da das erforderliche Binding nicht verfügbar bzw. nicht gestartet ist.

� HANDLER_REGISTERING_ERROR: Die Initialisierung des Handlers schlug während der

Serviceregistrierung fehl.

� HANDLER_CONFIGURATION_PENDING: Der Handler wurde erfolgreich registriert. Seine

Initialisierung schlägt jedoch fehl, da erforderliche Konfigurationsangaben fehlen.

� HANDLER_INITIALIZING_ERROR: Der Handler schlug in der Phase der Initialisierung

fehl.

� BRIDGE_UNINITIALIZED: Die Bridge, über die dieses Thing angesprochen werden

muss, ist nicht initialisiert und daher nicht verfügbar, sodass auch das Thing selbst

nicht angesprochen werden kann.

� NONE: Es liegen keine weiteren Informationen vor.

ONLINE

� CONFIGURATION_PENDING: Es stehen noch Konfigurationen zur Übertragung an.

Nicht jedes Binding möchte sich rückversichern, dass ein Gerät die gesendete Kon-

figuration auch akzeptiert hat, aber einige tun es.

� COMMUNICATION_ERROR: Bei der Kommunikation mit dem Gerät ist ein (womöglich

lediglich temporärer) Fehler aufgetreten.

� CONFIGURATION_ERROR: Etwas bezüglich der Konfiguration ist fehlerhaft. Dies hat

zur Folge, dass mit dem Gerät oder Dienst keine Kommunikation möglich ist. Sie

müssen die Konfiguration des Things überarbeiten.

� NONE: Es liegen keine weiteren Informationen vor.

OFFLINE

� BRIDGE_OFFLINE: Das System muss davon ausgehen, dass das Gerät nicht erreichbar

sein kann, da die zugehörige Bridge als OFFLINE geführt wird.

� FIRMWARE_UPDATING: Das Thing ist gerade mit einem Update seiner Firmware be-

schäftigt.

� DUTY_CYCLE: Das Thing hat innerhalb eines bestimmten Zeitraumes zu viele Sende-

versuche unternommen. Weitere Sendeversuche werden daher bis Ablauf einer

bestimmten Frist ignoriert.

Über die Angabe von Status und Details hinausgehend kann das Binding dafür sor-

gen, dass zusätzlich eine Beschreibung hinterlegt wird. Diese ist für den Endanwen-

der allerdings weniger von Interesse als für den Entwickler.

5976.book Seite 305 Donnerstag, 30. August 2018 2:58 14

Page 15: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

5976.book Seite 426 Donnerstag, 30. August 2018 2:58 14

427

23

Kapitel 23

openHAB 2 REST API

Sie möchten noch mehr Möglichkeiten? Noch mehr Interaktion?

Noch mehr Smart Home? Arbeiten Sie mit der REST API!

openHAB 2 aus anderen Services heraus auf unkompliziertem Weg ansprechen zu

können, den Status von Items über Skripte zu ermitteln oder über diese auch zu ver-

ändern – klingt das verlockend für Sie?

Was versteht man unter einer REST API?

REST steht für REpresentational State Transfer, API für Application Programming

Interface, zusammen bezeichnet es ein Programmierparadigma für verteilte Systeme

– und insbesondere für Webservices – zur Maschine-zu-Maschine-Kommunikation.

Diese Form der Schnittstelle bedient sich der gängigen Protokolle und Mechanismen

des Internets, wie beispielsweise HTTP oder HTML.

Über die openHAB 2 REST API können Sie (bzw. Ihre Programme und Skripte) fast

alle Informationen auf einfache Art auslesen: Informationen zu installierten Bin-

dings und deren Konfiguration, zu Things oder Items beispielsweise. Und das be-

inhaltet natürlich auch die Möglichkeit, beschreibbare Werte zu modifizieren oder

Aktionen anzustoßen – beispielsweise das Einschalten einer Lampe.

Übrigens

Auch die User Interfaces wie Basic UI oder Paper UI nutzen die openHAB 2 REST API

für die Darstellung und Bedienung der Items.

Die Kommunikation basiert auf der Nutzung des HTTP-Protokolls. Achten Sie auf

hinreichende Absicherung, sonst kann sich die REST API – beispielsweise dann, wenn

Sie sie über das Internet verfügbar machen – zu einem großen Sicherheitsrisiko ent-

wickeln.

Die Dokumentation

Die REST API gehört den fortgeschrittenen Themen an. Obgleich sie in jeder Neu-

installation enthalten ist (und enthalten sein muss, die User Interfaces sind ja direkt

5976.book Seite 427 Donnerstag, 30. August 2018 2:58 14

Page 16: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

23 openHAB 2 REST API

428

davon abhängig), müssen Sie die Dokumentation manuell nachinstallieren, wenn Sie

damit arbeiten möchten. Veranlassen Sie dies in Paper UI, indem Sie über Add-ons •

Misc hin zu REST Documentation navigieren und den Vorgang mit einem Klick auf

Install starten. Sie erreichen die Dokumentation anschließend über:

http://openHABianPi:8080/doc/index.html

Für den Moment können wir dieses Thema an dieser Stelle lediglich streifen, doch

ganz sicher genügt das bereits, Sie final zu entflammen. Welche Aufgaben genau kön-

nen Sie über die REST API bewältigen? Nun – zahlreiche!

� Sie können über externe Programme aktuelle Daten aus Ihrer openHAB-2-Instanz

erhalten.

� Sie können umgekehrt »von außerhalb« Aktionen anstoßen oder Daten an Ihre

openHAB-2-Instanz übergeben, beispielsweise von jenen Aktoren, die sich nicht

über Bindings an openHAB 2 anbinden lassen.

� Sie haben die Möglichkeit, Ihre Items und Things zu untersuchen, sie gezielt zu

überwachen, Fehlersuche zu betreiben und – ein nicht zu vernachlässigender Fak-

tor – externe Systeme zu integrieren.

23.1 Nutzen Sie cURL

Im Folgenden nutzen wir cURL, ein weitverbreitetes Konsolenprogramm, damit Sie

einige erste Erfahrungen im Umgang mit der REST API erhalten. Betrachten Sie das

nachfolgende Beispiel: Schalten Sie zur Abwechslung das Lichtband im Wohnzim-

mer, repräsentiert durch das Switch-Item Lichtband_Schalter, doch einmal über

einen curl-Aufruf statt über das User Interface!

curl -X POST \--header "Content-Type: text/plain" \--header "Accept: application/json" \-d "ON" \"http://openHABianPi:8080/rest/items/Lichtband_Schalter"

Fordern Sie sich doch einmal eine Liste all Ihrer Sitemaps per cURL an – auch das ist

problemlos möglich! Fügen Sie Ihrem Aufruf ein | python -m json.tool hinzu, so er-

halten Sie eine hübschere und lesbarere Ausgabe.

curl -X GET \--header "Accept: application/json" \"http://openHABianPi:8080/rest/sitemaps" \| python -m json.tool

5976.book Seite 428 Donnerstag, 30. August 2018 2:58 14

23.3 Aus Ihren Regelwerken heraus

429

23

23.2 Nutzen Sie das Webinterface

Sie können die verfügbaren Aufrufe sehr bequem über das Webinterface ausprobie-

ren. Navigieren Sie zur Dokumentation der REST API, die Sie unter http://openHAB-

ianPi:8080/doc/index.html finden. Klicken Sie nun beispielsweise auf sitemaps, so

erhalten Sie eine Übersicht der verfügbaren Möglichkeiten – die erste in der Liste

heißt GET • /sitemaps.

Abbildung 23.1 Navigieren Sie durch die Möglichkeiten, die Ihnen die REST API bietet.

Ein Klick auf die Schaltfläche Try it out! liefert Ihnen Folgendes:

� Curl: Zeigt den verwendeten cURL-Aufruf an – denn auch das Webinterface tut

nichts anderes, als cURL-Anfragen zu senden.

� Request URL: Bezeichnet die zugrunde liegende Instanz, zu der die Verbindung

aufgebaut wird (üblicherweise handelt es sich hierbei um http://openHABianPi:

8080/rest/sitemaps).

� Response Body: Bezeichnet die Antwort, die auf die Anfrage hin empfangen wur-

de. Im Beispiel handelt es sich hierbei um alle im System verfügbaren Sitemaps.

� Response Code: Zeigt den HTTP-Status-Code, der auf die Anfrage hin aufgezeich-

net wurde (200 beispielsweise bedeutet »OK«). Die Bedeutung der einzelnen Codes

können Sie hier nachschlagen: https://www.w3.org/Protocols/rfc2616/rfc2616-sec-

10.html

� Response Headers: Enthält Datum, Größe und Typ der Information, die der Ser-

ver an den anfordernden Client zurückgesendet hat.

23.3 Aus Ihren Regelwerken heraus

Da es sich bei den Anfragen an die REST API um simple HTTP-Requests handelt,

spricht nichts dagegen, sich dies auch aus Regelwerken heraus zunutze zu machen.

5976.book Seite 429 Donnerstag, 30. August 2018 2:58 14

Page 17: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

23 openHAB 2 REST API

430

rule "REST API Demo"when

Time cron "0 0/1 * * * ? *"then

val alleThings = sendHttpGetRequest("http://openHABianPi:8080/rest/things")logInfo("RestApi", "Output: {}", alleThings)

end

Listing 23.1 Ansprechen der REST API über »sendHttpGetRequest«

Sie können Routinen entwickeln, um über die REST API eine Liste aller Things zu er-

halten und anschließend nacheinander Aktionen auf jedes einzelne Thing auszufüh-

ren – beispielsweise eine Überprüfung, ob sie erreichbar ist oder nicht.

23.4 Nutzen Sie Python mit Icinga 2

Nachfolgend möchte ich Ihnen anhand eines etwas umfangreicheren Beispiels eine

Idee davon geben, in welchem Maße Sie Ihre openHAB-2-Installation unter Nutzung

der REST API integrieren können. Hierbei soll es um die Integration von openHAB 2

und Icinga 2 gehen.

Abbildung 23.2 Der Raspberry Pi ist erreichbar, und openHAB 2 gibt über die

REST API Informationen aus – alles im grünen Bereich!

5976.book Seite 430 Donnerstag, 30. August 2018 2:58 14

23.4 Nutzen Sie Python mit Icinga 2

431

23

Was ist Icinga 2?

Bei Icinga 2 handelt es sich um ein Framework zur Überwachung (Monitoring) von

Systemen und Diensten innerhalb Ihres Netzwerkes. Im Alarmfall können Sie sich

auf verschiedenen Wegen (beispielsweise per E-Mail, Messenger etc.) informieren

lassen. Auch bei Icinga 2 handelt es sich um Open-Source-Software, ihre Nutzung ist

für Sie kostenfrei.

Icinga 2 ist hierbei stellvertretend für eine wie auch immer geartete Form von Moni-

toring-Lösung zu sehen. Die REST API gibt Ihnen die Freiheit, openHAB 2 beliebig zu

integrieren. Lassen Sie uns ein Beispiel betrachten.

Stellen Sie sich vor, Sie nutzen die in Abschnitt 13.11 vorgestellte Schaltung zum Öff-

nen Ihrer Rollläden abhängig vom Sonnenaufgang. Nun erwachen Sie morgens, und

die Rollläden sind nicht geöffnet, obgleich das Regelwerk schon geraume Zeit feh-

lerfrei arbeitete. Die Frage ist also: Was führt dazu, dass die Schaltung nicht funktio-

niert? Leider ist die Antwort auf diese Frage alles andere als trivial, lassen Sie uns also

einen Blick auf mögliche Erklärungen werfen:

1. Das Netzwerk verursacht Probleme, vielleicht durch defekte Kabel, defekte oder

ausgeschaltete Router oder Ähnliches.

2. Der openHAB-2-Host ist aus bzw. nicht erreichbar – vielleicht abgestürzt, vielleicht

ist die SD-Karte kaputtgegangen, oder das Strom- bzw. Netzwerkkabel ist kaputt

bzw. »abgefallen«.

3. Der Host läuft zwar, doch der Dienst openHAB 2 läuft nicht.

4. Der Dienst openHAB 2 läuft, doch eines der benötigten Bindings (zum Beispiel das

Astro-Binding oder das HomeMatic-Binding) macht Probleme, ist nicht aktiv, ist

nicht installiert oder überhaupt nicht bzw. fehlerhaft konfiguriert.

5. Dienst und Bindings sind betriebsbereit, aber das HomeMatic-Gateway, die CCU2,

ist entweder nicht erreichbar (Strom, Netzwerk) oder im Fehlerzustand.

6. Dienst und Gateway sind in Ordnung, doch der Aktor ist im Fehlerzustand, sodass

das Gateway ihn nicht steuern kann – beispielsweise weil seine Batterie leer ist

(sofern er eine hat) oder die Sicherung, an der er hängt, gefallen ist (wenn er keine

Batterie hat), er außerhalb der Reichweite des Gateways ist, er sich zum Spaß »auf-

gehängt« hat und überhaupt nicht mehr reagiert, er für den Moment sein Sende-

limit (Duty cycle, siehe Abschnitt 9.1.1) erreicht hat.

7. Sie haben das Regelwerk eben doch irgendwie verändert, aus Versehen gelöscht

oder deaktiviert – mithin die simpelste (und auch häufigste) Erklärung.

Eine naheliegende Herangehensweise ist, möglichst viele dieser einzelnen Aspekte

kontinuierlich zu überwachen und zeitnah Informationen bezüglich eventueller

Ausfälle und Fehlfunktionen zu erhalten. Nicht bei allen ist das möglich. Die Möglich-

5976.book Seite 431 Donnerstag, 30. August 2018 2:58 14

Page 18: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

23 openHAB 2 REST API

432

keiten, die Softwarefunktionalität eines Gateways (wie beispielsweise der Hue-Bridge

oder der HomeMatic CCU2) von außerhalb zu überprüfen, sind sehr eingeschränkt.

Ist das Gateway netzwerktechnisch erreichbar (sprich reagiert es auf einen ping), das

Webinterface jedoch nicht funktional, so ist erfahrungsgemäß davon auszugehen,

dass das Gateway im Gesamten einen »Tritt« (in Form eines Neustarts, versteht sich)

benötigt. Umgekehrt sind Netzwerkverfügbarkeit und Webinterface jedoch keine In-

dikatoren dafür, dass die Kommunikation mit den einzelnen Aktoren fehlerfrei funk-

tioniert.

Alles lässt sich also nicht problemlos abbilden, aber doch einiges davon:

� Mit hostalive-Checks prüfen Sie die Verfügbarkeit von Systemen (wie einzelnen

Rechnern, Routern, Gateways) – Sie wissen dann zumindest, dass sie Strom haben

und dass der Netzwerk-Stack grundsätzlich funktioniert. Beachten Sie jedoch, dass

auch ein Server, der mit Kernel-Panic den Dienst vollständig eingestellt hat, üb-

licherweise auf Pings reagiert – die Verfügbarkeit sagt nichts über die Funktiona-

lität aus.

� Mit tiefer gehenden Checks prüfen Sie die Funktionalität von Systemen – Auslas-

tung von Prozessoren und Arbeitsspeicher, angemeldete Benutzer etc.

� Analog verhält es sich mit Diensten: Nur, weil beispielsweise auf Port 80 etwas

läuft, heißt das nicht, dass es sich hierbei um einen funktionsfähigen Webserver

handelt. Prüfen Sie also nicht nur die Verfügbarkeit von Diensten, sondern auch

wo immer möglich deren Funktionalität.

Auf diese Art können Sie die Punkte 1 und 2 bereits vollständig abdecken. Um Punkt 3

zu prüfen – also ob der Dienst openHAB 2 nicht nur läuft, sondern auch reagiert und

über die REST API Informationen ausgibt –, ist ein kleines Python-Skript wie das fol-

gende denkbar. Stellen Sie vor Ausführung sicher, dass Ihr Raspberry Pi zumindest

über das Paket python verfügt.

#!/usr/bin/env pythonimport requestsfrom requests.exceptions import ConnectionErrordef openHAB_request(url):

try:r = requests.get(url, timeout=10)

except ConnectionError as e:print eprint('ERROR - REST API not responding')

data = r.json()return data

def main():restapi = 'http://openHABianPi:8080/rest'

5976.book Seite 432 Donnerstag, 30. August 2018 2:58 14

23.4 Nutzen Sie Python mit Icinga 2

433

23

itemcount = str(len(openHAB_request(restapi + '/items?recursive=true')))thingcount = str(len(openHAB_request(restapi + '/things')))systemuuid = requests.get(restapi + '/uuid')exit_msg = thingcount + ' things and ' + itemcount + ¿

' items in openHAB 2 system with UUID ' + systemuuid.textprint(exit_msg)

if __name__ == "__main__":main()

Listing 23.2 Ein kleines Python-Skript kommuniziert mit der REST API.

Legen Sie dieses Skript als openHAB2_alive.py in /home/openhabian/bin ab, und ma-

chen Sie es mit chmod +x ausführbar. Anschließend können Sie es bereits ausführen.

./openHAB2_alive.py

20 things and 147 items in openHAB 2 system with UUID 4df94d76-(xxx)-aec9

Sie sehen, mit etwas Mühe ist es gar nicht so kompliziert, über die REST API Informa-

tionen zu erhalten – und Python eignet sich hierzu sogar ganz besonders. Im Sinne

der Überwachung können Sie die Punkte 1 bis 3 und Punkt 5 zumindest in Bezug auf

grundsätzliche Erreichbarkeit in zufriedenstellender Weise abhaken. Im Fehlerfall er-

laubt Ihnen dies, sich ganz zielgerichtet auf die verbliebenen Punkte zu konzentrie-

ren, was Ihre Fehlersuche signifikant beschleunigt.

Für die Integration in Icinga 2 können Sie sich das etwas umfangreichere Skript

check_openhab2.py zunutze machen, das Sie zu Ihrer freien Verfügung auf GitHub

oder auf Icinga Exchange finden:

https://exchange.icinga.com/spillerm/icinga2-plugin-openhab2

Oder erstellen Sie etwas eigenes, denn wie Sie gerade gesehen haben, ist das alles gar

nicht so schwer.

Damit müssen wir die REST API – zumindest im Kontext dieses Buches – verlassen,

doch vergessen sollten Sie sie nicht. Ihr Funktionsumfang ist groß, und sie kann

Ihnen die Arbeit mit dem System durchaus angenehmer gestalten.

5976.book Seite 433 Donnerstag, 30. August 2018 2:58 14

Page 19: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Auf einen Blick

Auf einen Blick

TEIL I Lernen Sie openHAB 2 kennen

1 Ihr Smart Home mit openHAB 2 ....................................................................... 27

2 openHAB 2 zieht ein – die Installation ........................................................... 35

3 Damit alles rundläuft – Administration und Praxistipps ......................... 57

4 Ihre Werkstatt – Management und Administration ................................. 81

5 Alle Informationen auf einen Blick – die Interfaces ................................... 89

6 Konzepte und Zusammenspiel – die ersten Praxisschritte mit openHAB 2 ....................................................................................................... 95

TEIL II openHAB 2 – Einsatz im Demohaus

7 Stimmige Beleuchtung – so integrieren Sie Philips Hue .......................... 137

8 Integration Ihrer FRITZ!Box ................................................................................ 149

9 Sensoren und Aktoren – so integrieren Sie HomeMatic .......................... 159

10 Film ab! Integration von Kodi ............................................................................ 203

11 Denken in Szenen – so binden Sie Apple HomeKit ein ............................. 209

12 Einbringen von Actions ........................................................................................ 221

13 Und Action! Ideen, Projekte und Regelwerke ............................................... 229

TEIL III openHAB 2 – Konzepte und Theorie

14 Bindings .................................................................................................................... 299

15 Things – »Alles ist ein Ding« .............................................................................. 301

16 Items – die virtuelle Sicht auf Ihre Hardware .............................................. 307

17 Sitemaps ................................................................................................................... 333

18 Transformation Services – Ihre persönlichen Übersetzungen ............... 363

19 Persistence Services – speichern Sie Ihre Daten dauerhaft ..................... 371

20 Voice Services – »Ich glaub, ich höre Stimmen« ......................................... 379

21 Actions – Kommunikation des Systems ......................................................... 385

22 Regelwerke oder Rules ......................................................................................... 393

23 openHAB 2 REST API .............................................................................................. 427

24 Die Erstellung von Graphen ............................................................................... 435

25 Das System auf einer externen Platte betreiben ........................................ 453

26 System-Backups mit AMANDA ......................................................................... 459

27 Support und Ihr Mitwirken in der Community ............................................ 469

5976.book Seite 3 Donnerstag, 30. August 2018 2:58 14

Page 20: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

5

Inhalt

Materialien zum Buch ....................................................................................................................... 17

Geleitwort von Kai Kreuzer .............................................................................................................. 19

TEIL I Lernen Sie openHAB 2 kennen

1 Ihr Smart Home mit openHAB 2 27

1.1 Was ist openHAB 2? ........................................................................................................... 28

1.2 Was ist openHAB 2 nicht? ............................................................................................... 29

1.3 Modernes Wohnen in alten Gemäuern .................................................................... 30

1.4 Heimautomation – besser nicht grenzenlos ........................................................... 30

1.5 Das Demohaus ...................................................................................................................... 32

2 openHAB 2 zieht ein – die Installation 35

2.1 Systemvoraussetzungen .................................................................................................. 36

2.2 Der Raspberry Pi 3, Modell B/B+, und sein Zubehör ........................................... 38

2.3 Installation von openHABian auf dem Raspberry Pi ........................................... 41

2.3.1 Erster Schritt: Download der benötigten Dateien .................................... 42

2.3.2 Zweiter Schritt: Einrichtung der Speicherkarte ......................................... 42

2.3.3 Dritter Schritt: Erstes Booten ........................................................................... 43

2.3.4 Vierter Schritt: Erstes Anmelden per SSH .................................................... 45

2.3.5 Fünfter Schritt: Passwortänderung ............................................................... 46

2.4 Installation von openHABian auf Debian bzw. Ubuntu .................................... 47

2.5 Manuelle Installation von openHAB 2 ...................................................................... 47

2.5.1 Unter Linux ............................................................................................................. 48

2.5.2 Unter macOS ......................................................................................................... 49

2.5.3 Unter Windows ..................................................................................................... 51

2.5.4 Installation auf einer Synology DiskStation ................................................ 51

2.6 Nachbereitung ...................................................................................................................... 53

2.7 Sprache und Systemzeit ................................................................................................... 55

5976.book Seite 5 Donnerstag, 30. August 2018 2:58 14

Page 21: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

6

3 Damit alles rundläuft – Administration und Praxistipps 57

3.1 Starten und Stoppen des Dienstes .............................................................................. 57

3.2 Die Arbeit mit der Karaf-Konsole ................................................................................. 58

3.2.1 Das Verbinden mit der Konsole ....................................................................... 58

3.2.2 Ändern des Konsolenpasswortes ................................................................... 62

3.2.3 Die Konsole an alle Interfaces binden ........................................................... 62

3.3 Logs finden und verstehen .............................................................................................. 62

3.3.1 Logmeldungen in Echtzeit ................................................................................ 63

3.3.2 Logdateien im Dateisystem .............................................................................. 64

3.3.3 Aufruf im Browser ............................................................................................... 65

3.4 Konfigurationen finden und bearbeiten .................................................................. 66

3.4.1 Im Dateisystem ..................................................................................................... 66

3.4.2 Konfiguration auf einem Samba-Share ........................................................ 67

3.5 Backup und Restore ........................................................................................................... 71

3.6 Einige Worte zur Sicherheit ............................................................................................ 72

3.6.1 Ändern Sie alle Default-Passwörter ............................................................... 72

3.6.2 Halten Sie Ihre Systeme aktuell ...................................................................... 73

3.6.3 Ansteuerung von unterwegs ........................................................................... 74

3.6.4 Lassen Sie auch Aktoren verschlüsselt kommunizieren ......................... 77

3.6.5 Absicherung bei einem Stromausfall ............................................................ 78

4 Ihre Werkstatt – Management und Administration 81

4.1 Paper UI ................................................................................................................................... 81

4.2 Microsoft Visual Studio Code ........................................................................................ 82

4.3 HomeBuilder ......................................................................................................................... 86

5 Alle Informationen auf einen Blick – die Interfaces 89

5.1 Basic UI ..................................................................................................................................... 89

5976.book Seite 6 Donnerstag, 30. August 2018 2:58 14

Inhalt

7

5.2 HABPanel ................................................................................................................................ 90

5.3 openHAB-Smartphone-Apps ......................................................................................... 92

6 Konzepte und Zusammenspiel – die ersten Praxisschritte mit openHAB 2 95

6.1 Die Einrichtung des Demohauses ................................................................................ 95

6.1.1 Die Items ................................................................................................................. 96

6.1.2 Die Sitemaps .......................................................................................................... 98

6.2 Die ersten Schritte: Sonnenstand und Mondphasen mit

dem Astro-Binding ............................................................................................................. 104

6.2.1 Latitude und Longitude ermitteln .................................................................. 104

6.2.2 Das Astro-Binding installieren und konfigurieren .................................... 106

6.3 Wetterdaten via YAHOO! Weather ............................................................................. 116

6.3.1 Where on Earth Identifier ................................................................................. 117

6.3.2 Das Binding installieren und konfigurieren ................................................ 117

6.3.3 Die Erfassung der Items ..................................................................................... 118

6.3.4 Die Integration in die Sitemap ........................................................................ 121

6.3.5 Status Summary Items ....................................................................................... 127

6.3.6 Wettervorhersage als Webview-Element einbinden ............................... 131

TEIL II openHAB 2 – Einsatz im Demohaus

7 Stimmige Beleuchtung – so integrieren Sie Philips Hue 137

7.1 Einrichtung der Hardware ............................................................................................... 138

7.2 Das Hue-Binding installieren ......................................................................................... 138

7.3 Beleuchtung.map ................................................................................................................ 139

7.4 Das Lichtband ........................................................................................................................ 140

7.5 Der Lichtwecker ................................................................................................................... 144

5976.book Seite 7 Donnerstag, 30. August 2018 2:58 14

Page 22: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

8

8 Integration Ihrer FRITZ!Box 149

8.1 Die Inbetriebnahme ........................................................................................................... 149

8.1.1 Die Box vorbereiten ............................................................................................. 149

8.1.2 Installation und Konfiguration des Bindings .............................................. 151

8.2 Die FRITZ!Box-Items ........................................................................................................... 152

8.3 Anwesenheitserkennung anhand von Smartphones ......................................... 152

8.4 Den Anrufbeantworter ein- und ausschalten ........................................................ 154

8.5 Stellen Sie Ihre Leitungswerte dar ............................................................................... 155

9 Sensoren und Aktoren – so integrieren Sie HomeMatic 159

9.1 Das Binding installieren und die HomeMatic-Zentrale CCU2

integrieren .............................................................................................................................. 161

9.1.1 Duty Cycle ............................................................................................................... 163

9.1.2 Der Channel SIGNAL_STRENGTH .................................................................... 163

9.1.3 Batteriestände ...................................................................................................... 164

9.2 Schaltaktor HM-LC-Sw1-Pl-2 ......................................................................................... 165

9.3 MP3-Funkgong ..................................................................................................................... 167

9.3.1 Licht .......................................................................................................................... 169

9.3.2 Ton ............................................................................................................................ 170

9.4 Tür- bzw. Fenstersensor HM-Sec-SC-2 ....................................................................... 171

9.4.1 An der Haustür ...................................................................................................... 172

9.4.2 Am Notausstieg .................................................................................................... 174

9.5 Leistungsmesser HM-ES-PMSw1-Pl ............................................................................ 176

9.6 Temperaturdifferenzsensor HM-WDS30-OT2-SM ............................................... 180

9.7 Rollladenaktor HM-LC-Bl1PBU-FM .............................................................................. 185

9.8 Die vierfache Tasterschnittstelle HM-PBI-4-FM .................................................... 187

9.9 Bewegungsmelder HM-Sec-MDIR-2 ........................................................................... 189

9.10 Wandthermostat HM-TC-IT-WM-W-EU .................................................................... 190

9.11 Heizkörperthermostat HM-CC-RT-DN ....................................................................... 192

9.12 Schaltaktor HM-LC-Sw4-DR ............................................................................................ 199

5976.book Seite 8 Donnerstag, 30. August 2018 2:58 14

Inhalt

9

10 Film ab! Integration von Kodi 203

10.1 Installation des Plug-ins und Anbindung an Kodi ................................................ 203

10.2 Die Items ................................................................................................................................. 205

10.3 Die Sitemap ............................................................................................................................ 206

11 Denken in Szenen – so binden Sie Apple HomeKit ein 209

11.1 »Hey, Siri!« – das Binding und die Integration in openHAB 2 ........................ 210

11.2 Die Anbindung ...................................................................................................................... 211

11.2.1 Wenn das Pairing Probleme bereitet ............................................................ 211

11.3 Räume, Zonen, Gerätegruppen .................................................................................... 212

11.3.1 Räume ...................................................................................................................... 213

11.3.2 Zonen ....................................................................................................................... 214

11.3.3 Gerätegruppen ...................................................................................................... 214

11.4 Erstellung und Integration von HomeKit-Items .................................................... 215

11.4.1 Am Beispiel CurrentTemperature und CurrentHumidity ....................... 215

11.4.2 Am Beispiel Lighting & Switchable ................................................................ 216

11.5 »Ich möchte baden« – erstellen Sie eigene Szenen ............................................. 217

11.6 Umgang mit Einschränkungen ..................................................................................... 219

12 Einbringen von Actions 221

12.1 Telegram Messenger ......................................................................................................... 221

12.2 Mail Action ............................................................................................................................ 223

12.3 Twitter Action ...................................................................................................................... 224

13 Und Action! Ideen, Projekte und Regelwerke 229

13.1 Notausstieg geöffnet? Alarmieren Sie! ..................................................................... 229

13.2 Eine kleine Nachtlichtschaltung ................................................................................... 231

5976.book Seite 9 Donnerstag, 30. August 2018 2:58 14

Page 23: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

10

13.3 Szenenbeleuchtung im Handumdrehen ................................................................... 232

13.3.1 Das Item .................................................................................................................. 233

13.3.2 Die Sitemap ............................................................................................................ 233

13.3.3 Das Regelwerk ....................................................................................................... 234

13.4 Für sanftes Erwachen – Ihr Lichtwecker ................................................................... 235

13.5 Das Heimkino automatisiert beleuchten ................................................................. 237

13.5.1 Licht aus, Film an! ................................................................................................ 238

13.5.2 Wiedergabe beendet, Licht an ......................................................................... 239

13.6 Alternative Signalisierung Ihrer eingehenden Anrufe ....................................... 240

13.7 Pausieren Sie die Heimkinowiedergabe bei Anrufen ......................................... 242

13.8 Ihre individuelle Haustürklingel – so sorgen Sie für Aufmerksamkeit ....... 244

13.9 Die twitternde, blinkende Waschmaschine ............................................................ 246

13.10 Für Durchzug sorgen – automatische Lüftung im Badezimmer .................... 248

13.10.1 Ganz simpel: Licht an schaltet Lüfter ein ..................................................... 249

13.10.2 Etwas besser: Licht an schaltet Lüfter ein, Nachlauf 15 Minuten ....... 249

13.10.3 Profi: Sprunghaft ansteigende Luftfeuchtigkeit schaltet

Lüfter ein ................................................................................................................. 251

13.11 Pflanzenschutz – Jalousiesteuerung je nach Sonnenstand ............................. 253

13.11.1 Die Kernzeit ............................................................................................................ 254

13.11.2 Die Sonne brennt ................................................................................................. 256

13.11.3 Die Rollläden .......................................................................................................... 257

13.11.4 Öffnen, Schließen, Sonnenschutz! ................................................................. 258

13.11.5 Die finale Regel ..................................................................................................... 261

13.11.6 Die Sonnenschutzlogik in der Sitemap ......................................................... 262

13.11.7 Fazit .......................................................................................................................... 263

13.12 Heizroutinen .......................................................................................................................... 264

13.12.1 Die Items ................................................................................................................. 265

13.12.2 Die Sitemap ............................................................................................................ 266

13.12.3 Die Regelwerke ..................................................................................................... 267

13.13 Niemand im Haus? Lichter aus! Ein paar Gedanken zum

Thema Anwesenheitserkennung ................................................................................. 269

13.13.1 Die einfachste Methode – über ein Item/einen Handsensor ............... 270

13.13.2 Anhand eines im WLAN angemeldeten Smartphones ............................ 270

13.13.3 RFID ........................................................................................................................... 271

13.13.4 OwnTracks und MQTT ........................................................................................ 271

13.14 Immer alles im Blick – integrieren Sie eine Kamera ............................................ 282

13.14.1 Anschluss und Inbetriebnahme ...................................................................... 283

5976.book Seite 10 Donnerstag, 30. August 2018 2:58 14

Inhalt

11

13.14.2 Erste Probeaufnahmen ...................................................................................... 284

13.14.3 Livecam mit openHAB 2 ..................................................................................... 286

13.14.4 Kamerabild per E-Mail ........................................................................................ 288

13.14.5 Die Orchidee im Zeitraffer ................................................................................ 289

13.15 Experimentell – Integration eines Viessmann-Brenners .................................. 291

13.16 Ausblick ................................................................................................................................... 294

TEIL III openHAB 2 – Konzepte und Theorie

14 Bindings 299

14.1 Installation und Konfiguration ..................................................................................... 300

14.2 Eigene Bindings und Beta-Versionen ......................................................................... 300

15 Things – »Alles ist ein Ding« 301

15.1 Channels .................................................................................................................................. 302

15.2 Bridges ..................................................................................................................................... 303

15.3 Thing-Status .......................................................................................................................... 303

15.4 Statusdetails .......................................................................................................................... 304

16 Items – die virtuelle Sicht auf Ihre Hardware 307

16.1 Definition und Syntax ....................................................................................................... 308

16.1.1 itemname ............................................................................................................... 309

16.1.2 itemlabel ................................................................................................................. 309

16.1.3 stateformat ............................................................................................................ 309

16.1.4 iconname ................................................................................................................ 313

16.1.5 Gruppenzuordnungen ........................................................................................ 315

16.1.6 Zuweisung von Tags ........................................................................................... 316

16.2 Die verschiedenen Arten von Items in alphabetischer Reihenfolge ............ 317

16.2.1 Color-Item ............................................................................................................... 317

16.2.2 Contact-Item ......................................................................................................... 319

16.2.3 DateTime-Item ...................................................................................................... 320

5976.book Seite 11 Donnerstag, 30. August 2018 2:58 14

Page 24: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

12

16.2.4 Dimmer-Item ......................................................................................................... 322

16.2.5 Group-Item ............................................................................................................. 323

16.2.6 Location-Item ........................................................................................................ 327

16.2.7 Number-Item ......................................................................................................... 328

16.2.8 Player-Item ............................................................................................................. 328

16.2.9 Rollershutter-Item ............................................................................................... 329

16.2.10 String-Item ............................................................................................................. 331

16.2.11 Switch-Item ............................................................................................................ 331

17 Sitemaps 333

17.1 Die Definition einer Sitemap ......................................................................................... 334

17.2 Erstellung von Untermenüs ............................................................................................ 336

17.3 Mappings ................................................................................................................................ 337

17.4 Dynamische Sitemaps ....................................................................................................... 340

17.4.1 label .......................................................................................................................... 341

17.4.2 icon ............................................................................................................................ 341

17.4.3 valuecolor, labelcolor .......................................................................................... 341

17.4.4 visibility ................................................................................................................... 343

17.5 Die unterstützten Elementtypen in alphabetischer Reihenfolge ................. 348

17.5.1 Das Element Chart .............................................................................................. 348

17.5.2 Das Element Colorpicker .................................................................................. 350

17.5.3 Das Element Default .......................................................................................... 351

17.5.4 Das Element Frame ............................................................................................ 352

17.5.5 Das Element Group ............................................................................................ 353

17.5.6 Das Element Image ............................................................................................ 354

17.5.7 Das Element Mapview ...................................................................................... 355

17.5.8 Das Element Selection ....................................................................................... 355

17.5.9 Das Element Setpoint ........................................................................................ 356

17.5.10 Das Element Slider .............................................................................................. 357

17.5.11 Das Element Switch ........................................................................................... 358

17.5.12 Das Element Text ................................................................................................ 360

17.5.13 Das Element Video ............................................................................................. 360

17.5.14 Das Element Webview ...................................................................................... 361

5976.book Seite 12 Donnerstag, 30. August 2018 2:58 14

Inhalt

13

18 Transformation Services – Ihre persönlichen Übersetzungen 363

18.1 JSONPath Transformation ............................................................................................... 364

18.2 Map Transformation .......................................................................................................... 365

18.3 Scale Transformation ........................................................................................................ 367

18.4 Unicode Characters ............................................................................................................ 369

19 Persistence Services – speichern Sie Ihre Daten dauerhaft 371

19.1 Was ist Persistence? ........................................................................................................... 371

19.2 Wie binde ich Persistence Services ein? .................................................................... 372

19.3 Default Persistence ............................................................................................................ 374

19.4 Beispiele für die Nutzung historischer Daten in Regelwerken ....................... 375

20 Voice Services – »Ich glaub, ich höre Stimmen« 379

20.1 Wiedergabe über den Kopfhörerausgang ............................................................... 379

20.2 Die Arbeit mit MaryTTS .................................................................................................... 380

21 Actions – Kommunikation des Systems 385

21.1 Core Actions ........................................................................................................................... 385

21.1.1 Event Bus Actions ................................................................................................. 385

21.1.2 Audio-Actions ........................................................................................................ 386

21.1.3 Logging Actions .................................................................................................... 387

21.1.4 HTTP-Actions ......................................................................................................... 388

21.1.5 Timer Actions ........................................................................................................ 388

21.1.6 Thing Status Action ............................................................................................. 390

21.1.7 Cloud Notification Actions ................................................................................ 390

21.2 Installierbare Actions ........................................................................................................ 391

5976.book Seite 13 Donnerstag, 30. August 2018 2:58 14

Page 25: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

14

22 Regelwerke oder Rules 393

22.1 Allgemeines ........................................................................................................................... 394

22.2 Die Struktur ........................................................................................................................... 394

22.2.1 Abschnitt 1: Die Importe ................................................................................... 395

22.2.2 Abschnitt 2: Die Variablendeklarationen .................................................... 395

22.2.3 Abschnitt 3: Die Anweisungen ........................................................................ 396

22.3 Das Auslösen von Regelwerken – when ................................................................... 397

22.3.1 Item-basierte Auslöser ....................................................................................... 398

22.3.2 Zeitbasierte Auslöser .......................................................................................... 400

22.3.3 Systembasierte Auslöser ................................................................................... 402

22.3.4 Thing-basierte Auslöser ..................................................................................... 403

22.3.5 Channel-basierte Auslöser ................................................................................ 404

22.4 Das Schreiben der Regeln – then ................................................................................. 404

22.4.1 Logmeldungen aus Ihren Regeln heraus ...................................................... 405

22.4.2 Items und ihre Werte .......................................................................................... 407

22.4.3 Units of Measurement ....................................................................................... 411

22.4.4 Kontrollstrukturen ............................................................................................... 412

22.4.5 Thread::sleep ,Timer, Expire-Binding ............................................................ 416

22.4.6 Early returns ........................................................................................................... 417

22.4.7 Aktionen auf Gruppen ........................................................................................ 417

22.4.8 Wiederverwendbarer Code – Lambda Expressions .................................. 418

22.4.9 Mathematische Funktionen ............................................................................. 422

22.5 System Restart vs. Rules Engine ................................................................................... 423

23 openHAB 2 REST API 427

23.1 Nutzen Sie cURL ................................................................................................................... 428

23.2 Nutzen Sie das Webinterface ........................................................................................ 429

23.3 Aus Ihren Regelwerken heraus ..................................................................................... 429

23.4 Nutzen Sie Python mit Icinga 2 ..................................................................................... 430

5976.book Seite 14 Donnerstag, 30. August 2018 2:58 14

Inhalt

15

24 Die Erstellung von Graphen 435

24.1 Über die interne Chart Engine ....................................................................................... 435

24.2 Mit InfluxDB und Grafana ............................................................................................... 439

24.2.1 InfluxDB und Persistence InfluxDB konfigurieren .................................... 440

24.2.2 Grafana konfigurieren und InfluxDB als Backend hinterlegen ............ 442

24.2.3 Dashboards und Visualisierungen in Grafana erstellen ......................... 444

25 Das System auf einer externen Platte betreiben 453

25.1 Partitionierung ..................................................................................................................... 454

25.2 Dateisystem ........................................................................................................................... 454

25.3 Ins System einbinden ........................................................................................................ 454

25.4 Kopieren der Daten ............................................................................................................ 455

25.5 Anpassen der cmdline.txt ............................................................................................... 455

25.6 Neustart ................................................................................................................................... 456

26 System-Backups mit AMANDA 459

26.1 Den USB-Stick ins System einbringen ........................................................................ 460

26.2 AMANDA installieren und konfigurieren ................................................................. 463

26.3 Das erste Backup erstellen .............................................................................................. 464

26.4 Testen! ..................................................................................................................................... 465

26.5 Fazit ........................................................................................................................................... 467

27 Support und Ihr Mitwirken in der Community 469

27.1 Präsentieren Sie Ihre Lösungen .................................................................................... 470

27.2 Schreiben Sie eine Dokumentation ............................................................................ 470

5976.book Seite 15 Donnerstag, 30. August 2018 2:58 14

Page 26: Kapitel 1 Ihr Smart Home mit openHAB2 · 2018-09-19 · 1 Ihr Smart Home mit openHAB2 28 schäft aufgeben, ihre Cloud-Services ei nstellen und die einst teuer eingekauften smarten

Inhalt

16

27.3 Melden Sie Fehler ................................................................................................................ 470

27.4 Testen Sie! .............................................................................................................................. 471

27.5 Und nicht zuletzt: Bleiben Sie freundlich! ............................................................... 471

Anhang: Tabellarische Übersichten .............................................................................................. 473

Index ........................................................................................................................................................ 507

5976.book Seite 16 Donnerstag, 30. August 2018 2:58 14