28
Grafische Regelerstellung für die Hausautomatisierung mit FHEM 26.01.2015 Regelverarbeitung – T. Kanther & F. Pistorius 1 Forschungsseminar Toni Kanther Felix Pistorius 26. Januar 2015

Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

Grafische Regelerstellung für die Hausautomatisierung mit FHEM

26.01.2015 Regelverarbeitung – T. Kanther & F. Pistorius 1

Forschungsseminar

Toni Kanther

Felix Pistorius

26. Januar 2015

Page 2: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

Inhalt

26.01.2015 Regelverarbeitung – T. Kanther & F. Pistorius 2

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

1. Einleitung

2. Grafische Regelerstellung (Toni Kanther)

3. Regelübersetzung (Felix Pistorius)

4. Ergebnis

Page 3: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

1. Einleitung

26.01.2015 Regelverarbeitung - F. Pistorius 3

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

1. Motivation

2. Zielsetzung

3. Systemüberblick

Page 4: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

1.1 Motivation

26.01.2015 Regelverarbeitung - F. Pistorius 4

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Hausautomatisierung gewinnt immer mehr an Bedeutung

● Viele Hersteller mit unterschiedliche Lösungen und Standards

● Hausautomatisierung mit FHEM

– Unterstützt viele Standards

– Frei verfügbar und Open Source

– Modular aufgebaut

– Kann erweitert werden

Page 5: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

1.2 Zielsetzung

26.01.2015 Regelverarbeitung - F. Pistorius 5

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Herausforderungen:

– Unterschiedliche Nutzer -> unterschiedliche Regeln● Problem:

– Regeln müssen meist programmiert werden● Untersuchung der Möglichkeiten zur grafischen Regelerstellung für die

Hausautomatisierung mit FHEM.

● Regelerstellung:

– Benutzerfreundlichkeit durch Programmiersprachenunabhängigkeit

– Verwendung des Hausautomatisierungsservers FHEM

– Erstellung von komplexen Regeln soll möglich sein

Page 6: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

1.2 Systemüberblick

26.01.2015 Regelverarbeitung – T. Kanther 6

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Page 7: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2. Grafische Regelerstellung

26.01.2015 Regelverarbeitung - T. Kanther 7

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

1. Vorgehensweise

2. Lösungsansätze

3. Grammatik

4. Implementierung

Begriffe

Server meint hier einen Repräsentant der Gesamtheit von Heimautomatisierungsserver

Sensoren, Aktoren können auch Software basiert emuliert werden z.B. Dummys

VirtualDevice – Geräte die bestimmte Bedingungen zusätzlich beschränken, Regelauswertung beeinflussen oder Aktionen beeinflussen, z.B. verzögern, können. Dahinter stehen steht Software-Routinen.

Page 8: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.1 Implementierung einer webbasierten GUI zur Regelgenerierung

26.01.2015 Regelverarbeitung - T. Kanther 8

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Wintersemester 2014/15

● Theoretische Konzeption II

– Modellierung von Regeln

– Ex-/ Import von Regeln– Herleitung der Grammatik

– Aufbau einer JS-Library

– Testen der JS-Library

– Implementierung einer Drag&Drop UI

Page 9: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

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

26.01.2015 Regelverarbeitung - T. Kanther 9

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Ausschließliche Bereitstellung durch Server

Vorteile:

• hohe Gestaltungsfreiheit [serverseitig]

Nachteil:

• Datenstrukturen können permanent "wanken„- Erfassung der Vielzahl an Fällen nicht möglich

• Auch standardisierte Devices (z.B. Timer, jeglicher Art) werden unnötig gemappt

oder durch den jeweiligen Editor selbst

Vorteile:

• hohe Konsistenz und klare Struktur durch Vordeklaration Object- Repräsentationen der Devices selbst

• Mapping der Standard-Devices entfällt

Nachteil:

• Die Standardparameter, welche die Server benötigen, müssen bekannt sein► beschränkt anwendbar

Aufwand des Mappings enorm:

