Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze...

38
Regelerstellung für die Hausautomatisierung Forschungsseminar Sommersemester 2014 23. Juni 2014 Studenten: Betreuer: Toni Kanther Felix Pistorius Prof. J. Vogt

Transcript of Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze...

Page 1: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

Regelerstellung für die Hausautomatisierung

Forschungsseminar

Sommersemester 2014

23. Juni 2014

Studenten: Betreuer:

Toni KantherFelix Pistorius

Prof. J. Vogt

Page 2: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

Inhalt

1. Einleitung

2. Benutzeroberfläche zur Regelerstellung Toni Kanther

3. Back-End für die Regelverwaltung Felix Pistorius

4. Zusammenfassung

Weblinks

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 2

Page 3: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

1. Einleitung

1. Motivation

2. Bestehende Lösungen

3. Zielsetzung

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 3

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 4: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

1.1 Motivation

• Hausautomatisierung soll:• Komfort erhöhen

• Anforderungen des Benutzers erfüllen

• Herausforderung für die Regelverarbeitung:• Benutzer sind sehr unterschiedlich

Regeln können sehr unterschiedlich und komplex sein

• Allgemeine Regeln sind nicht ausreichend

Regeln zur Automatisierung müssen individuell anpassbar sein

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 4

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 5: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

1.2 Bestehende Lösungen

• Regeln werden meist programmiert

• Einfache Regeln können grafisch erstellt werden• Tlw. Zeitunabhängig

• Eingeschränkte Verknüpfungen

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 5

OpenHAB - Rules(Quelle: openhab.org/features-rules.html)

Ergebnis Regelverarbeitung FS2013(Quelle: Abschlusspräsentation SS 2013, Seite 86)

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 6: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

1.3 Zielsetzung

• Untersuchung der Möglichkeiten zur grafischen Regelerstellung für die Hausautomatisierung.

• Regelerstellung:• Erstellung von komplexen Regeln

• Benutzerfreundlichkeit durch Programmiersprachenunabhängigkeit

• Verwendung des Hausautomatisierungsservers FHEM

• Komponenten:

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 6

Graf. OberflächeRegelerstellung

Back-EndRegelverwaltung

FHEM ServerRegelausführung, Geräteverwaltung

Regeldefinition

Liste von Aktorenund Sensoren

FHEMRegel

(Toni Kanther) (Felix Pistorius) (GPL lizensierter Server)

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 7: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2. Erstellung von Konzepten zum Aufbau und zur Integration eines universell einsetzbaren Web-basierten UI zur Regelgenerierung

1. Präzisierte Aufgabenstellung

2. Zum Einstieg: „Das Sommerszenario“

3. Anbindungs- / Kommunikationsschema

4. Lösungsansätze1. Nice-To-Know

2. Import der Geräteinformationen

3. Abbildung der Regel-Daten

4. Export der Regeldaten

5. Visualisierung (API‘s), Design-Entwurf

5. Weiter Vorgehensweise

23.06.2014 Regelverarbeitung - T. Kanther 7

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 8: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.1 Präzisierte Aufgabenstellung

• Erstellung eines Web-basierten Regeleditors,unter Nutzung von Basistechnologien gem. HTML5-Standard

• Verfolgung eines grafisch/ Wizard-basierten Ansatz

• Schaffung eines einfachen Austauschformates auf JSON-/XML-Basis

• Keine Programmierkenntnisse für Regelerstellung erforderlich

23.06.2014 Regelverarbeitung - T. Kanther 8

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 9: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.2 Zum Einstieg: „Das Sommerszenario“

• Betrachte man exemplarisch:

Bei einer Außentemperatur (S1) größer 30 °C und/oder einer äußeren Luftfeuchtigkeit (S2) > 70°C sollen alle Fenster (A1, A2) geschlossen werden/ bleiben. Klimaanlage (A3) an auf 21,5 °C.

Zudem sind alle Räume im Hochsommer (Juli/August) täglich im Zeitraum (Timer - T3) von 05 - 06 Uhr zu lüften (A1, A2 -> auf).

23.06.2014 Regelverarbeitung - T. Kanther 9

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 10: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.3 Anbindungs-/ Kommunikationsschema

23.06.2014 Regelverarbeitung - T. Kanther 10

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 11: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Nice-To-Know

• Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer Parameter, deren Werte in wiederum einer Vielzahl unterschiedlicher Maßeinheiten angegeben sein können.

• Unzählige spezifische Besonderheiten erzwingen spezifische Reaktionen, welche in die Regelanwendung sukzessive integriert werden müssen.

