Homematic Zentrale individuell – die eigene Zusatz-Software für Homematic®-Anwendungen

0,00
Aus ELVjournal 02/2011     0 Kommentare
 Homematic Zentrale individuell – die eigene Zusatz-Software für Homematic®-Anwendungen
PDF- / Onlineversion herunterladen

Mit der Homematic Zentrale lassen sich vielfältige Aufgaben der Hausautomation komfortabel lösen. Dieses Potential lässt sich durch den Einsatz von Zusatz-Software noch einmal deutlich erhöhen. Wir beschreiben am Beispiel der Anwesenheitssimulation, wie sich eigene Zusatz-Softwarepakete für die Homematic Zentrale erstellen lassen.

Die CCU kann mehr!

Die Anwesenheitssimulation ist ein wichtiger Anwendungsfall im Bereich der Hausautomation, dient diese doch auch der Sicherheit und damit dem präventiven Schutz vor Einbruch. Dabei wird das Verhalten von Wohnungs nutzern simuliert, während diese abwesend sind, also zu bestimmten Zeiten für eine bestimmte Zeitspanne das Licht in verschiedenen Räumen geschaltet, ein laufendes Fernsehgerät simuliert, Musik abgespielt usw. Es existieren verschiedene Wege, mit denen eine Anwesenheitssimulation realisierbar ist. Einige Systeme protokollieren das Verhalten der Bewohner und spielen die aufgenommenen Aktionen für die Anwesenheitssimulation erneut ab. Andere Systeme basieren auf zufälligen Ereignissen. Jedes der beiden Systeme hat eigene Vor- und Nachteile. Im Rahmen dieses Artikels wird die Homematic Zentrale um eine Zufallskomponente erweitert, so dass eine entsprechende Anwesenheitssimulation realisiert werden kann. Die fertige Zusatz-Software sowie die vollständigen Quelltexte sind im Downloadbereich des ELVjournals verfügbar.

Vorbereitung

Bild 1: Der Telnet-Zugang zur Homematic Zentrale
Bild 1: Der Telnet-Zugang zur Homematic Zentrale
Bevor es an die Entwicklung der Zusatz-Software geht, ist die Homematic Zentrale entsprechend vorzubereiten. Dazu werden die Zusatz-Softwarepakete Telnet und FTP installiert. Beide werden auf [1] zum Download angeboten. Dort findet sich auch eine detaillierte Anleitung zur Installation. Die Telnet-Zusatz-Software [2] ermöglicht den Zugriff auf die Debug-Konsole der Homematic Zentrale (Bild 1). Während der Entwicklung lässt sich die neue Zusatz-Software zur Anwesenheitssimulation über die Debug-Konsole testen. Generell ist es eine gute Idee, die Telnet-Zusatz- Software zu installieren, wenn tiefergehende Eingriffe an der Homematic Zentrale geplant sind. Denn im Fehlerfall ist Telnet oft noch die einzige Möglichkeit, um den Zugang zur Homematic Zentrale wiederherzustellen.
Bild 2: Der FTP-Zugang zur Homematic Zentrale
Bild 2: Der FTP-Zugang zur Homematic Zentrale
Mit Hilfe der FTP-Zusatz-Software (Bild 2) lassen sich komfortabel Dateien auf die Homematic Zentrale kopieren. Dazu benötigt man einen FTP-Client wie z. B. FileZilla [3]. Während der Entwicklung der neuen Zusatz- Software werden immer wieder Dateien auf die Homematic Zentrale kopiert. Mit der Installation der beiden Zusatz-Softwarepakete Telnet und FTP sind die Vorbereitungen der Homematic Zentrale abgeschlossen, so dass die Entwicklung der Zusatz-Software zur Anwesenheitssimulation beginnen kann.

Das Programm zur Anwesenheitssimulation

Bild 3: Das Programm zur Anwesenheitssimulation
Bild 3: Das Programm zur Anwesenheitssimulation
Die Zusatz-Software zur Anwesenheitssimulation arbeitet so, dass sie zu einem zufälligen Zeitpunkt innerhalb eines vordefinierten Zeitraumes die erste Taste einer virtuellen Fernbedienung simuliert. Das Programm reagiert auf die virtuelle Taste, die hier mit HM-RCV-50 BidCoS-RF für die Funkschnittstelle bezeichnet ist. Um dies später testen zu können, wird im ersten Schritt ein Programm erstellt, mit dem die Zusatz-Software getestet werden kann. Dieses Programm ist in Bild 3 zu sehen, es schaltet einen Funkschalter ein. Fünf Minuten nach dem Auslösen wird der Schalter automatisch wieder ausgeschaltet. Nachdem das Programm erstellt wurde, kann es über das Menü „Status und Bedienung“ innerhalb der Homematic WebUI getestet werden.

