SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
TINF15AI-BC / Software Architecture Management / 20. April 2018
OpenHAB Architektur
—
Mai Tran & Paul Bauriegel
Duale Hochschule Baden-Württemberg - Mannheim
20. April 2018
1
Die nächsten 20 Minuten …
2TINF15AI-BC / Software Architecture Management / 20. April 2018
1. Was ist OpenHAB?
3. OpenHAB Architektur
2. Einflussfaktoren für OpenHAB
4. Zusammenfassung
Icon made by Freepik from www.flaticon.com
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB?
Was ist OpenHAB?
3Logo from https://community.openhab.org/t/new-logo-for-openhab/35140
Sticker made by Telegram Team from tlgrm.eu and by alovitsm from pngtree.com
Wen
kümmert's
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB?
Was ist OpenHAB? – Eclipse Smarthome
“Eclipse SmartHome is not a product itself, but a framework
to build solutions on top”
Eclipse Foundation (2018)
4Source: https://iot.eclipse.org/working-group/ | https://www.eclipse.org/smarthome/
Logos from iot.eclipse.org
… entwickelt Projekte wie …
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB ?
Bosch IoT Gateway?
5Source: https://www.bosch.com/de/unser-unternehmen/zahlen-und-fakten/
https://assets.bosch.com/media/global/bosch_group/our_figures/pdf/bosch-geschaeftsbericht-2016.pdf (17.04.2018)
Icons made by Freepik, Hadrien from www.flaticon.com
6,2Mio
Sensoren
2016
eingeführt
100
Projekte
Bosch
IoT Suite
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB ?
QIVICON?
6Source: http://www.openhabfoundation.org/documents/2017-10_Jochen_Hiller_QIVICON.pdf, https://www.qivicon.com/de/unsere-partner/,
https://www.h-brs.de/files/20171214_fbinf_mclab_2016-10-25-ba-jungnickel-qivicon_mk.pdf
https://play.google.com/store/apps/details?id=de.telekom.smarthomeb2c | Icons made by Freepik, Hadrien from www.flaticon.com
100Tsd
Downloads
2011
gegründet
43Firmen
kooperieren
Magenta
Smart Home
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB ?
Open Home Automation Bus
7
2010
eingeführt
Eclipse
Smarthome
Referenzimplementierung
955
Protokolle
2.2.0
Version
Kai Kreuzer
Entwickler/Maintainer
JavaProgrammiersprache
Source: http://www.kaikreuzer.de/2014/06/16/openhab-20-and-eclipse-smarthome/, https://github.com/openhab/openhab-distro/releases
http://www.openhab.org/downloads.html, https://docs.openhab.org/addons/bindings.html
Icons made by Freepik, Hadrien from www.flaticon.com
TINF15AI-BC / Software Architecture Management / 20. April 2018
Was ist OpenHAB?
Was ist OpenHAB?
8Source: https://www.qivicon.com/assets/PDF/Whitepaper-Smart-Home-Telekom-Feb-2016-EN.pdf
Logos from wikipedia.org | Icon made by Ricardo Baddouh from flaticon.com
2011 Gegründet
Funktionalität übertragen
Der open Home Automation Bus ist ein Smart Home
System, welches verschiedene Heimautomatisierungs-
systeme über ein vereinheitlichtes Interface verwaltet.
TINF15AI-BC / Software Architecture Management / 20. April 2018
Warum OpenHAB?
Jede Menge Smarthome Protokolle …
9Source: https://docs.openhab.org/addons/bindings.html | Logos from openhab.com
TINF15AI-BC / Software Architecture Management / 20. April 2018
Warum OpenHAB?
… wie soll man da noch durchsehen?
10Source: https://docs.openhab.org/addons/bindings.html | Logos from openhab.com and Sticker made by Telegram Team from trgmr.eu
TINF15AI-BC / Software Architecture Management / 20. April 2018
Warum OpenHAB?
Ganz einfach – OpenHAB nutzen!
11Source: https://docs.openhab.org/addons/bindings.html | Icons made by Minh Hoang, Pixel Perfect from
TINF15AI-BC / Software Architecture Management / 20. April 2018
Einflussfaktoren für OpenHAB
12http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt,
http://www.kaikreuzer.de/2017/01/23/openhab2/
TINF15AI-BC / Software Architecture Management / 20. April 2018 13Source: http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt,
http://www.kaikreuzer.de/2017/01/23/openhab2/
Icons made by mynamepong, Good Ware, Freepik, dDara from www.flaticon.com
Einflussfaktoren für OpenHAB
Organisatorische Einflussfaktoren
O1 - Community
O2 - Open Source
O3 - Kenntnisse in Java und Eclipse
populäre/offene Programmiersprache/Technologien
verwenden
Verwendung von anderer Open Source
Software
Programmiersprache + Präferenz für Eclipse Projekte +
We ♥ Java
Welche
Faktoren sind
interessant?
TINF15AI-BC / Software Architecture Management / 20. April 2018 14Source: http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt,
http://www.kaikreuzer.de/2017/01/23/openhab2/ (17.04.18)
Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
Einflussfaktoren für OpenHAB
Produktfaktoren
P1 - Daten beim Nutzer
P2 - Erweiterbarkeit
P3 - IDE für Entwicklung & Debugging
Nutzung vorhandener IDE, die erweiterbar ist
Support von Community Add-Ons,
Erweiterung um neue Protokolle/Oberflächen
Kapselung der Services
Nutzung anderer Open Source/herstellerunabhängig,
aktuelle Technologien – Intranet der Dinge
P5 - verschiedene Hersteller
P6 - Benutzerzentriert
herstellerunabhängige Use Cases,
ansprechende & intuitive Benutzeroberfläche
Abstraktion unterschiedlicher Protokolle,
Diversität für Hardware
Kooperation mit verschiedenen Partnern
P4 - diverse Sensoren/Aktuatoren
TINF15AI-BC / Software Architecture Management / 20. April 2018 15
Welche
Faktoren sind
interessant?
Einflussfaktoren für OpenHAB
Technologische Faktoren
T1 - plattformunabhängig
T2 - Stabilität
T3 - verschiedene Protokolle
T4 - Integration in andere Systeme
Ausführung auf Embeded Systems &
allen gängigen Betriebssystemen
Fehlerfreie Funktion bei Integration vieler
IoT-Geräte
Programmiersprache, die bereits viele Protokolle
etc. kann bzw. leicht erweiterbar ist, Abstraktion
Nutzung von "Standards", standardisierte Schnittstelle,
Integration in existierende Systeme, Kapselung
Source: https://www.builderscave.com/openhab-als-smarthome-zentrale, http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-
techtalk-developergarden-Darmstadt, http://www.kaikreuzer.de/2017/01/23/openhab2/ (17.04.18)
Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
TINF15AI-BC / Software Architecture Management / 20. April 2018
Architektur von OpenHAB
High-Level Sicht des Benutzers
16
Bindings
Things
Items
Rules
DeviceDeviceDeviceDevice
Web UI
REST API
Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18) | https://docs.openhab.org/concepts/index.html
Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
TINF15AI-BC / Software Architecture Management / 20. April 2018
Architektur von OpenHAB
High-Level Sicht des Benutzers
17
Bindings
Things
Items
Rules
DeviceDeviceDeviceDevice
Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18) | https://docs.openhab.org/concepts/index.html
Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
TINF15AI-BC / Software Architecture Management / 20. April 2018 18
Thermostat Licht
Wetterdienst
Sonnendaten
Küchenheizung Kontrolle
Winter Abend
BINDINGS
THINGS
RULES
ITEMS
Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18), http://www.kriwanek.de/index.php/de/homeautomation/zentrale/openhab-2/510-
grundlegendes-vorgehen-in-openhab-2 (19.04.18)
SzenenwechselWohnzimmerlicht
Z-Wave Binding
ModusCHANNELS Schalter SonnenuntergangSonnenaufgangTemperatur
Architektur von OpenHAB
High-Level Sicht des Benutzers
Architektur von OpenHAB
High-Level Komponentensicht
19
OSGi
Core Library
HTTP Service
Add-ons
Sicht: Entwurfssicht
O2 – Opensource
O3 – Kenntnisse in Java
und Eclipse
P2 – Erweiterbarkeit
T4 – Integration in andere
Systeme
OSGi = Open Services
Gateway initiative
= Komponenten
Modell Framework
Eclipse Equinox = OSGi
Framework
Apache Karaf = OSGi
Application Server
Pattern: Schichten
TINF15AI-BC / Software Architecture Management / 20. April 2018 Source: https://docs.openhab.org/introduction.html | https://docs.openhab.org/developers/contributing/contributing (17.04.18)
Icon made by Freepik, Chris Veigt from www.flaticon.com
Architektur von OpenHAB
High-Level Entwurfssicht
TINF15AI-BC / Software Architecture Management / 20. April 2018 20
Sicht: Entwurfssicht
O2 – Opensource
O3 – Kenntnisse in Java
und Eclipse
P2 – Erweiterbarkeit
T4 – Integration in andere
Systeme
OSGi = Open Services
Gateway initiative
= Komponenten
Modell Framework
Eclipse Equinox = OSGi
Framework
Apache Karaf = OSGi
Application Server
Pattern: Schichten
Source: https://docs.openhab.org/introduction.html | https://docs.openhab.org/developers/contributing/contributing (17.04.18)
Icon made by Freepik, Chris Veigt from www.flaticon.com
Architektur von OpenHAB
Eclipse Equinox – Das OSGi Framework
TINF15AI-BC / Software Architecture Management / 20. April 2018 21
“OSGi technology is a set of specifications that
define a dynamic component system for Java”
OSGi™ Alliance (2018)
Source: https://de.wikipedia.org/wiki/OSGi (17.04.18) | https://www.osgi.org/developer/architecture/ | http://homepages.dcc.ufmg.br/~mtov/pub/2008_sen.pdf
https://www.eclipsecon.org/na2014/sites/default/files/slides/EclipseCon%202014%20-%20Equinox.pdf
https://www.eclipse.org/equinox/documents/eclipsist2007/EclipseSummitTurkey2007-OSGiEquinoxExplained.pdf
Pattern: Call-and-Return
P2 – Erweiterbarkeit
T1 – plattformunabhängig
T2 – Stabilität
T4 – Integration in andere Systeme
Drei Schritte von OSGi:
1. Bundle A veröffentlich Schnittstelle
2. Bundles B liest diese Spezifikation
3. Bundles B kann Methoden von A nutzen
Sicht: Physikalische Sicht
Architektur von OpenHAB
Eclipse Equinox – Das OSGi Framework
TINF15AI-BC / Software Architecture Management / 20. April 2018 22
“OSGi technology is a set of specifications that
define a dynamic component system for Java”
OSGi™ Alliance (2018)
Source: https://de.wikipedia.org/wiki/OSGi (17.04.18) | https://www.osgi.org/developer/architecture/ | http://homepages.dcc.ufmg.br/~mtov/pub/2008_sen.pdf
https://www.eclipsecon.org/na2014/sites/default/files/slides/EclipseCon%202014%20-%20Equinox.pdf
https://www.eclipse.org/equinox/documents/eclipsist2007/EclipseSummitTurkey2007-OSGiEquinoxExplained.pdf
Pattern: Call-and-Return
P2 – Erweiterbarkeit
T1 – plattformunabhängig
T2 – Stabilität
T4 – Integration in andere Systeme
Drei Schritte von OSGi:
1. Bundle A veröffentlich Schnittstelle
2. Bundles B liest diese Spezifikation
3. Bundles B kann Methoden von A nutzen
Sicht: Physikalische Sicht
Architektur von OpenHAB
Detaillierte Komponenten Sicht
TINF15AI-BC / Software Architecture Management / 20. April 2018 23Source: https://github.com/openhab/openhab1-addons/wiki | https://www.slideshare.net/xthirtynine/against-all-odds-ein-wolkenloses-smart-home?from_action=save
http://www.openhabfoundation.org/documents/2017-10_Jochen_Hiller_QIVICON.pdf (17.04.18)
Icon mady by gayatri from https://thenounproject.com/search/?q=eye&i=154947
CLOUD
BINDING
WEB UI
COMP.
RUNTIME
openHAB
SERVICE
SUB-
SYSTEM
BINDING
PRODUCT
BINDING
PROTOKOL
BINDING
DISCOVERY
SERVICE
REST API ONEM2M EMULATION
WEB
Service
THINGS /
BINDINGS API
ECLIPSE SMARTHOME CORE
RULES
ENGINE
PERSIS-
TENCE
VOICE
ENABLING
GUI
openHAB 2 CORE
ESH SUPPORT
GUI
MODEL/
CONFIG
UPNP
MDNS
MQTT
SERIAL
PROTOCOL
SUPPORT
HTTP
SERVER
(JETTY)
MODULES
TEMPLATES
TEXT-TO-SPEECH
SPEECH-TO-TEXT
HUMANLANGUAGE
MEMORY
LOCAL
CLOUD
WIDGETS
ICONSETS
CHARTENGINE
BASICUI
HOMEBUILDER
CONSOLE
HABMIN
CONFIGFILES
Sicht: Komponenten
P4 – diverse Sensoren
(Protokoll Binding)
P5 – verschiedene
Hersteller
(Product Binding)
P6 – herstellerabhängige
Config & WebUI
T3 – verschiedene
Protokolle (UPNP,
MQTT, SERIAL)
T4 – Integration anderer
Systeme (Bindings)
Eclipse SmartHome (ESH)
= Stellt Schnittstellen
für Smart Home
OpenHAB Core
= Implementiert die
Schnittstellen des ESH
Pattern: Schichten
Architektur von OpenHAB
Event-View Komponenten Sicht
TINF15AI-BC / Software Architecture Management / 20. April 2018 25Source: https://www.slideshare.net/xthirtynine/against-all-odds-ein-wolkenloses-smart-home?from_action=save (17.04.18) | Icon mady by gayatri from
thenounproject.com
Pattern: Event-Bus
EVENT BUS
HUE
BINDING
SONOS
BINDING
ZWAVE
BINDING
DASH
BUTTON
BINDING
AUTOMATION LOGIC
WEB UI
REST API
PERSITENCESTATES
STATES
STATES
STATE
UPDATE
STATE
UPDATE
ITEM
REGISTY
COMMAND
STATE
UPDATE
COMMAND
TRIGGER
STATE
UPDATE
COMMAND
STATE
UPDATE
COMMAND
STATE
UPDATE
COMMAND
COMMAND
TRIGGER
Sicht: Ablaufsicht
P4 – verschiedene Geräte
über einen Bus
angeschlossen
P5 – Event Bus kann von
verschiedenen
Herstellern genutzt
werden
T3 – Eine UI/ Logik für
verschiedene
Protokolle
T4 – Integration in andere
Hersteller-Systeme
Viele Bindings – 1 Bus
Pattern: Event-Bus
Zusammenfassung
TINF15AI-BC / Software Architecture Management / 20. April 2018 26
Technologieauswahl
(O1, O2, O3, P1, P3, T1, T2, T3, T4)
Abstraktion
(P4, P5, T3)
Kapselung
(P2, T4)
Entkopplung
(P6)
Programmiersprache & Frameworks
(Java)
(Eclipse SmartHome, Eclipse Equinox,
Apache Karaf)
Komponenten- & Schichtenarchitektur
(verschiedene Layer, Kapselung über
OSGi, Protokoll Bindings)
Abstraktion
Konzept Bindings, Things, Item
Trennung zwischen ESH und openHAB
ENDE
Architektur von OpenHAB
OSGi Lifecycle
“OSGi technology is a set of specifications that
define a dynamic component system for Java”
OSGi™ Alliance (2018)
BACKUP
Architektur von OpenHAB
Apache Karaf Architektur
TINF15AI-BC / Software Architecture Management / 20. April 2018 29
BACKUP
Enterprise Features
WebContainer (Pax Web)
Instance
Shell / SSH
JMX
Logging
ConfigAdmin Security
Deployers Provisioning
JVM
Programming Model (Spring/ BluePrint /DeclarativeService)
OSGi Framework (Eclipse Equinox)
Source: https://karaf.apache.org/projects.html (17.04.18)
Demonstration OpenHAB
Bedienoberfläche OpenHAB
TINF15AI-BC / Software Architecture Management / 20. April 2018 30Source: https://github.com/openhab/openhab1-addons/wiki (17.04.18
BACKUP
Demonstration OpenHAB
Systemkonfiguration OpenHAB
TINF15AI-BC / Software Architecture Management / 20. April 2018 31Source: https://github.com/openhab/openhab1-addons/wiki (17.04.18
BACKUP