• Modellierung sehr komplex Verallgemeinerung• Bezug auf Schwerpunkte Raumklimatisierung / Lichtsteuerung

• Definition von Datentypen

• Operationen in Abhängigkeit von Datentypen

23.06.2014 Regelverarbeitung - T. Kanther 11

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 12: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Import der Geräteinformationen (JSON)

23.06.2014 Regelverarbeitung - T. Kanther 12

{

"Dev1":{ ## Idealerweise = Eindeutige Kennung

"_UNIQUE_ID":"Dev1", ## Eindeutige Kennung

"name":"Klimaanlage",

"properties":{

"_humidty":{

"type":{

"readable":true, ## Sensor (Hygrosensor)

"writeable":false

},

"value-type":"int", ## Information, über Datencharakteristik,

"unit":"percent" ## hier: Ganzzahl, Maßeinheit

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 13: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Import der Geräteinformationen (JSON)

23.06.2014 Regelverarbeitung - T. Kanther 13

"properties":{

"_humidty":{

"type":{

"readable":true, ## Sensor (Hygrosensor)

"writeable":false

},…

"_temperature":{

"type":{

"readable":true, ## Sensor (Messung der Temperatur)

"writeable":true ## Aktor (Hier: Setzen der Zieltemperatur)

},… },

"_switch":{

"type":{

"readable":false,

"writeable":true ## Aktor (Hier: Kühlfunktionalität)

},…

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 14: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Abbildung der Regel-Daten

• Realisierung durchk-Bäume

• Sensoren stetslinksseitig

• Aktoren stetsrechtsseitig

• Zusatzelementebeiderseits möglich(virtuelle Devices z.B. Timer - reine Schaltuhr, zur Schaltverzögerung)

23.06.2014 Regelverarbeitung - T. Kanther 14

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 15: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Export der Regeldaten

23.06.2014 Regelverarbeitung - T. Kanther 15

{

"RULES": {

"RULE1": {

"_UNIQUE_ID": "RULE1",

"rulename" : "Kühlungsprozess Raum XY",

"ruleDescr" : ""

}

"RULE2": {

"_UNIQUE_ID": "RULE2",

"rulename" : "Lüftungsprozess Raum XY",

"ruleDescr" : ""

}

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 16: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Export der Regeldaten

23.06.2014 Regelverarbeitung - T. Kanther 16

"RULE1": {

"COND": {

"OR": { "S1": { "_temperature": { "op": ">", "value": "30" } },

"S2": { "_humidty": { "op": ">", "value": "70" } }

}

},

"EXEC": { "A1": { "state": "close" },

"A2": { "state": "close" },

"A3": { "state": "on" }

}

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 17: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Visualisierung (API‘s)

• Wesentlichste Anforderungen:

• Nutzung von JavaScript

• Drag-&-Drop oder zumindest Maus-Event um dieses zu simulieren

• Interaktion mittels Formular-Elemente

• 1. Variante, rein HTML-basiert (ohne HTML-Canvas)

• jQuery UI, benötigt jQuery

• 2. Variante, grafisch unter Nutzung von HTML5-Canvas

• Verschiedene API‘s: wie EasyLJS, KineticJs …

• Graphik-API‘s haben keine Formular-Elemente!

• Lösung 1: durch Emulation HTML5-Form-Elemente auf Canvas-Graphik

Zuordnungsproblem – Wie saubere Bildschirmdarstellung erzwingen?

• Lösung 2: über Zusatz-API „CanvasInput“ [1]

[1] https://github.com/claydotio/Canvas-Input

23.06.2014 Regelverarbeitung - T. Kanther 17

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 18: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Design-Entwurf

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 18

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 19: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.5 Weitere Vorgehensweise

• Fertigstellung eines Prototypen, auf reine HTML5-Basis ohne Canvas• Konzentration auf Funktionen rein funktionaler Art

• Keine visueller Schnick-Schnack!

• Validierung der bisherigen Konzepte

• Implementierung des Regeleditors• Idealerweise: durch Erweiterung/ Anpassung des Prototypen

• Nice-To-Have: verbesserte Grafische Visualisierung

23.06.2014 Regelverarbeitung - T. Kanther 19

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 20: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3. Back-End für die Regelverwaltung

1. Präzisierte Aufgabenstellung

2. Vorgehensweise

3. Ergebnis der Analyse

4. Lösungsansatz

5. Weitere Vorgehensweise

23.06.2014 Regelverarbeitung - F. Pistorius 20

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Graf. OberflächeRegelerstellung

Back-EndRegelverwaltung

FHEM ServerRegelausführung, Geräteverwaltung

Regeldefinition

Liste von Aktorenund Sensoren

FHEMRegel

(Toni Kanther) (Felix Pistorius) (GPL lizensierter Server)

Page 21: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.1 Präzisierte Aufgabenstellung

• Regeln werden bereits in FHEM verwaltet.Warum nun eine zusätzliche Regelverwaltung?

Verwaltung von FHEM Regeln in Perl-Skripten und Konfigurationsdateien

Umfangreicher Syntax

• Regelverwaltung in einem geeigneten Format• Speichern

• Laden

• Manipulieren

• FHEM Regeln erstellen

• Geräteinformationen von FHEM an UI weiterleiten

23.06.2014 Regelverarbeitung - F. Pistorius 21

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 22: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.2 Vorgehensweise

Analyse FHEM

•Definition und Verwaltung von Regeln

•Möglichkeiten zur Anbindung

•Verwaltung von Geräten

Format der Regeln

•Anforderungen definieren

•Mögliche Formate und bestehende Lösungen ermitteln

•Bewertung der Formate

Übersetzung der Regeln

•Zielformat

•Validierung von Regeln

Umsetzung & Fazit

•Prototypische Umsetzung

•Kritische Reflektion

23.06.2014 Regelverarbeitung - F. Pistorius 22

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 23: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.3 Ergebnis der Analyse

• FHEM – Freundliche Hausautomatisierung und Energie-Messung

• In Perl geschriebener Server

• Modular aufgebaut

• Verwaltung der Module in Hauptmodul fhem.pl• define

• reload

• delete

• Verwaltung von Aktoren und Sensoren in Perl Hashes

23.06.2014 Regelverarbeitung - F. Pistorius 23

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

(Quelle: fhem.de)

Page 24: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.3 Ergebnis der Analyse

• FHEM Regelverwaltung• Kurze Regeln: Konfigurationsdatei

• Komplexe Regeln: Perl-Hilfsmodul

• Anbindung an FHEM• Integriert: Perl Modul

• Extern: Weblink, Telnet

• FHEM Module• Webserver

• FHEMWEB zur Integration von eigenen Seiten

23.06.2014 Regelverarbeitung - F. Pistorius 24

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

define LampeAnUm1700 at 17:00:00 set lamp on

(Quelle: Dokumentation „Hausautomatisierung mit fhem“, Seite 26)

(Quelle: fhem.de)

Page 25: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.4 Lösungsansatz - Komponenten

• Umsetzung als FHEM-Modul

• UI I/O: CGI als Schnittstelle zum UI

• Rule Repository: Verwaltung von Regeln in geeignetem Format

• Compiler: Übersetzen von Regeln

• Neue Konfigurationsdatei und Perl-Modul in FHEM für Regeln

23.06.2014 Regelverarbeitung - F. Pistorius 25

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 26: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.4 Lösungsansatz - Anforderungen

• Abbildung von Regeln, ohne Beschränkungen

• Leicht interpretierbares Format für Rule Repository (Laden, Speichern, Manipulieren)

• Identifikation von gleichen Regeln in FHEM und Rule Repository

• Ändern und löschen von FHEM Regeln

23.06.2014 Regelverarbeitung - F. Pistorius 26

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 27: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

3.5 Weitere Vorgehensweise

• Bewertungskriterien für Rule Repository

• Bewertung der Möglichkeiten• DBMS

• XML

• Eigenes Format

• Prototypische Umsetzung

• Kritische Reflektion

23.06.2014 Regelverarbeitung - F. Pistorius 27

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 28: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

4. Zusammenfassung

• Regelerstellung ist zurzeit mit hohem Programmieraufwand verbunden

• Ziel: Vereinfachung der Regelerstellung

• Aktueller Stand:• Grobentwurf

• Tlw. prototypische Umsetzung begonnen

• Nächste Schritte • Feinentwurf

• Umsetzung

• Bewertung der Ergebnisse

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 28

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 29: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 29

Vielen Dank für Ihre Aufmerksamkeit.

Fragen?

Page 30: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

Weblinks

• HTW Dresden: www.htw-dresden.de

• FHEM Hausautomatisierungsserver: fhem.de

• OpenHAB: www.openhab.org

• iP-Symcon: www.ip-symcon.de

• openRemote: www.openremote.org

• Forschungsseminar Sommersemester 2014 – Regelverarbeitung: HTW Dresden - Wiki Sensornetze / Regelverarbeitung

• JS-Libraries: http://medleyweb.com/web-dev/top-7-javascript-canvas-libraries-and-tutorials

• JQuery UI: http://jqueryui.com

• JQuery: http://api.jquery.com

• EasyLJS: http://www.createjs.com/#!/EaselJS

• KineticJS: http://kineticjs.com

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 30

Page 31: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

Backup Folien

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 31

Page 32: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

Übersicht über die bisher geprüften JavaScript-API‘s

23.06.2014 Regelverarbeitung - T. Kanther & F. Pistorius 32

Framework Preis Wesentliche Funktionen

kost

en

los

Erw

eit

erte

Sele

kto

ren

Dra

g-&

-Dro

p

Mau

s-In

tera

ktio

nen

Form

ula

r-el

emen

te

HTM

L5-C

anva

s-A

PI

HTM

L5-G

rap

h-A

PI Nur HTML5-Canvas

Ob

jekt

-

Ver

sch

ach

telu

ng

Laye

r

Ob

jekt

-Gru

pp

en

Vo

rdef

inie

rte

An

imat

ion

en

Variante 1 (auch im Prototyp):

JQuery UI

http://jqueryui.com

Benötigt JQuery

http://api.jquery.com

X (X) X X X - - - - - -

Variante 2 (grafisch):

EasyLJS

http://www.createjs.com/#!/EaselJSX - X X - X - X - - -

KineticJS

http://kineticjs.comX - - X - X - X X X X

Raphaël

http://raphaeljs.comX - - X - X - - - - X

OCanvas

http://ocanvas.orgX - - X - X - X (X) - X

ProcressingJS

http://processingjs.orgX - (-) X - X - X (3D) - X

GoJS (reine Graph-API)

http://www.gojs.net(1.350,- $) - X X - - X - - - -

Page 33: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.3 Anbindungs-/ Kommunikationsschema

23.06.2014 Regelverarbeitung - T. Kanther 33

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 34: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Import der Geräteinformationen (JSON)

23.06.2014 Regelverarbeitung - T. Kanther 34

{

"Dev1":{ ## Idealerweise = Eindeutige Kennung

"_UNIQUE_ID":"Dev1", ## Eindeutige Kennung

"name":"Klimaanlage",

"properties":{

"_humidty":{

"type":{

"readable":true, ## Sensor (Hygrosensor)

"writeable":false

},

"value-type":"int", ## Information, über Datencharakteristik,

"unit":"percent" ## hier: Ganzzahl, Maßeinheit

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 35: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Import der Geräteinformationen (JSON)

23.06.2014 Regelverarbeitung - T. Kanther 35

"properties":{

"_humidty":{

"type":{

"readable":true, ## Sensor (Hygrosensor)

"writeable":false

},…

"_temperature":{

"type":{

"readable":true, ## Sensor (Messung der Temperatur)

"writeable":true ## Aktor (Hier: Setzen der Zieltemperatur)

},… },

"_switch":{

"type":{

"readable":false,

"writeable":true ## Aktor (Hier: Kühlfunktionalität)

},…

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 36: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Export der Regeldaten

23.06.2014 Regelverarbeitung - T. Kanther 36

{

"RULES": {

"RULE1": {

"_UNIQUE_ID": "RULE1",

"rulename" : "Kühlungsprozess Raum XY",

"ruleDescr" : ""

}

"RULE2": {

"_UNIQUE_ID": "RULE2",

"rulename" : "Lüftungsprozess Raum XY",

"ruleDescr" : ""

}

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 37: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Export der Regeldaten

23.06.2014 Regelverarbeitung - T. Kanther 37

"RULE1": {

"COND": {

"OR": { "S1": { "_temperature": { "op": ">", "value": "30" } },

"S2": { "_humidty": { "op": ">", "value": "70" } }

}

},

"EXEC": { "A1": { "state": "close" },

"A2": { "state": "close" },

"A3": { "state": "on" }

}

},

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung

Page 38: Regelerstellung für die Hausautomatisierungwiki_sn/images/c/c9/...2.4 Lösungsansätze –Nice-To-Know •Eine Vielzahl von Sensoren liefern eine Vielzahl unterschiedlicher physikalischer

2.4 Lösungsansätze – Export der Regeldaten

23.06.2014 Regelverarbeitung - T. Kanther 38

"RULE2": {

"COND": {

"TIMER": {

"first_date": "XXXX-07-01",

"finish_date": "XXXX-08-31",

"space": "0500|0600|PM"

}

},

"EXEC": { "A1": { "state": "open" },

"A2": { "state": "open" },

"A3": { "state": "off" }

}

}

}

Einleitung – Regelerstellung – Regelverwaltung - Zusammenfassung