development:middleware
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
development:middleware [2011/11/30 08:29] – angelegt justinotherguy | development:middleware [2011/12/01 00:05] (aktuell) – [Interpreter] Typo justinotherguy | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Struktur der Middleware ====== | ====== Struktur der Middleware ====== | ||
+ | <note important> | ||
===== Entities ===== | ===== Entities ===== | ||
- | Alle Klassen stammen von der Basisklasse "Entities" | + | Alle Kanäle, Zähler, Gruppen, User, Sensoren sind Entities (dt. " |
+ | Sie besitzen alle eine weltweit eindeutige [[http:// | ||
+ | |||
+ | Es gibt verschiedene Typen von Entities. Diese sind in der Datei '' | ||
+ | Hierbei wird jeder Typ durch folgende Eigenschaften charakterisiert: | ||
+ | * Name | ||
+ | * Icon | ||
+ | * Interpreter-Klasse (siehe '' | ||
+ | * Model-Klasse (siehe '' | ||
+ | * Übersetzungen | ||
==== Interpreter ==== | ==== Interpreter ==== | ||
- | Alle Messgeräte sind in verschiedene | + | Wie im vorherigen Abschnitt beschrieben ist jedes Entity einem bestimmten Typ zugeordnet. Dies ist nötig, da es verschiedene |
+ | Diese unterschiedlichen Formate müssen jeweils gesondert interpretiert, | ||
+ | Das ist die Aufgabe | ||
+ | == Beispiel == | ||
+ | ^Entity Typ|Stromzähler (" | ||
+ | ^Interpreter Klasse|MeterInterpreter|SensorInterpreter|AggregatorInterpreter| | ||
+ | ^Model|Channel|Channel|Aggregator| | ||
+ | ^Datenformat|Impulse eines S0-Zählers|absolute Messwerte|fasst Daten untergeordneterKanäle zusammen| | ||
+ | |||
+ | Im folgenden werden die verschiedenen Interpreter kurz vorgestellt. | ||
=== MeterInterpreter === | === MeterInterpreter === | ||
Alle Messgeräte, | Alle Messgeräte, | ||
+ | Die Daten werden hier in Form von Impulsen mit Zeitstempeln abgespeichert. Ein Impuls entspricht einer bestimmten Menge von Verbrauch. Je näher die Zeitstempel zweier Impulse beieinander liegen, desto höher ist der Verbrauch für diesen Periode. | ||
Beispiele | Beispiele | ||
- | * S0-Zähler für elektrische Energie oder Wassermenge | + | * S0-Zähler für elektrische Energie, Wasser- |
* Verbrauchskanal im eHZ | * Verbrauchskanal im eHZ | ||
* Betriebsstundenzähler | * Betriebsstundenzähler | ||
Zeile 25: | Zeile 45: | ||
* l | * l | ||
* h | * h | ||
- | |||
=== SensorInterpreter === | === SensorInterpreter === | ||
Zeile 39: | Zeile 58: | ||
* W | * W | ||
* °C | * °C | ||
+ | |||
+ | === AggregatorInterpreter === | ||
+ | |||
+ | Auch abstrakte Typen wie User (" | ||
+ | Dieser summiert die Werte der enthaltenen Kanäle. | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | ===== Properties ===== | ||
+ | |||
+ | Jedes Entity kann Eigenschaften (engl. " | ||
+ | |||
+ | Alle erlaubten Eigenschaften sind ähnlich wie bei den Entity Typen in der Datei '' | ||
+ | |||
+ | Nicht jeder Entity Typ darf jede Eigenschaft besitzen. So macht es zum Beispiel wenig Sinn einem Temperatur Sensor die Eigenschaft Kosten (" | ||
+ | |||
+ | Die Zuordnung welche Eigenschaften optional sind und welche verpflichtend sind, ist für jeden Entity Typ in der Datei '' | ||
development/middleware.1322638148.txt.gz · Zuletzt geändert: 2011/11/30 08:29 von justinotherguy