Praxisprojektbericht
Total Page:16
File Type:pdf, Size:1020Kb
Praxisprojektbericht im Studiengang Master Informatik Herstellerubergreifende¨ Heim-/Geb¨audeautomatisierung beim Einsatz von openHAB von Peter Manheller (9016802) Erstprufer:¨ Prof. Dr. Karl Jonas Zweitprufer:¨ M.Sc. Michael Rademacher Zeitraum: 30.03.2015 - 24.07.2015 Eingereicht am: 26.06.2015 Inhaltsverzeichnis 1 Einleitung1 1.1 Aufgabenstellung . 2 1.2 Zielsetzung . 2 1.3 Vorgehensweise . 3 2 Die OSGi-Service-Platform4 2.1 OSGi-Framework . 5 2.1.1 Bundles . 5 2.1.2 Services . 8 2.2 OSGi-Schichtenmodell . 10 2.3 OSGi-Implementierungen . 12 2.3.1 Eclipse Equinox . 13 2.3.2 Sonstige . 13 3 openHAB 14 3.1 Architektur . 15 3.1.1 OSGi-Framework Komponenten . 15 3.1.2 openHAB Kernkomponenten . 18 3.1.3 openHAB Erweiterungen . 19 3.2 openHAB Runtime . 22 3.3 openHAB Designer . 23 3.4 Automation . 23 3.4.1 Regeln, Skripte und Aktionen . 23 3.4.2 Jobmanagement . 24 3.5 Bindings . 24 3.6 Persistenz . 25 3.7 Sonstiges . 26 4 Bewegungserkennung von Personen 27 4.1 Eingesetzte Hard- und Software . 29 4.2 Installation und Konfiguration . 30 4.3 Implementierung . 32 4.4 Aufbau und Durchfuhrung¨ . 36 5 Ergebnisse und Alternativen 38 5.1 Ergebnisse . 38 5.2 Alternative Ans¨atze . 40 6 Zusammenfassung und Fazit 42 II Inhaltsverzeichnis 7 Anhang 44 7.1 Lex Uno Station - Leitrechner mit openHAB . 44 7.1.1 Konfiguration - openHAB mit Hue-Binding . 44 7.1.2 Deklaration - openHAB-Items . 44 7.1.3 Realisierung - openHAB-Sitemap . 45 7.1.4 Konfiguration - openHAB-Persistence . 46 7.1.5 Realisierung - openHAB-Rules . 47 7.1.6 Remote-Zugriff - Bash-Skript . 50 7.2 TP-Link WLAN Router - Receiver . 52 7.2.1 Konfiguration - Netzwerk . 52 7.2.2 Konfiguration - Wireless . 52 7.2.3 Konfiguration - Lua Skript . 53 7.2.4 Profil erstellen - Lua Skript . 54 7.2.5 Bewegung erkennen - Lua Skript . 55 7.2.6 Kommandos fur¨ openHAB REST-API - Lua Skript . 56 7.2.7 REST-API Kommando fur¨ openHAB-Items - Lua Skript . 57 7.3 TP-Link WLAN Router - Sender . 58 7.3.1 Konfiguration - Netzwerk . 58 7.3.2 Konfiguration - Wireless . 59 7.3.3 Multi-Generator Skript . 59 7.4 openHAB-GUI fur¨ realisierte Sitemap . 60 7.5 Ergebnisse und Messwertvisualisierung . 61 8 Eidesstattliche Erkl¨arung 66 Literaturverzeichnis 73 III Abbildungsverzeichnis 2.1 Beziehungen zwischen Bundles [Fil12, S. 74] . 8 2.2 Zusammenhang Bundles und Services [Fil12, S. 78] . 9 2.3 OSGi-Schichtenmodell [i.A.a. All15c, S. 2] . 10 2.4 Interkation Bundles und Framework-Schichten [Web+10, S. 17] . 11 2.5 Bundle-Lebenszyklus [i.A.a. All15c, S. 86] . 11 3.1 openHAB Architektur [Uh15i, i.A.a.] . 15 3.2 UML-Klassendiagramm des Philips Hue-Bindings . 21 4.1 Eingesetzte Hard- und Software [ope15] . 30 4.2 UML-Sequenzdiagramm - Profil erstellen . 33 4.3 UML-Sequenzdiagramm - Bewegungserkennung starten und stoppen . 34 4.4 UML-Sequenzdiagramm - Zus¨atzliche UDP-Pakete senden . 35 4.5 Aufbau des Szenarios in der Hochschule Bonn Rhein Sieg (Raum C060) [ope15] 36 5.1 Messergebnisse fur¨ den Anwendungsfall ”Profil erstellen" . 38 5.2 Messergebnisse fur¨ den Anwendungsfall "Bewegung erkennen" (Ruhe-Phase) . 39 5.3 Messergebnisse fur¨ den Anwendungsfall "Bewegung erkennen" (Bewegungs- Phase) . 39 7.1 Main-Menu¨ der Benutzeroberfl¨ache [Uh15u] . 60 7.2 Sub-Menu¨ der Benutzeroberfl¨ache - Steuerung der Leuchten [Uh15u] . 61 7.3 Visualisierung fur¨ Messdurchlauf #1 . 61 7.4 Visualisierung fur¨ Messdurchlauf #2 . 61 7.5 Visualisierung fur¨ Messdurchlauf #3 . 62 7.6 Visualisierung fur¨ Messdurchlauf #4 . 62 7.7 Visualisierung fur¨ Messdurchlauf #5 . 62 7.8 Visualisierung fur¨ Messdurchlauf #6 . 63 7.9 Visualisierung fur¨ Messdurchlauf #7 . 63 7.10 Visualisierung fur¨ Messdurchlauf #8 . 63 7.11 Visualisierung fur¨ Messdurchlauf #9 . 64 7.12 Visualisierung fur¨ Messdurchlauf #10 . 64 7.13 Visualisierung fur¨ Messdurchlauf #11 . 64 7.14 Anmerkungen zu den einzelnen Messdurchl¨aufen . 65 IV Quelltextverzeichnis 2.1 Manifest - Ausschnitt "openHAB Core" . .6 3.1 Ausschnitt - OSGILogListener.class - Delegation an den SLF4J-Logger [Uh15m, Kreuzer K.] . 17 3.2 Ausschnitt der "execute"-Methode der "HueBinding"-Klasse [Uh15m, Hart- mann R., Schering J.] . 21 3.3 Ausschnitt des MySQL-Services - Datentypen [Uh15m, Sj¨ostrand H., Eichst¨adt- Engelen T., Jackson C.] . 25 7.1 Ausschnitt der openHAB-Konfiguration . 44 7.2 Deklaration der openHAB-Items . 44 7.3 Konfiguration der openHAB-Sitemap . 45 7.4 rrd4j-Persistenz fur¨ Visualisierung der Signalst¨arken . 46 7.5 Konfiguration der MySql-Persistenz . 47 7.6 MySql-Query fur¨ Auswertung der Ergebnisse . 47 7.7 openHAB-Rules fur¨ Reaktion auf Nutzer- und Systeminteraktion . 47 7.8 Bash-Skript fur¨ Remote-Zugriff auf Sender und Receiver . 51 7.9 Ausschnitt der Netzwerk-Konfiguration . 52 7.10 Wireless-Konfiguration . 52 7.11 Lua-Konfiguration . 53 7.12 RSSI-Profil erstellen . 54 7.13 Bewegung anhand der absoluten RSSI-Differenz erkennen . 55 7.14 REST-API Kommandos (POST / GET) . 56 7.15 openHAB-Items auf dem Receiver verarbeiten (optional) . 57 7.16 Ausschnitt der Netzwerk-Konfiguration . 58 7.17 Wireless-Konfiguration . 59 7.18 Multi-Generator Skript fur¨ 10 Pakete/s . 59 V Abkurzungsverzeichnis¨ BatiBUS Industrielles Feldbussystem des BCI . 1 BCI BatiBUS Club International . 1 CENELEC Comit´eEurop´eende Normalisation Electrotechnique´ . 1 DDC-GA Direct-Digital-Control-Geb¨audeautomation. .2 Drools Rule Management System Solution der JBoss Community . 14 EHS European Home Systems . 1 EHSA European Home Systems Association. .1 EIB Europ¨aischer Installationsbus. .1 EIBA European Installation Bus Association . 1 EnOcean Technologie batterieloser Funksensorik Fhem Hausautomations-Server auf Basis von Perl . 2 FS20 Protokoll fur¨ Funksysteme GA Geb¨audeautomatisierung bzw. Geb¨audeautomation . 1 HA Heimautomatisierung bzw. Heimautomation . 1 HomeMatic Produktfamilie der eQ-3 AG fur¨ Hausautomation IANA Internet Assigned Numbers Authority. .6 IDE Integrated Development Environment . 13 IFTTT If This Then That . 20 IHC Intelligent Home Control . 16 INSs Inertial Navigation Systems . 27 Instabus Installation Bussystem . ..