Skip to content

Latest commit

 

History

History
57 lines (47 loc) · 2.56 KB

README.md

File metadata and controls

57 lines (47 loc) · 2.56 KB

Heimautomatisierung Framework

Das Framework führt Szenenabläufe durch. In einer Szene sind Ereignisse, Bedingungen und Aktionen frei verknüpft angeordnet. Funktionalität wird durch lokale oder entfernte " Service " Prozesse bereichgestellt.

Alle weiteren Informationen, die Roadmap und Downloads befinden sich auf der Webseite dieses Projekts.

Anwendungsgebiete

  • Intelligenter Wecker
  • Energiesparsystem
  • Intelligenter Raum
  • Automatisiertes Heimkino

Entwicklungsdetails

Das Kernprogramm ist in JavaScript erstellt und läuft als node js Programm. Durch die Verwendung von JavaScript können der Editor und das Kernprogramm Quellcode gemeinsam nutzen. Der Datenaustausch erfolgt über JSON. Szenen, Szenenelemente und alle weiteren Daten werden in einer mongoDB Datenbank gehalten. Services sind aktuell überwiegend in C++ realisiert.

Scenes Editor

Um Ereignisse, Bedingungen und Aktionen zu erstellen und grafisch in Szenen zu organisieren exitiert eine Web-Anwendung. Die Anwendung kann direkt durch das Aufrufen der index Datei gestartet oder über einen beliebigen Webserver ausgeliefert werden. Eine Demonstartion befindet sich auf der Webseite des Projekts.

Screenshot: Alt text

Android-App

Fast alle Funktionen der Services können über eine Android App kontrolliert und ausgelöst werden. Eine Funktionen des Editors sind auch in der App möglich, wie das Erstellen und Verknüpfen von Startzeiten mit Szenen. Alt text

Code Stabilität

Über das Travis CI wird die ständige Kompilierbarkeit sichergestellt und automatisierte Tests decken bereits einige Bereiche des Kernprogramms ab. Build Status Auf der Webseite befindet sich eine Roadmap. Gemeldete Fehler und Wünsche werden über das Ticketsystem von github verwaltet.

Installation

Es wird node js, cmake und ein c++ compiler benötigt.

  • BUILD Verzeichnis erstellen, z.B. "./build"
  • cmake im BUILD Verzeichnis ausführen, z.B. "cmake ../"
  • Installieren mit "make install"
  • Ausführen des Servers mit "sceneserversession"

Die Ausführung erfolgt dabei in einem screen Fenster. Der Server kann auch direkt gestartet werden, etwa mit "nodejs /usr/lib/scenecontrol_suite/core/main.js".