Partielle Hausautomatisierung mit FHEM

Projektteam:

Name: Studiengang:
Jana Deufel Bachelor Informatik
Roman Vysotsky Mobile Computing
Dominik Janning Bachelor Informatik

Download:

Projektidee:

Durch die Familie sind wir aufmerksam geworden auf das Open Source Projekt FHEM, mit dem einfache Hausautomatisierungen installiert werden können. Doch die Ansteuerung der Aktoren beschränkte sich auf die Funktionalität des Webinterfaces das gerade auf mobilen Endgeräten nicht als Lösung infrage kommt. Deshalb war es unser Ziel eine Mobile Android Applikation zu entwickeln die gewisse Funktionalitäten des Webinterfaces ersetzt und die Möglichkeit bietet Funktionen hinzuzufügen.

Realisierung:

Dadurch das wir das Open Source Projekt FHEM als Basis verwendet haben waren zuerst beschränkt auf die Schnittstellen die dieses Projekt zur Verfügung stellt. Durch studieren der verfügbaren Dokumentation haben wir verschiedene Funktionalitäten wie den Telnet Befehl "Save" verwendet um Zustände der Aktoren im Dateisystem abzubilden. Zusätzlich haben wir Teile des Dateisystem des Raspberrys ( auf dem das FHEM System läuft) über eine Netzwerkschnittstelle zugänglich gemacht. Dieses beschränkt sich auf 2 Dateien die einerseits die angemeldeten Aktoren beinhaltet (Name, Adresse, Raumzuteilung, ...) und dessen Zustände (erstellt durch "Save" Befehl).
Die Netzwerkfunktionalität wird sichergestellt durch ein in Java geschriebenes Programm das dauerhaft auf dem Raspberry läuft. Die Mobile Applikation arbeitet nun mit diesem Programm zusammen um Zustände global zu ändern, sodass das System mehrere Clients erlaubt. Die Benutzeroberfläche der Mobilen Applikation teilt die registrierten Aktoren in ihre registrierten Räume ein, um eine gewisse Strukturierung der Benutzererfahrung zu ermöglichen.
Beim erstmaligen öffnen der Applikation müssen die Verbindungsinformation vom Server eingegeben werden (IP und Port des Raspberry, Port ist in unserer Implementierung immer 9090). Danach werden die erforderlichen Dateien angefordert um eine Raumübersicht zu erstellen. Durch öffnen einer dieser Untermenüs werden die Zustände abgefragt und als betätigte oder nicht betätigte Schalter dargestellt. Durch betätigen einer dieser Schalter wird ein Set Befehl formuliert der an die Schnittstelle des Raspberry gesendet wird. Dieser wird von FHEM ausgeführt und es wird ein Eintrag in der Save Datei angelegt, sodass Zustände weiterhin global eindeutig bleiben.
Durch betätigen der Update Funktion in der Benutzeroberfläche der Mobilen Applikation können diese Zustände zu jeder Zeit abgefragt werden und die Raumübersicht und die einzelnen Zustände werden aktualisiert.