Der Kern der Zusatz-Software

Den Kern der Zusatz-Software zur Anwesenheitssimulation bildet das Tcl-Skript presence.tcl. Die Zusatz-Software ist komplett in Tcl [4] und Unix-ShellScript implementiert. Auf der Homematic Zentrale ist der Tcl- Interpreter bereits installiert, so dass über diesen Weg eine sehr einfache Möglichkeit besteht, Erweiterungen für die Homematic Zentrale zu erstellen. Alternativ dazu besteht auch die Möglichkeit, eigene C/C++-Programme für die Homematic Zentrale zu entwickeln. Dazu wird auf der Homematic Homepage die aktuelle Toolchain für die Homematic Zentrale angeboten. Diese beinhaltet alle notwendigen Compiler und Entwicklungs-Tools.

Virtuelle Tasten auslösen

Bild 4: Das Tcl-Skript zum Auslösen der virtuellen Taste
Bild 4: Das Tcl-Skript zum Auslösen der virtuellen Taste

In Bild 4 ist die erste Version des Tcl-Skripts presence.tcl zu sehen. In dieser Form beschränkt sich das Skript auf seine wesentliche Aufgabe: das Schalten der virtuellen Fernbedienung. Dazu lädt das Skript zunächst die Bibliothek tclrpc.so, welche den Zugriff auf die XMLRPC- Schnittstelle der Homematic Zentrale [5] ermöglicht. Anschließend wird per XML-RPC die erste Taste der virtuellen Fernbedienung für die Funkschnittstelle der Homematic Zentrale aktiviert. Eine vollständige Beschreibung der XML-RPC-Schnittstelle kann von der Homepage des Homematic Systems [6] heruntergeladen werden. Um das Skript auszuprobieren, ist dieses per FTP in das Verzeichnis /tmp auf der Homematic Zentrale zu kopieren. Anschließend kann das Skript ausgeführt werden, indem man die folgenden Zeilen in die Debug- Konsole der Homematic Zentrale eingibt:

cd /tmp
tclsh presence.tcl

Daraufhin wird das zuvor erstellte Programm zur Anwesenheitssimulation ausgeführt.

Implementation der Zufallskomponente

Bild 5: Das Tcl-Skript presence.tcl wird um die Zufallskomponenten erweitert
Bild 5: Das Tcl-Skript presence.tcl wird um die Zufallskomponenten erweitert
Als Nächstes wird das Tcl-Skript presence.tcl um die Zufallskomponente erweitert. Die Zusatz-Software soll später genau einmal am Tag innerhalb eines vordefinierten Zeitbereichs auslösen. Dieser Zeitbereich ist durch seinen Startzeitpunkt (Stunde und Minute) sowie die maximale Verzögerung in Minuten gekennzeichnet, nach der ausgelöst werden soll. Dieser Programmteil ist in Bild 5 dargestellt.

Anlegen einer Konfigurationsdatei

So wie es in Bild 5 implementiert ist, löst das Tcl- Skript presence.tcl in einem fest vorgegebenen Zeitbereich aus. Um die Zusatz-Software später jedoch komfortabel einsetzen zu können, sollte dieser Zeitbereich einstellbar sein. Dazu werden diese Werte in eine Konfigurationsdatei ausgelagert. Auf der Homematic Zentrale wird diese sich später unter dem Namen trigger. conf im Verzeichnis /etc/config/addons/presence befinden. Bild 6 zeigt beispielhaft den Inhalt einer solchen Datei, in Bild 7 sind die Anpassungen am Tcl- Skript presence.tcl gezeigt.
Bild 6: Ein Beispiel für die Konfigurationsdatei
Bild 6: Ein Beispiel für die Konfigurationsdatei
Bild 7: Die Funktion zum Laden der Konfigurationsdatei
Bild 7: Die Funktion zum Laden der Konfigurationsdatei

Die Konfigurationsoberfläche

