Geräteschnittstellen
Die Geräte der dezentralen Heimautomatisierung haben mehrere funktional unterschiedliche Schnittstellen. Wobei es möglich (und wahrscheinlich) ist, dass dafür nur eine physikalische Schnittstelle (z.B. Netzwerkanschluss) eingesetzt wird. Dennoch sind die hier beschriebenen verschiedenen Schnittstellen voneinander separiert und können oft auch nicht gleichzeitig genutzt werden bzw. können gegeneinander verriegelt sein.
Inhaltsverzeichnis
Entwicklungsschnittstelle
Die Entwicklungsschnittstelle (oder auch Entwicklerschnittstelle) ist der Zugang zum Gerät bei der Entwicklung. Diese Schnittstelle ist in der Regel dem Anwender nicht zugänglich. Sie wird in den meisten Fällen durch die Auswahl des Mikrocontrollers und der dafür bereitgestellten integrierten Entwicklungsumgebung (IDE) definiert. Im Rahmen der hier vorgestellten dezentralen Heimautomatisierung ist diese Schnittstelle nicht relevant. Sie wird hier aufgeführt, um eine Unterscheidung zur Programmierschnittstelle vorzunehmen.
Programmierschnittstelle
Die Programmierschnittstelle gehört zur Wartungsschnittstelle. Der Begriff soll verdeutlichen, dass über diese Schnittstelle Algorithmen implementiert und/oder verändert werden können, die die Funktion von Geräten aus Anwendersicht beeinflussen. Das betrifft in erster Linie die Aktuatoren, die für unterschiedliche Aufgaben eingesetzt werden können und deren Entscheidungskriterien für die Betätigung ihres Stellgliedes entsprechend modifizierbar sind.
So könnte ein Anwender zum Beispiel einen Herd so einstellen (programmieren), dass dieser nur dann eingeschaltet werden kann, wenn sich eine Person im Haus befindet, unabhängig von allen anderen Aufgaben (z.B. automatisches Einschalten zur Mittagszeit, um Kartoffeln zu kochen). Das wäre also ein Algorithmus, der die Information (Sensor) über die Anwesenheit von Personen benötigt.
Wartungsschnittstelle
Die Wartungsschnittstelle ist eine Erweiterung der Programmierschnittstelle mit Zugriffen auf Daten im Gerät (schreibend/lesend) und mit einer speziellen Behandlung der Nutzungsmöglichkeiten, die sich entsprechend auf die Programmierschnittstelle auswirken.
Die Wartungsschnittstelle kann nicht spontan genutzt werden. Der gewünschte Zugang muss eine (vom Anwender einstellbare Zeit) vorher angemeldet werden. Sobald ein Wartungszugang für das Gerät angemeldet wurde, wird das in seinem Zustand vermerkt und alle anderen Geräte wissen damit, dass hier eine Manipulation erfolgen kann/soll. Die Heimbewohner erfahren über geeignete Visualisierungswerkzeuge, dass ein manipulierender Zugriff bevorsteht. Sollte die Wartungsanmeldung durch einen potenziellen Schadensverursacher ausgelöst worden sein, so können die Heimbewohner angemessen reagieren.
Betriebsschnittstelle
Die Betriebsschnittstelle (häufig auch als Kommunikationsschnittstelle bezeichnet) ist die Lebensader der dezentralen Heimautomatisierung als Gesamtsystem. Zwar müssen Sensoren und Aktuatoren für die dezentrale Heimautomatisierung autark sein, aber eine voll funktionstüchtige Heimautomatisierung kommt erst zustande, wenn die Geräte miteinander Daten austauschen.
Die Betriebsschnittstelle ist bei der DHA grundsätzlich ein Netzwerk, das Rundrufe (Broadcast) versenden kann. Sollte ein Netzwerk oder Sub-Netzwerk eingesetzt werden, das diese Technik nicht beherrscht, so muss auf eine andere Weise garantiert werden, dass die von einem Gerät ausgesendeten Informationen bei allen anderen Geräten empfangen werden können.
In Anlehnung an die Kommunikation in bestimmten sozialen Netzen werden bei der Betriebsschnittstelle die Funktionen Twitter und Follower unterschieden. Das Konzept dieser Kommunikation und die dabei verwendeten Telegramme wurden von der MFP GmbH aus Wunstorf für ein agentenbasiertes Fertigungssteuerungssystem (Agent based Manufacturing Execution System, AMES) entwickelt und als Social Manufacturing Network bezeichnet ([1]>.
Der Twitter sendet zyklisch an ihn übergebene Informationen (eine Anzahl von Daten mit den Typen Integer, Float und/oder Text) über Rundruf in das Netzwerk, also an alle anderen Geräte (Sensoren und Aktuatoren). Zur Zeit kann man dafür die Zykluszeiten 0,1 Sekunde, 1 Sekunde oder 10 Sekunden auswählen.
Für den Programmierer steht eine Twitter-Klasse als Quellcode in C++ und Java zur Verfügung.
Follower
Der Follower empfängt beliebige Rundrufe und sortiert bestimmte aus, er ist gewissermaßen ein Filter und wird auf bestimmte Informationen abgestimmt.
Für den Programmierer steht ebenfalls eine Follower-Klasse als Quellcode in C++ und Java zur Verfügung.