Weitere ähnliche Inhalte

Ähnlich wie OpenHAB Architektur

SEO für China ... eine Einführung
SEO für China ... eine EinführungSEO für China ... eine Einführung
SEO für China ... eine EinführungMarcus Pentzek
 
Innovation - Internet of Things - Digitization
Innovation - Internet of Things - DigitizationInnovation - Internet of Things - Digitization
Innovation - Internet of Things - DigitizationMichael Klemen
 
APIs als Schlüssel zur Digitalen Transformation
APIs als Schlüssel zur Digitalen TransformationAPIs als Schlüssel zur Digitalen Transformation
APIs als Schlüssel zur Digitalen TransformationAndré Nitze
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenFotiosKaramitsos
 
W3C/DFKI Automotive Workshop
W3C/DFKI Automotive WorkshopW3C/DFKI Automotive Workshop
W3C/DFKI Automotive WorkshopGeorg Rehm
 
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineSchlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineJens Klein
 
Kreatives digitales Schaffen - just MAKE it!
Kreatives digitales Schaffen - just MAKE it!Kreatives digitales Schaffen - just MAKE it!
Kreatives digitales Schaffen - just MAKE it!Martin Ebner
 
Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Datentreiber
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
TechCommToGo + Kisters 3DVS | GO MOBILE
TechCommToGo + Kisters 3DVS | GO MOBILETechCommToGo + Kisters 3DVS | GO MOBILE
TechCommToGo + Kisters 3DVS | GO MOBILEGeorg Eck
 