Bild 8: Die Konfigurationsoberfläche der Anwesenheitssimulation
Bild 8: Die Konfigurationsoberfläche der Anwesenheitssimulation

Nachdem mit dem Tcl-Skript presence.tcl der Kern der Anwendung implementiert wurde, fehlt der Zusatz- Software noch eine Konfigurationsoberfläche. Dateien, die im Verzeichnis /etc/config/addons/www auf der Homematic Zentrale abgelegt sind, stellt der Webserver der Homematic Zentrale unter der URL:

http://<ip_der_zentrale>/addons

zur Verfügung. Für die Anwesenheitssimulation wird zunächst per FTP das Verzeichnis /etc/config/addons/ www/presence angelegt, in dem die Konfigurationsoberfläche für die Zusatz-Software entsteht. Über die Konfigurationsoberfläche (Bild 8) lassen sich der Startzeitpunkt und die maximale Verzögerung einstellen. Mit Betätigung des Buttons „Übernehmen“ werden diese Einstellungen in der Konfigurationsdatei gespeichert.

StartScript anlegen

Bild 9: Das StartScript der Anwesenheitssimulation
Bild 9: Das StartScript der Anwesenheitssimulation
Jede Zusatz-Software für die Homematic Zentrale verfügt über ein StartScript. Dabei handelt es sich um ein Unix-ShellScript, welches auf der Zentrale im Verzeichnis /etc/config/rc.d liegt. Das StartScript regelt das automatische Starten der jeweiligen Zusatz-Software beim Hochfahren der Homematic Zentrale. Darüber hinaus enthält es allgemeine Informationen über die Zusatz-Software wie deren Namen und die URL der Konfigurationsseite. Schließlich regelt es das Neustarten, Stoppen und Deinstallieren der Zusatz-Software. In Bild 9 ist das StartScript für die Anwesenheitssimulation zu sehen. Jedes StartScript einer Zusatz-Software muss zumindest auf die Parameter info, start, stop und uninstall reagieren. Der Parameter restart ist fakultativ, ebenso wie die Angabe einer Konfigurationsseite.

Das Zusatz-Softwarepaket entsteht

Bild 10: Das Update_script regelt den Ablauf der Installation
Bild 10: Das Update_script regelt den Ablauf der Installation
Nachdem alle Bestandteile der Zusatz-Software fertig sind und ausgiebig getestet wurden, können diese zu einem Zusatz-Softwarepaket zusammengefügt werden. Technisch handelt es sich bei Zusatz-Softwarepaketen für die Homematic Zentrale um tar.gz-Archive. Unter Linux lassen sich diese mit dem Kommando tar erzeugen. Unter Windows kann das kostenfreie Tool „7-Zip“ [7] verwendet werden. Der Ablauf der Installation wird durch das Unix-ShellScript update_ script geregelt, welches im Stammverzeichnis des Archivs liegen muss. Bild 10 zeigt den Aufbau dieses Skripts für die Anwesenheitssimulation. Damit ist die Erstellung der eigenen Zusatz-Software für eine einfache Anwesenheitssimulation abgeschlossen und in die Homematic Zentrale integriert. Anhand dieses Beispiels ist es nun möglich, weitere eigene Anwendungen zu erstellen.

Weitere Infos:

[1] Add-ons auf Homematic inside:
www.homematic-inside.de/index.php/software/addons.html
[2] puTTY: www.chiark.greenend.org.uk/~sgtatham/putty
[3] FileZilla: www.filezilla.de
[4] Tcl: www.tcl.tk
[5] XML-RPC-Schnittstelle der Homematic Zentrale:
www.homematic.com/index.php?id=156
[6] Homematic Homepage: www.homematic.com
[7] 7-Zip: www.7-zip.org

Fachbeitrag als PDF-Download herunterladen

Inhalt

Sie erhalten den Artikel in 1 Version:

pdf  als PDF (4 Seiten)

Sie erhalten folgende Artikel:
  • Homematic Zentrale individuell – die eigene Zusatz-Software für Homematic®-Anwendungen
Foren

Zu diesem Produkt gibt es 1 Beiträge im Forum

 AntwortenZugriffeletzter Beitrag
Homematic Programmierung
von juerg**** » 18.01.2012, 09:07
16166 von ELV - Technische Kundenbetreuung
26.01.2012, 16:19


Hinterlassen Sie einen Kommentar:
(Anmeldung erforderlich)
  Name
  E-Mail