Innovation

SmartHome und Eclipse – passt das?

SmartHome und Internet of Things (IoT) liegen im Trend. Aufgrund unterschiedlicher Ansätze zur Digitalisierung muss man im Bereich SmartHome mit verschiedensten Interfaces, Protokollen, Gateways und vor allem inkompatiblen Geräten zurecht kommen. Die Sensoren und Aktoren, die uns bei der Digitalisierungsreise helfen sollten, stehen uns durch proprietäre Implementierungen bisweilen eher im Weg. Es bleibt zu hoffen, dass wir in Zukunft nicht vor der Frage stehen: Soll ich mein Haus mit Apple oder Google betreiben?

Wie man das Integrationsproblem grundsätzlich angehen kann und wie uns Eclipse SmartHome hilft die Digitalisierungsreise zu meistern, stelle ich euch hier nun vor.

Die SmartHome Basics

Hauptziel im Bereich SmartHome ist die Digitalisierung von Gebäuden. Um das besser zu verstehen teilen wir zunächst die Welt unserer Betrachtung in Things und Items ein. Thing kann ein Gerät (Sensor/Aktor), ein Web-Service, aber auch ein Raum, ein Auto oder vielleicht die Blumenerde sein. Thing ist somit alles was wir digitalisieren wollen. Items sind die Attribute, die es uns ermöglichen ein Thing zu digitalisieren. Wenn wir zum Beispiel einen Besprechungsraum digitalisieren wollen, könnten wir Items zu aktueller Temperatur, Helligkeit, Belegung und so weiter definieren. Unser Digitalisierungsproblem kann somit allgemein wie folgt definiert werden: man muss die nötigen Items ermitteln (auf Basis der Sensoren, Aktoren, Dienste) um ein Thing digital darzustellen. Aber spannend wird es erst, wenn unsere Things anfangen miteinander zu kommunizieren. Das Resultat ist dann das zur Zeit so oft erwähnte Internet of Things.

Das Integrationsproblem

Stellen wir uns vor wir sind im Kaufrausch: wir kaufen ein Phillips Hue Set, einen Nest Thermostat und vielleicht ein paar Belkin Wemo Steckdosen. Jetzt sind wir zu Hause, alles ist eingerichtet und haben das Licht in einem Raum digitalisiert, so auch die Heizung und ein paar Steckdosen. Wir können auf jedes Gerät über das Internet zugreifen. ABER: wie kann ich meinem Nest sagen, dass auch die Heizung geregelt werden soll, wenn ich das Licht einschalte und wieso muss ich ständig die App wechseln, wenn ich Licht und Heizung steuern möchte? In unserem Kaufrausch haben wir viele Geräte angeschafft aber immer noch keinen richtig digitalisierten Raum erhalten. Uns fehlt noch eine zentrale Ansteuerung durch die Items untereinander kommunizieren können.

Eclipse SmartHome

ESH VisionSucht man für das oben beschriebene Problem nach Integrationslösungen, stößt man in der OpenSource Welt auf die Eclipse IoT-Projekte und besonders auf Eclipse SmartHome (ESH). Die grobe Idee von Eclipse SmartHome: ein Framework, dass auf mehreren Systemen deploybar ist, einfache Integration und Erweiterung sowie Standard Interfaces bietet und bereits eine große Zahl der SmartHome IoT Devices unterstützt.

Das Framework fokussiert die Integration heterogener Geräte, speziell in der Domäne SmartHome. Basierend auf der OSGi Plattform ist es optimiert, um auf eingebetteten Systemen zu laufen. Voraussetzung dafür ist ein System, das eine JVM betreiben kann. So kommen wir zu einem der größten Vorteile: ein SmartHome Framework, das sich auf (fast) jedem JVM tauglichen Gerät deployen lässt. Somit sind bspw. Raspberry Pi, HABdroid, BananaPi, ein normaler PC oder Server für den Betrieb des Systems geeignet.

Zur Integration stellt Eclipse SmartHome sogenannte Bindings. Bindings stellen die Brücke zwischen den Sensoren/Aktoren und dem Framework dar. Mit Hilfe dieser Bindings werden unbekannte Protokolle eingebunden bzw. übersetzt. Somit haben wir im Framework nur Items, die ihre Werte oder Zustände aus einem, per Binding, eingebundenen Gerät erhalten. Innerhalb des Frameworks, können alle Items eventbasiert kommunizieren. Diese Integration hängt jedoch davon ab, ob das Binding für unsere Geräte existiert. Aktuell gibt eine große Abdeckung an SmartHome Geräten, die unterstützt werden, wie die Phillips Hue Reihe, Belkin Wemo, LIFX, etc.

 

Das Fundament für unser SmartHome

Insgesamt steht Eclipse SmartHome auf vier Säulen: Konnektivität, Automation, User Interfaces, Persistenz (wie im oberen Bild dargestellt). Diese Funktionalitäten zusammen mit dem eventbasierten Bus ermöglichen uns das Modellieren unseres SmartHome. Neben der Integration mittels Binding und angebotener REST API für den Zugriff von externen Tools, gibt es einen weiteren Vorteil des Frameworks: das Automatisieren. Wir haben bis jetzt Items, die untereinander kommunizieren können. Diese werden erst richtig genutzt, indem die Items automatisch nach verschiedenen Regeln Änderungen bei anderen Items auslösen. Somit kann ich zum Beispiel automatisieren, dass wenn niemand tagsüber im Haus ist (Bewegungsmelder liefert Werte), die Heizung heruntergefahren werden soll. Mit einer integrierten Rules Engine bietet uns Eclipse SmartHome ein Werkzeug, um unserer Digitalisierungsreise perfekt zu meistern und Spaß dabei zu haben.

Eclipse SmartHome darf man aber nicht mit eine ready-to-use Solution verwechseln. Es bietet verschiedene Features, womit man eine maßgeschneiderte aber trotzdem flexible SmartHome Solution entwickeln kann. Wenn man eine fertige Lösung mit gleichem Funktionsumfang sucht, kann man auf verschiedene Solutions zugreifen, die auf ESH basieren. Dies sind bspw. QIVICON, aleon, YETU oder openHAB.

Mein Fazit

A FLEXIBLE FRAMEWORK FOR THE SMART HOME

Open Source.
For an Open Future.

Eclipse SmartHome ist ein Framework, das uns mehrere offene Fragen und Wünsche im Bereich SmartHome erfüllt. Der Hauptvorteil ist die Integration verschiedener Geräte und die Modellierung der Interaktion von Items (Automatisierungsregeln), die der Digitalisierung unseres Hauses erheblichen Vorschub leisten. Der zweite Vorteil ist, dass eine große Community hinter dem OpenSource Projekt steht und dieses unter EPL Lizenz entwickelt, sodass keine Lizenzierungsprobleme entstehen.

Trotz des umfangreichen Framework und der großen Abdeckung an Geräten, wird man nie alle möglichen Geräte und Protokolle unterstützen können, solange es keine wirklichen Standards für Interfaces und Protokolle im IoT-Umfeld gibt. Als vielversprechende und fertige Solution werde ich daher in den nächsten Blogposts openHAB vorstellen.