openHAB 2: smarte Steckdose – TP-Link HS110
openHab bietet uns eine Vielzahl an Möglichkeiten, wie wir unser Smarthome konfigurieren und verwalten können. In diesem HowTo möchte ich euch die intelligente Steckdose von TP-Link vorstellen und die ersten Schritte für die Konfiguration in openHAB näher bringen. Dabei bietet uns die HS110 neben einer Fernsteuerung auch noch aktuelle, sowie historische Verbrauchsdaten.
Nachdem ich die Installation von openHAB 2 auf einer Synology DS per Paket-Zentrum, sowie über die Containersoftware Docker (unbedingt zu bevorzugen) bereits erklärt habe, können wir gleich uns gleich ins Geschehen stürzen. Sollte das Basissetup noch nicht hergestellt sein, würde ich dir die verlinkten Tutorials unbedingt ans Herz legen.
Smarte Steckdose – TP-Link HS110
Als smart Socket kommt die HS110 von TP-Link zum Einsatz. Sie bietet uns die Möglichkeit, die Steckdose von der Ferne ein- und auszuschalten, sowie den aktuellen und historischen Stromverbrauch abzulesen. Neben openHAB lässt sich das Device auch über die hauseigene Smartphone-App „Kasa“ steuern – welche zum initialen Setup auch zwingend benötigt wird! Dafür bleibt uns allerdings ein zusätzliches Hub erspart.
Damit wir die Steckdose das erste Mal mit unserem Heimnetzwerk verbinden können, müssen folgende Schritte ausgeführt werden. Da die Anleitung von TP-Link dazu ausführlich genug ist, sparen wir uns den zusätzlichen Text und springen gleich zur Konfiguration in openHAB.
openHAB Konfiguration
Seid ihr der Docker-Installationsanleitung in diesem Tutorial gefolgt, haben wir bereits die besten Voraussetzungen geschaffen. Um die Steckdose in das Interface von openHAB zu integrieren, stehen uns zwei Varianten zur Verfügung:
- Wir benutzen die PaperUI und erstellen das „Thing“ und die „Items“ direkt über das Webinterface.
- Wir konfigurieren alle benötigten Parameter in einem Textfile und haben damit auch die bessere Kontrolle und können in Zukunft Features wie persistente Daten (Langzeitdaten per MySQL-Datenbank gespeichert) nutzen.
Variante 1 scheint auf den ersten Blick der einfachere Weg zu sein – was soweit auch stimmt – allerdings schöpfen wir damit nicht das komplette Potential von openHAB aus. Daher fällt meine erste Wahl und klare Empfehlung auf Variante 2. Vorab müssen wir aber trotzdem über die PaperUI das entsprechende TP-Link Binding hinzufügen. Dazu rufen wir die PaperUI auf, browsen in das Verzeichnis Addons -> Bindings und suchen nach dem „TP-Link“ Binding. Mit einem Klick auf „Install“ haben wir auch schon alle Vorkehrungen getroffen und können zum Notepad eurer Wahl übergehen.
Erstellen der .Things Datei
Dazu eine kurze Erklärung der Funktionsweise: openHAB teilt Dinge grundsätzlich in zwei große Spaten auf – Things und Items. Things stellen dabei das physische Gerät dar. In unserem Fall ist das Thing die gesamte Steckdose. Neben den Things gibt es auch noch sogenannte Items, welche die Einstellungsmöglichkeiten des Gerätes widerspiegeln. Unsere Steckdose kann beispielsweise mit einem Switch ein-und ausgeschalten werden und ist damit ein typisches Item. Damit wir solche Items erstellen können, muss zuerst das dazugehörige Thing existieren.
Dazu öffnen wir Notepad++ und kopieren folgende Zeile:
tplinksmarthome:hs110:socket01 "Socket_01" [ ipAddress="192.168.2.99", refresh=60 ]
Code-Erklärung:
- tplinksmarthome – deklariert das Binding, welches benutzt werden muss.
- hs110 – definiert, welche Gerät wir einbinden möchten.
- socket01 – Name des Things, kann beliebig vergeben werden.
- ipAddress – die IP-Adresse der physikalischen Steckdose.
Dieses Textdokument muss anschließend mit der Endung „.things“ im Things-Ordner abgespeichert werden. Wenn ihr meinem Tutorial gefolgt seid, befindet sich der Things Ordner hier: \\IPderDS\docker\openhab\conf\things. Danach solltet ihr über die PaperUI das Device bereits sehen können.
Da wir allerdings momentan noch keine Eigenschaften in Form von Items konfiguriert haben, ist das Gerät weitestgehend nutzlos.
Erstellen der .Items Datei
Die gleichen Schritte wie zuvor wiederholen wir nun für das .items File. Hier deklarieren wir alle verfügbaren Eigenschaften und Funktionen des Geräts. In unserem Fall können wir die Steckdose ein- und ausschalten, sowie den aktuellen und historischen Verbrauch ablesen. Die Konfiguration sieht wie folgt aus:
Switch Socket01_Switch "Socket01_Switch" { channel="tplinksmarthome:hs110:socket01:switch" } Number Socket01_energyUsage "Socket01_energyUsage" { channel="tplinksmarthome:hs110:socket01:energyUsage" } Number Socket01_power "Socket01_power" { channel="tplinksmarthome:hs110:socket01:power" }
Die gesamte Palette aller Konfigurationsparameter und eine ausführliche Erklärung dazu kann man übrigens aus der jeweiligen Dokumentation des Bindings ablesen. Zum Schluss muss die Datei nur noch mit der Endung „.items“ im Items-Ordner (\IPderDS\docker\openhab\conf\items) gespeichert werden. Damit ist das Gerät voll funktionstüchtig und kann beispielsweise über die PaperUI betrachtet werden.
Abschluss
Damit hätten wir unser erstes Gerät und die dazugehörigen Parameter definiert. Die Reise ist hier allerdings noch lange nicht zu Ende. Wie bereits Anfangs erwähnt, können die Daten beispielsweise aufgezeichnet und in einer MariaDB-Datenbank gespeichert werden. Gerade beim Stromverbrauch könnte man damit interessante Statistiken generieren – aber das alles zu einem späteren Zeitpunkt.