► Anzahl der zu unterstützenden Hardwaresysteme/-reihen, Geräte (Sensoren, Aktoren, Schalter), bereitgestellte virtuelle Geräte & Routinen), Wartungsaufwand (ständige Weiterentwicklungen der Hersteller, Geräte sowie Firmware)

► Trotz Standards variieren Anzahl und Struktur der importierten Parameterinformationen, Bedingungen können unendliche Vergleichswerte besitzen (z.B. "IN" −Operator)

Page 10: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

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

26.01.2015 Regelverarbeitung - T. Kanther 10

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Beide Varianten können kombiniert werden:

Nachteil:• hoher Integrationsaufwand und Sicherstellung der

Identifikation beider Mengen► hier: anhand der Prefixe 'VD_' bzw. 'SYS_'

gewährleistet falls TYPE nicht eindeutig

• Genauere Handhabung und Transformationen sind immer im jeweiligen Wrapper-Skript für das jeweilige Zeilsystem zu regeln(im Regeleditor per JavaScript - Import;extern im jeweiligen Zielsystem für den Export )

var VIRTUAL_DEVICES = [{ "TYPE" : "VD_DIGITAL_TIMER", "NAME" : "Digital timer", "ALT" : "Digitale Zeitschaltuhr, welche … …realen Bauweise nachempfunden ist", "ICON_CLASS" : "RD_DIGITAL_TIMER", "SETS" : [ "Weekdays", "BeginTime", "EndTime", "BeginDate", "EndDate" ],

# Ausführungsbeschränkung – Actor-Event nur # im Zeitfenster aktiv "IS_ACTOR" : true,

# Zusätzliche Beschränkung von Bedingungen "IS_SENSOR" : true,

# Regel wird außerhalb des Zeitfensters # abgelehnt "IS_VDEV" : true}, …

var VIRTUAL_DEVICES = [{ "TYPE" : "VD_DIGITAL_TIMER", "NAME" : "Digital timer", "ALT" : "Digitale Zeitschaltuhr, welche … …realen Bauweise nachempfunden ist", "ICON_CLASS" : "RD_DIGITAL_TIMER", "SETS" : [ "Weekdays", "BeginTime", "EndTime", "BeginDate", "EndDate" ],

# Ausführungsbeschränkung – Actor-Event nur # im Zeitfenster aktiv "IS_ACTOR" : true,

# Zusätzliche Beschränkung von Bedingungen "IS_SENSOR" : true,

# Regel wird außerhalb des Zeitfensters # abgelehnt "IS_VDEV" : true}, …

Beispiel: Deklaration eines VirtualDevice

Page 11: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.2 Lösungsansätze – Modellierung der Regeln als k-Baum

• Realisierung durch k-Bäume

• Sensoren stetslinksseitig

• Aktoren stetsrechtsseitig

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

26.01.2015 Regelverarbeitung - T. Kanther 11

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Page 12: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.2 Export der Regeldaten – Lösungsansätze

26.01.2015 Regelverarbeitung - T. Kanther 12

{ "RULES": { "RULE1": { "_UNIQUE_ID": "RULE1", "rulename" : "Kühlungsprozess Raum XY", "ruleDescr" : "" }, "RULE2": { "_UNIQUE_ID": "RULE2", "rulename" : "Lüftungsprozess Raum XY", "ruleDescr" : "" } }…

{ "RULES": { "RULE1": { "_UNIQUE_ID": "RULE1", "rulename" : "Kühlungsprozess Raum XY", "ruleDescr" : "" }, "RULE2": { "_UNIQUE_ID": "RULE2", "rulename" : "Lüftungsprozess Raum XY", "ruleDescr" : "" } }…

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

… "RULE1": { "COND": { "OR": { "S1": { "_temperature": { "op": ">", "value": "30" } }, "S2": { "_humidty": { "op": ">", "value": "70" } } } }, "EXEC": { "A1": { "state": "close" }, "A2": { "state": "close" }, "A3": { "state": "on" } } },…

… "RULE1": { "COND": { "OR": { "S1": { "_temperature": { "op": ">", "value": "30" } }, "S2": { "_humidty": { "op": ">", "value": "70" } } } }, "EXEC": { "A1": { "state": "close" }, "A2": { "state": "close" }, "A3": { "state": "on" } } },…

Grob-Entwurf aus dem SS 14

Identifikation und Übergabe zusätzlicher Meta-Informationen(z.B. Benutzerfreundliche Beschreibungen)

Findung einer geeigneten Regel-Darstellung

Page 13: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.2 Export der Regeldaten – Probleme des Ansatzes

26.01.2015 Regelverarbeitung - T. Kanther 13

{ "RULES": { "RULE1": { "_UNIQUE_ID": "RULE1", "rulename" : "Kühlungsprozess Raum XY", "ruleDescr" : "" }, "RULE2": { "_UNIQUE_ID": "RULE2", "rulename" : "Lüftungsprozess Raum XY", "ruleDescr" : "" } }…

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

… "RULE1": { "COND": { "OR": { "S1": { "_temperature": { "op": ">", "value": "30" } }, "S2": { "_humidty": { "op": ">", "value": "70" } } } }, "EXEC": { "A1": { "state": "close" }, "A2": { "state": "close" }, "A3": { "state": "on" } } },…

ZweigleisigkeitZweigleisigkeit

Strikte Trennung von Regelinformationen und Metadaten

Strikte Trennung von Regelinformationen und Metadaten

Deutlicher Mehraufwand durch manuelles Parsen der Regeln

Deutlicher Mehraufwand durch manuelles Parsen der Regeln

Anmerkung:Widerspruch zur Baumdarstellung –Wer bildet die Wurzel?

Anmerkung:Widerspruch zur Baumdarstellung –Wer bildet die Wurzel?

Konträre Objekte auf erster EbeneKonträre Objekte auf erster Ebene

NachteileNachteileVorteileVorteile

Page 14: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.2 Export der Regeldaten – Probleme des Ansatzes

26.01.2015 Regelverarbeitung - T. Kanther 14

{ "RULES": { "RULE1": { "_UNIQUE_ID": "RULE1", "rulename" : "Kühlungsprozess Raum XY", "ruleDescr" : "" }, "RULE2": { "_UNIQUE_ID": "RULE2", "rulename" : "Lüftungsprozess Raum XY", "ruleDescr" : "" } }…

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

… "RULE1": { "COND": { "OR": { "S1": { "_temperature": { "op": ">", "value": "30" } }, "S2": { "_humidty": { "op": ">", "value": "70" } } } }, "EXEC": { "A1": { "state": "close" }, "A2": { "state": "close" }, "A3": { "state": "on" } } },…

ParameterdarstellungParameterdarstellung

Strikte Verwendung von Key-Value-Paaren→ Einfache Representation

JavaScript-Objekt

Strikte Verwendung von Key-Value-Paaren→ Einfache Representation

JavaScript-Objekt

Fixe Anzahl von BezugswertenFixe Anzahl von Bezugswerten

Mehrstufige Operanden:„Wochentag“ : {„IN“ : „Mo“} „Fr“„zwischen“ : {„BETWEEN“ , 0} ? Obergrenze?

Mehrstufige Operanden:„Wochentag“ : {„IN“ : „Mo“} „Fr“„zwischen“ : {„BETWEEN“ , 0} ? Obergrenze?

NachteileNachteileVorteileVorteile

Eindeutigkeit von Keys innerhalb Objekten muss gewährleistet sein

Eindeutigkeit von Keys innerhalb Objekten muss gewährleistet sein

Page 15: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.2 Export der Regeldaten – Probleme des Ansatzes

26.01.2015 Regelverarbeitung - T. Kanther 15

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

… "RULE1": { "COND": { "OR": { "S1": { "_temperature": { "op": ">", "value": "30" } }, "S2": { "_humidty": { "op": ">", "value": "70" } } } }, "EXEC": { "A1": { "state": "close" }, "A2": { "state": "close" }, "A3": { "state": "on" } } },…

Identifikation von ObjektenIdentifikation von Objekten

Aktoren-/ Sensorerkennung zu 100%

gewährleistet? !!!NEIN!!!Fremdsysteme können nur bedingt mit fremden IDs umgehen

Aktoren-/ Sensorerkennung zu 100%

gewährleistet? !!!NEIN!!!Fremdsysteme können nur bedingt mit fremden IDs umgehen

NachteileNachteile

Wie logische Gatter von Sensoren unterscheiden?Wie logische Gatter von Sensoren unterscheiden?

Mitgaben von Ausführungsbeschränkungen?Mitgaben von Ausführungsbeschränkungen?

Umgang mit Software basierten Devices und Generatoren?Timer, Sonnenauf- und -untergang, Feiertage, Protokollierungsmodule

Umgang mit Software basierten Devices und Generatoren?Timer, Sonnenauf- und -untergang, Feiertage, Protokollierungsmodule

Verwendung von gleichen Gattern auf gleicher Ebene → Key-Verletzung

Verwendung von gleichen Gattern auf gleicher Ebene → Key-Verletzung

Page 16: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.3 Aufstellung einer Grammatik

26.01.2015 Regelverarbeitung - T. Kanther 16

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

• Behebung der Probleme:• Behebung der Zweigleisigkeit, jede Grammatik hat ein Wurzelelement (in JavaScript

das oberste Wurzelobjekt)

• Vergleichsoperatoren in „Referenzparameter“ abgebildet (Mix aus JS-Objekt, JS-Array)

Referenzparameter-Syntax: { “Bezugsgröße“ : [ Operand, Wert1, Wert2, … WertX ], …, “Bezugsgröße n“ : […] }

Parameter zum Vergleich: Syntax: { “Bezugsgröße“: Wert, …, “Bezugsgröße n“ : Wert n }

• Einführung von Gruppierungsobjekten (Gatter, Aktorengruppen) und virtueller Devices

• Struktur virtueller Devices

• JS-Objekt-Strukturen werden durch die Vorgabe der Regeln gebildet und nicht umgekehrt, gewährleistet Eindeutigkeit von Objekten sowie Flexibilität bzgl. Erweiterungsfähigkeit und Protierbarkeit

[ PDF \ DEMO ]

Page 17: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

2.4 Implementierung der Library

26.01.2015 Regelverarbeitung - T. Kanther 17

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

• Behebung der Probleme:

• Senkung des Wartungsaufwands und Erhöhung der Funktionssicherheit durch ausschließliche Nutzung von ECMA-Skript5 ► Verzicht auf API‘s

• Nutzung eines Testframeworks (QUnit) zur stetigen Validierung

• Problem in diversen Browser werden bestimmte Selectoren nicht unterstütztUmgehung des jQuery-Hidden-Problems

● Verwendete Technologien: JavaScript, Ajax, JSON

● Verwendete API‘s Jquery, Qunit-Testframework

– JQuery: Vereinfachung des Zugriffs auf DOM-Elemente

– JQuery UI: Drag-&-Drop / Oberflächenanimation

Page 18: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

Demo der Regelerstellung

26.01.2015 Regelverarbeitung – F. Pistorius 18

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

Page 19: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

3. Regelübersetzung

26.01.2015 Regelverarbeitung – F. Pistorius 19

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

1. Aufgabenstellung

2. FHEM Analyse

3. FHEM Modul

4. Wizard basierte Regelerstellung

Page 20: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

3.1 Aufgabenstellung

26.01.2015 Regelverarbeitung – F. Pistorius 20

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Untersuchen der Möglichkeiten zur Anbindung des UI an FHEM

● Übersetzen von Regeln des UI in FHEM Regeln

● Vorgehensweise

– Analyse von FHEM

– Entwurf und Implementierung

– Prüfen der Schnittstelle, mit Hilfe eines einfachen UI

Page 21: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

3.2 Analyse FHEM

26.01.2015 Regelverarbeitung – F. Pistorius 21

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Regelverwaltung in Konfigurationsdatei

● Besteht aus FHEM- und Perl-Befehlen

– FHEM: set, get, define

– Perl: {if($devicestate eq 'on'){ fhem 'set $device dim40%%';; }}● Grundlegende Befehle für FHEM Regeln

– notify: Regelausführung abhängig von einem Ereignis

– at: Regelausführung abhängig von einer Zeitangabe● Anbindung

– Extern: HTTP, Telnet

– Intern: Perl Modul

(Quelle: fhem.de)

Page 22: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

3.3 FHEM Modul

26.01.2015 Regelverarbeitung – F. Pistorius 22

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● UI I/O:

– Empfängt Regeln

– Sendet Informationen

über Regeln● Repository:

– Sqlite DB

– Speichert Regeln und Status● Compiler:

– Übersetzt Regeln

Page 23: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

3.4 Wizard basierte Regelerstellung

26.01.2015 Regelverarbeitung - F. Pistorius 23

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Ziel:

– UI für nicht technisch affine Nutzer

– Test der Schnittstelle zum FHEM Modul● Idee:

– Einfache Fragen zum Erstellen einfacher Regeln

– Auf einzelne Anwendungsfälle zugeschnitten (Aktion, Zeit)● Funktionsumfang:

– Erstellen von einfachen Regeln

– Aktivieren und deaktivieren➔ Demo

Page 24: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

4. Ergebnis

26.01.2015 Regelverarbeitung - T. Kanther 24

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Jede Geräteinformationen von Servern beziehen? NEIN=> Parameter-Informationen stark schwankend=> Programmieraufwand=> Gemeinsamkeiten sollten genutzt um Mapping-Aufwand zu reduzieren=> relative Erhöhung der Ajax-Performance

● Grammatik zur Strukturellen Darstellung von Regeln in JSON

● JavaScript-Bibiliothek basierend auf ECMA-Script 5, ohne API-Abhängigkeit

● Regeleditor mit Wrapper für FHEM

● Observer-Pattern zur Aktualisierung der Benutzeroberflächefunktioniert, ABER: trotz modernen Browser merklich verlangsamt („Ruckeln“) sobald HTML-Blöcke erneuerte werden => Ergebnis: Darstellung nur zu beginn aufgebaut, auf komplette Umsetzung des Patterns verzichtet

Page 25: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

4. Ergebnis

26.01.2015 Regelverarbeitung - F. Pistorius 25

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● Übersetzung grundsätzlich möglich

● Spezialfälle und Neuentwicklungen müssen nachträglich implementiert werden.

● Fehlende Metainformationen zu Geräten in FHEM

● Schnittstelle bietet Möglichkeit zur Implementierung von individualisierten User Interfaces.

➔ Hauptfokus kann auf die Gestaltung des UI gelegt werden.

Page 26: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

4. Ausblick

26.01.2015 Regelverarbeitung - T. Kanther 26

Einleitung – Regelerstellung – Regelübersetzung - Ergebnis

● VirtualDevice & Co. (Software-Emulation)Untersuchung und grundlegenden Diskussion ist im Bezug auf Findung eines geeigneten JSON-Austausch-Formates notwendig. Sowohl für die Unterstützung anderer Server-Systeme als auch die Gerätschaften gleicher Gerätegattungen verschiedener Hersteller. Die Diskussion ist somit für alle Gerätegattungen unabhängig zu führen.

● Überarbeitung der GUI eventuell unter Verwendung vonHTML-5-Canvas (jedoch fehlende GUI-Elemente)

Page 27: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

26.01.2015 Regelverarbeitung – T. Kanther & F. Pistorius 27

Vielen Dank für Ihre

Aufmerksamkeit!

Page 28: Grafische Regelerstellung für die Hausautomatisierung mit …wiki_sn/images/d/d7/...Observer-Pattern zur Aktualisierung der Benutzeroberfläche funktioniert, ABER: trotz modernen

26.01.2015 Regelverarbeitung – T. Kanther & F. Pistorius 28

Vielen Dank für Ihre

Aufmerksamkeit!

Fragen?