Open Source Software: Einsatz, Entwicklung und Forschung
Open Source Software: Einsatz, Entwicklung und ForschungOpen Source Software: Einsatz, Entwicklung und Forschung
Open Source Software: Einsatz, Entwicklung und ForschungMatthias Stürmer
 
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]Marcel Schöne
 
Einführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei FestoolEinführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei FestoolTANNER AG
 
3D-DAY in Friedrichshafen
3D-DAY in Friedrichshafen3D-DAY in Friedrichshafen
3D-DAY in FriedrichshafenGeorg Eck
 
Web 20-einfuehrung-2011
Web 20-einfuehrung-2011Web 20-einfuehrung-2011
Web 20-einfuehrung-2011rheinturm
 

Ähnlich wie OpenHAB Architektur (20)

SEO für China ... eine Einführung
SEO für China ... eine EinführungSEO für China ... eine Einführung
SEO für China ... eine Einführung
 
Innovation - Internet of Things - Digitization
Innovation - Internet of Things - DigitizationInnovation - Internet of Things - Digitization
Innovation - Internet of Things - Digitization
 
APIs als Schlüssel zur Digitalen Transformation
APIs als Schlüssel zur Digitalen TransformationAPIs als Schlüssel zur Digitalen Transformation
APIs als Schlüssel zur Digitalen Transformation
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 
W3C/DFKI Automotive Workshop
W3C/DFKI Automotive WorkshopW3C/DFKI Automotive Workshop
W3C/DFKI Automotive Workshop
 
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineSchlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
 
