Space Automation: Unterschied zwischen den Versionen

K (Schinken verschob die Seite SpaceAutomation nach Space Automation: spaces ftw.)
Zeile 11: Zeile 11:
 
[[Category:Software]]
 
[[Category:Software]]
  
== Das Ziel ==
+
== Zielsetzung ==
  
Nachdem immer mehr Geräte in unserem Space vorhanden sind und unsere [[Raum-FAQ]] immer voller wurde, mussten wir eine Lösung finden um den Hackerspace möglichst einfach "herunterzufahren". Bisher mussten an diversen Stellen Stecker gesteckt oder gezogen werden, Sicherungen an/ausgeschalten, Heizungsthermostate gedreht und Türen sowie die Jalousie kontrolliert werden.  
+
Nachdem immer mehr Geräte in unserem Space vorhanden sind und unsere [[Raum-FAQ]] immer voller wurde, mussten wir eine Lösung finden um den Hackerspace möglichst einfach "herunterzufahren". Bisher mussten an vielen Stellen Stecker gesteckt oder gezogen werden, Sicherungen an/ausgeschalten, Heizungsthermostate gedreht und Türen sowie die Jalousie kontrolliert werden.  
  
Für neue Mitglieder war dieses prozedere auch immer unüberschaubarer und diverse Fehler konnten passieren. Bisher waren die schlimmsten Fehler nur nicht-ausgeschaltene Stereoanlagen oder Heizungsthermostate.
+
Gerade für neue Mitglieder gestaltet sich diese Prozedur etwas unüberschaubar. In den meisten Fällen wurde aber zum Glück lediglich die Stereoanlage oder die Heizung vergessen auszuschalten.
  
Unser obersten Ziele ist deshalb: Möglichst alles mit einem Taster abschalten zu können.
+
Das gesetzte Ziel: Möglichst alles mit einem einzigen Taster abschalten!
  
 
== Setup ==
 
== Setup ==

Version vom 10. März 2014, 01:45 Uhr

Crystal Clear action run.png
Space Automation

Status: unbekannt

Cat spaceautomation.png
Beschreibung Complete automation.
Autor: schinken
PayPal Spenden für Space Automation

Zielsetzung

Nachdem immer mehr Geräte in unserem Space vorhanden sind und unsere Raum-FAQ immer voller wurde, mussten wir eine Lösung finden um den Hackerspace möglichst einfach "herunterzufahren". Bisher mussten an vielen Stellen Stecker gesteckt oder gezogen werden, Sicherungen an/ausgeschalten, Heizungsthermostate gedreht und Türen sowie die Jalousie kontrolliert werden.

Gerade für neue Mitglieder gestaltet sich diese Prozedur etwas unüberschaubar. In den meisten Fällen wurde aber zum Glück lediglich die Stereoanlage oder die Heizung vergessen auszuschalten.

Das gesetzte Ziel: Möglichst alles mit einem einzigen Taster abschalten!

Setup

Für unsere Installation haben wir das Java-Programm OpenHAB gewählt. Mit diesem Programm ist es möglich, verschiedene Geräte per "Binding" anzubinden. Bindings sind getrennte Komponenten, gepackt in .jar-Dateien, welche einfach in den openhab/addons Ordner kopiert werden müssten.

Ein rießiger Vorteil von OpenHAB ist die Möglichkeit, Dateien und Addons "On-The-Fly" nachladen zu können. Das Programm registriert selbstständig wenn sich Dateien geändert haben, oder Bindings hinzugefügt oder entfernt wurden. Außerdem bietet OpenHAB den sogenannten "OpenHAB"-Designer, mit dem Sitemaps, Items sowie eine eigene Scriptsprache, inklusive Syntaxhighlighting, editiert werden können.

Außerdem existiert für OpenHAB eine Android und iPhone-App, sowie eine Web-Oberfläche, welche automatisch aus der Serverkonfiguration generiert wird. Geräte mit HABDroid bzw. der iPhone-App erkennen automatisch im WLAN die OpenHAB-Installation und zeigen unsere aktuelle Konfiguration an. Dadurch müssten keine selbstprogrammierten Apps aktualisiert werden.

Hardware

Um den Space für jedes Mitglied steuerbar zu machen hat unser Mitglied xoquox zwei Tablets in unseren Räumen installiert. Eines befindet sich in unserer Lounge (Host: brain), sowie eines in unserem Hackcenter (Host: pinky).

Bindings

Aktuell Verwenden wir folgende Bindings:

MPD

Das MPD-Binding verwenden wir um unsere mopidy-spotify-Installation steuern zu können. Hier gibt es in unserem Setup die Möglichkeit die Musik zu pausieren, sowie die Lautstärke zu regulieren

HTTP

Viele unsere Komponenten im Space sind per REST-API steuerbar. Dazu gehört das Ledboard, Webrelais sowie unser neustes Projekt-Mitglied Funkstrom. Durch einfaches senden der HTTP-Methoden POST oder DELETE können unsere Relais oder die Funksteckdosen geschalten werden.

Für den Status bieten unsere APIs noch den responsetype "OpenHAB" welcher ein ON oder OFF representiert, da wir noch nicht erfolgreich eine JSON-Response in OpenHAB auswerten konnten.

SNMP

Per SNMP holen wir verschiedene Werte ab, um sie in der App darzustellen. Unter anderem sind das Temperaturen der verschiedenen Räume, unseren Kontostand oder der Load unseres Servers.

MAX!Cube

Max!Cube ist ein Heizungssteuerungs-System von [elv.de ELV]. Das Binding hat noch einige Probleme mit der Steuerung und Rückmeldung der Temperatur, welche aber dank des Maintainers aheil bald der Vergangenheit angehören dürften.

Angebundene Steuerungen

Elektrische Geräte

Über die Funksteckdosen oder Webrelais schalten wir diverse Lichter oder Geräte.

Hackcenter

  • Licht oben
  • Licht Regal
  • Licht Arbeitstisch
  • Neon-Lampe
  • Notausgangsbeleuchtung Weiss + Rot
  • Alarm-Licht

Temperatursensoren

Unsere Temperatursensoren sind per 1-Wire an bestehende RaspberryPIs angeschlossen worden. Durch das laden des Moduls w1-gpio und w1-therm ist die Temperatur per /sys/-Dateisystem erreichbar. Um das Abfragen des Temperatursensors von einer SNMP-Anfrage zu entkoppeln, läuft ein CronJob alle 10 Minuten um die Temperatur in eine Datei im /tmp-Ordner zu schreiben.

Der SNMP-Endpunkt liesst dann nur noch den Inhalt dieser Datei.

Thermostate

Aktuell steuern wir unsere Heizkörper per Funk-Thermostate des Herstellers [elv.de ELV]. Unser Aufbau besteht aus 7 Thermostaten der Serie MAX! sowie einen MAX!Cube, welcher das Gateway zwischen Funk und LAN bildet.

Unser Setup hier ist zur Zeit aufgrund des noch instabilen Bindings "wackelig". Es bestehen Überlegungen auf die besser unterstützten Produkte der Serie "HomeMatic" zu wechseln. Hier existiert eine rießige Community und es sind mehr Geräte als "nur" Heizungsthermostate verfügbar.