Kreatives digitales Schaffen - just MAKE it!
Kreatives digitales Schaffen - just MAKE it!Kreatives digitales Schaffen - just MAKE it!
Kreatives digitales Schaffen - just MAKE it!
 
Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.Mit Predictive Analytics neue Trends in Social Data erkennen.
Mit Predictive Analytics neue Trends in Social Data erkennen.
 
OKLab Leipzig 2021
OKLab Leipzig 2021OKLab Leipzig 2021
OKLab Leipzig 2021
 
App Indexing, Campixx 2016 Workshop
App Indexing, Campixx 2016 WorkshopApp Indexing, Campixx 2016 Workshop
App Indexing, Campixx 2016 Workshop
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
TechCommToGo + Kisters 3DVS | GO MOBILE
TechCommToGo + Kisters 3DVS | GO MOBILETechCommToGo + Kisters 3DVS | GO MOBILE
TechCommToGo + Kisters 3DVS | GO MOBILE
 
180214 OpenDataMeetUpVie ownyourdata eu
180214 OpenDataMeetUpVie ownyourdata eu180214 OpenDataMeetUpVie ownyourdata eu
180214 OpenDataMeetUpVie ownyourdata eu
 
Open Source Software: Einsatz, Entwicklung und Forschung
Open Source Software: Einsatz, Entwicklung und ForschungOpen Source Software: Einsatz, Entwicklung und Forschung
Open Source Software: Einsatz, Entwicklung und Forschung
 
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]
Medienkonvergenz von Zeitschrift und mobilem Internet [Präsentation]
 
Einführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei FestoolEinführung des PIM-, MAM- und Content-Management-Systems bei Festool
Einführung des PIM-, MAM- und Content-Management-Systems bei Festool
 
3D-DAY in Friedrichshafen
3D-DAY in Friedrichshafen3D-DAY in Friedrichshafen
3D-DAY in Friedrichshafen
 
Mobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
Mobile Applikationen - Juni 2013 - Idee, Konzeption, ArchitekturMobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
Mobile Applikationen - Juni 2013 - Idee, Konzeption, Architektur
 
[DE] Digitale Transformation >> Fast Forward | Dr. Ulrich Kampffmeyer | Vortr...
[DE] Digitale Transformation >> Fast Forward | Dr. Ulrich Kampffmeyer | Vortr...[DE] Digitale Transformation >> Fast Forward | Dr. Ulrich Kampffmeyer | Vortr...
[DE] Digitale Transformation >> Fast Forward | Dr. Ulrich Kampffmeyer | Vortr...
 
Web 20-einfuehrung-2011
Web 20-einfuehrung-2011Web 20-einfuehrung-2011
Web 20-einfuehrung-2011
 

OpenHAB Architektur

  • 1. TINF15AI-BC / Software Architecture Management / 20. April 2018 OpenHAB Architektur — Mai Tran & Paul Bauriegel Duale Hochschule Baden-Württemberg - Mannheim 20. April 2018 1
  • 2. Die nächsten 20 Minuten … 2TINF15AI-BC / Software Architecture Management / 20. April 2018 1. Was ist OpenHAB? 3. OpenHAB Architektur 2. Einflussfaktoren für OpenHAB 4. Zusammenfassung Icon made by Freepik from www.flaticon.com
  • 3. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB? Was ist OpenHAB? 3Logo from https://community.openhab.org/t/new-logo-for-openhab/35140 Sticker made by Telegram Team from tlgrm.eu and by alovitsm from pngtree.com Wen kümmert's
  • 4. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB? Was ist OpenHAB? – Eclipse Smarthome “Eclipse SmartHome is not a product itself, but a framework to build solutions on top” Eclipse Foundation (2018) 4Source: https://iot.eclipse.org/working-group/ | https://www.eclipse.org/smarthome/ Logos from iot.eclipse.org … entwickelt Projekte wie …
  • 5. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB ? Bosch IoT Gateway? 5Source: https://www.bosch.com/de/unser-unternehmen/zahlen-und-fakten/ https://assets.bosch.com/media/global/bosch_group/our_figures/pdf/bosch-geschaeftsbericht-2016.pdf (17.04.2018) Icons made by Freepik, Hadrien from www.flaticon.com 6,2Mio Sensoren 2016 eingeführt 100 Projekte Bosch IoT Suite
  • 6. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB ? QIVICON? 6Source: http://www.openhabfoundation.org/documents/2017-10_Jochen_Hiller_QIVICON.pdf, https://www.qivicon.com/de/unsere-partner/, https://www.h-brs.de/files/20171214_fbinf_mclab_2016-10-25-ba-jungnickel-qivicon_mk.pdf https://play.google.com/store/apps/details?id=de.telekom.smarthomeb2c | Icons made by Freepik, Hadrien from www.flaticon.com 100Tsd Downloads 2011 gegründet 43Firmen kooperieren Magenta Smart Home
  • 7. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB ? Open Home Automation Bus 7 2010 eingeführt Eclipse Smarthome Referenzimplementierung 955 Protokolle 2.2.0 Version Kai Kreuzer Entwickler/Maintainer JavaProgrammiersprache Source: http://www.kaikreuzer.de/2014/06/16/openhab-20-and-eclipse-smarthome/, https://github.com/openhab/openhab-distro/releases http://www.openhab.org/downloads.html, https://docs.openhab.org/addons/bindings.html Icons made by Freepik, Hadrien from www.flaticon.com
  • 8. TINF15AI-BC / Software Architecture Management / 20. April 2018 Was ist OpenHAB? Was ist OpenHAB? 8Source: https://www.qivicon.com/assets/PDF/Whitepaper-Smart-Home-Telekom-Feb-2016-EN.pdf Logos from wikipedia.org | Icon made by Ricardo Baddouh from flaticon.com 2011 Gegründet Funktionalität übertragen Der open Home Automation Bus ist ein Smart Home System, welches verschiedene Heimautomatisierungs- systeme über ein vereinheitlichtes Interface verwaltet.
  • 9. TINF15AI-BC / Software Architecture Management / 20. April 2018 Warum OpenHAB? Jede Menge Smarthome Protokolle … 9Source: https://docs.openhab.org/addons/bindings.html | Logos from openhab.com
  • 10. TINF15AI-BC / Software Architecture Management / 20. April 2018 Warum OpenHAB? … wie soll man da noch durchsehen? 10Source: https://docs.openhab.org/addons/bindings.html | Logos from openhab.com and Sticker made by Telegram Team from trgmr.eu
  • 11. TINF15AI-BC / Software Architecture Management / 20. April 2018 Warum OpenHAB? Ganz einfach – OpenHAB nutzen! 11Source: https://docs.openhab.org/addons/bindings.html | Icons made by Minh Hoang, Pixel Perfect from
  • 12. TINF15AI-BC / Software Architecture Management / 20. April 2018 Einflussfaktoren für OpenHAB 12http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt, http://www.kaikreuzer.de/2017/01/23/openhab2/
  • 13. TINF15AI-BC / Software Architecture Management / 20. April 2018 13Source: http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt, http://www.kaikreuzer.de/2017/01/23/openhab2/ Icons made by mynamepong, Good Ware, Freepik, dDara from www.flaticon.com Einflussfaktoren für OpenHAB Organisatorische Einflussfaktoren O1 - Community O2 - Open Source O3 - Kenntnisse in Java und Eclipse populäre/offene Programmiersprache/Technologien verwenden Verwendung von anderer Open Source Software Programmiersprache + Präferenz für Eclipse Projekte + We ♥ Java Welche Faktoren sind interessant?
  • 14. TINF15AI-BC / Software Architecture Management / 20. April 2018 14Source: http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-Darmstadt, http://www.kaikreuzer.de/2017/01/23/openhab2/ (17.04.18) Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com Einflussfaktoren für OpenHAB Produktfaktoren P1 - Daten beim Nutzer P2 - Erweiterbarkeit P3 - IDE für Entwicklung & Debugging Nutzung vorhandener IDE, die erweiterbar ist Support von Community Add-Ons, Erweiterung um neue Protokolle/Oberflächen Kapselung der Services Nutzung anderer Open Source/herstellerunabhängig, aktuelle Technologien – Intranet der Dinge P5 - verschiedene Hersteller P6 - Benutzerzentriert herstellerunabhängige Use Cases, ansprechende & intuitive Benutzeroberfläche Abstraktion unterschiedlicher Protokolle, Diversität für Hardware Kooperation mit verschiedenen Partnern P4 - diverse Sensoren/Aktuatoren
  • 15. TINF15AI-BC / Software Architecture Management / 20. April 2018 15 Welche Faktoren sind interessant? Einflussfaktoren für OpenHAB Technologische Faktoren T1 - plattformunabhängig T2 - Stabilität T3 - verschiedene Protokolle T4 - Integration in andere Systeme Ausführung auf Embeded Systems & allen gängigen Betriebssystemen Fehlerfreie Funktion bei Integration vieler IoT-Geräte Programmiersprache, die bereits viele Protokolle etc. kann bzw. leicht erweiterbar ist, Abstraktion Nutzung von "Standards", standardisierte Schnittstelle, Integration in existierende Systeme, Kapselung Source: https://www.builderscave.com/openhab-als-smarthome-zentrale, http://www.openhab.org/introduction.html, https://www.slideshare.net/xthirtynine/openhab- techtalk-developergarden-Darmstadt, http://www.kaikreuzer.de/2017/01/23/openhab2/ (17.04.18) Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
  • 16. TINF15AI-BC / Software Architecture Management / 20. April 2018 Architektur von OpenHAB High-Level Sicht des Benutzers 16 Bindings Things Items Rules DeviceDeviceDeviceDevice Web UI REST API Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18) | https://docs.openhab.org/concepts/index.html Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
  • 17. TINF15AI-BC / Software Architecture Management / 20. April 2018 Architektur von OpenHAB High-Level Sicht des Benutzers 17 Bindings Things Items Rules DeviceDeviceDeviceDevice Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18) | https://docs.openhab.org/concepts/index.html Icons made by Those Icons, Freepix, Kiranshastry, Catalin Fertu, Puppets, Epic Coders, Pixelmeetup from www.flaticon.com
  • 18. TINF15AI-BC / Software Architecture Management / 20. April 2018 18 Thermostat Licht Wetterdienst Sonnendaten Küchenheizung Kontrolle Winter Abend BINDINGS THINGS RULES ITEMS Source: https://www.builderscave.com/openhab-als-smarthome-zentrale (17.04.18), http://www.kriwanek.de/index.php/de/homeautomation/zentrale/openhab-2/510- grundlegendes-vorgehen-in-openhab-2 (19.04.18) SzenenwechselWohnzimmerlicht Z-Wave Binding ModusCHANNELS Schalter SonnenuntergangSonnenaufgangTemperatur Architektur von OpenHAB High-Level Sicht des Benutzers
  • 19. Architektur von OpenHAB High-Level Komponentensicht 19 OSGi Core Library HTTP Service Add-ons Sicht: Entwurfssicht O2 – Opensource O3 – Kenntnisse in Java und Eclipse P2 – Erweiterbarkeit T4 – Integration in andere Systeme OSGi = Open Services Gateway initiative = Komponenten Modell Framework Eclipse Equinox = OSGi Framework Apache Karaf = OSGi Application Server Pattern: Schichten TINF15AI-BC / Software Architecture Management / 20. April 2018 Source: https://docs.openhab.org/introduction.html | https://docs.openhab.org/developers/contributing/contributing (17.04.18) Icon made by Freepik, Chris Veigt from www.flaticon.com
  • 20. Architektur von OpenHAB High-Level Entwurfssicht TINF15AI-BC / Software Architecture Management / 20. April 2018 20 Sicht: Entwurfssicht O2 – Opensource O3 – Kenntnisse in Java und Eclipse P2 – Erweiterbarkeit T4 – Integration in andere Systeme OSGi = Open Services Gateway initiative = Komponenten Modell Framework Eclipse Equinox = OSGi Framework Apache Karaf = OSGi Application Server Pattern: Schichten Source: https://docs.openhab.org/introduction.html | https://docs.openhab.org/developers/contributing/contributing (17.04.18) Icon made by Freepik, Chris Veigt from www.flaticon.com
  • 21. Architektur von OpenHAB Eclipse Equinox – Das OSGi Framework TINF15AI-BC / Software Architecture Management / 20. April 2018 21 “OSGi technology is a set of specifications that define a dynamic component system for Java” OSGi™ Alliance (2018) Source: https://de.wikipedia.org/wiki/OSGi (17.04.18) | https://www.osgi.org/developer/architecture/ | http://homepages.dcc.ufmg.br/~mtov/pub/2008_sen.pdf https://www.eclipsecon.org/na2014/sites/default/files/slides/EclipseCon%202014%20-%20Equinox.pdf https://www.eclipse.org/equinox/documents/eclipsist2007/EclipseSummitTurkey2007-OSGiEquinoxExplained.pdf Pattern: Call-and-Return P2 – Erweiterbarkeit T1 – plattformunabhängig T2 – Stabilität T4 – Integration in andere Systeme Drei Schritte von OSGi: 1. Bundle A veröffentlich Schnittstelle 2. Bundles B liest diese Spezifikation 3. Bundles B kann Methoden von A nutzen Sicht: Physikalische Sicht
  • 22. Architektur von OpenHAB Eclipse Equinox – Das OSGi Framework TINF15AI-BC / Software Architecture Management / 20. April 2018 22 “OSGi technology is a set of specifications that define a dynamic component system for Java” OSGi™ Alliance (2018) Source: https://de.wikipedia.org/wiki/OSGi (17.04.18) | https://www.osgi.org/developer/architecture/ | http://homepages.dcc.ufmg.br/~mtov/pub/2008_sen.pdf https://www.eclipsecon.org/na2014/sites/default/files/slides/EclipseCon%202014%20-%20Equinox.pdf https://www.eclipse.org/equinox/documents/eclipsist2007/EclipseSummitTurkey2007-OSGiEquinoxExplained.pdf Pattern: Call-and-Return P2 – Erweiterbarkeit T1 – plattformunabhängig T2 – Stabilität T4 – Integration in andere Systeme Drei Schritte von OSGi: 1. Bundle A veröffentlich Schnittstelle 2. Bundles B liest diese Spezifikation 3. Bundles B kann Methoden von A nutzen Sicht: Physikalische Sicht
  • 23. Architektur von OpenHAB Detaillierte Komponenten Sicht TINF15AI-BC / Software Architecture Management / 20. April 2018 23Source: https://github.com/openhab/openhab1-addons/wiki | https://www.slideshare.net/xthirtynine/against-all-odds-ein-wolkenloses-smart-home?from_action=save http://www.openhabfoundation.org/documents/2017-10_Jochen_Hiller_QIVICON.pdf (17.04.18) Icon mady by gayatri from https://thenounproject.com/search/?q=eye&i=154947 CLOUD BINDING WEB UI COMP. RUNTIME openHAB SERVICE SUB- SYSTEM BINDING PRODUCT BINDING PROTOKOL BINDING DISCOVERY SERVICE REST API ONEM2M EMULATION WEB Service THINGS / BINDINGS API ECLIPSE SMARTHOME CORE RULES ENGINE PERSIS- TENCE VOICE ENABLING GUI openHAB 2 CORE ESH SUPPORT GUI MODEL/ CONFIG UPNP MDNS MQTT SERIAL PROTOCOL SUPPORT HTTP SERVER (JETTY) MODULES TEMPLATES TEXT-TO-SPEECH SPEECH-TO-TEXT HUMANLANGUAGE MEMORY LOCAL CLOUD WIDGETS ICONSETS CHARTENGINE BASICUI HOMEBUILDER CONSOLE HABMIN CONFIGFILES Sicht: Komponenten P4 – diverse Sensoren (Protokoll Binding) P5 – verschiedene Hersteller (Product Binding) P6 – herstellerabhängige Config & WebUI T3 – verschiedene Protokolle (UPNP, MQTT, SERIAL) T4 – Integration anderer Systeme (Bindings) Eclipse SmartHome (ESH) = Stellt Schnittstellen für Smart Home OpenHAB Core = Implementiert die Schnittstellen des ESH Pattern: Schichten
  • 24. Architektur von OpenHAB Event-View Komponenten Sicht TINF15AI-BC / Software Architecture Management / 20. April 2018 25Source: https://www.slideshare.net/xthirtynine/against-all-odds-ein-wolkenloses-smart-home?from_action=save (17.04.18) | Icon mady by gayatri from thenounproject.com Pattern: Event-Bus EVENT BUS HUE BINDING SONOS BINDING ZWAVE BINDING DASH BUTTON BINDING AUTOMATION LOGIC WEB UI REST API PERSITENCESTATES STATES STATES STATE UPDATE STATE UPDATE ITEM REGISTY COMMAND STATE UPDATE COMMAND TRIGGER STATE UPDATE COMMAND STATE UPDATE COMMAND STATE UPDATE COMMAND COMMAND TRIGGER Sicht: Ablaufsicht P4 – verschiedene Geräte über einen Bus angeschlossen P5 – Event Bus kann von verschiedenen Herstellern genutzt werden T3 – Eine UI/ Logik für verschiedene Protokolle T4 – Integration in andere Hersteller-Systeme Viele Bindings – 1 Bus Pattern: Event-Bus
  • 25. Zusammenfassung TINF15AI-BC / Software Architecture Management / 20. April 2018 26 Technologieauswahl (O1, O2, O3, P1, P3, T1, T2, T3, T4) Abstraktion (P4, P5, T3) Kapselung (P2, T4) Entkopplung (P6) Programmiersprache & Frameworks (Java) (Eclipse SmartHome, Eclipse Equinox, Apache Karaf) Komponenten- & Schichtenarchitektur (verschiedene Layer, Kapselung über OSGi, Protokoll Bindings) Abstraktion Konzept Bindings, Things, Item Trennung zwischen ESH und openHAB
  • 26. ENDE
  • 27. Architektur von OpenHAB OSGi Lifecycle “OSGi technology is a set of specifications that define a dynamic component system for Java” OSGi™ Alliance (2018) BACKUP
  • 28. Architektur von OpenHAB Apache Karaf Architektur TINF15AI-BC / Software Architecture Management / 20. April 2018 29 BACKUP Enterprise Features WebContainer (Pax Web) Instance Shell / SSH JMX Logging ConfigAdmin Security Deployers Provisioning JVM Programming Model (Spring/ BluePrint /DeclarativeService) OSGi Framework (Eclipse Equinox) Source: https://karaf.apache.org/projects.html (17.04.18)
  • 29. Demonstration OpenHAB Bedienoberfläche OpenHAB TINF15AI-BC / Software Architecture Management / 20. April 2018 30Source: https://github.com/openhab/openhab1-addons/wiki (17.04.18 BACKUP
  • 30. Demonstration OpenHAB Systemkonfiguration OpenHAB TINF15AI-BC / Software Architecture Management / 20. April 2018 31Source: https://github.com/openhab/openhab1-addons/wiki (17.04.18 BACKUP