Obwohl es natürlich praktisch ist, Licht zusätzlich per Weboberfläche, App etc. schalten zu können (siehe Teil 2), hat das noch nicht viel mit „smart“ zu tun. Interessant wird es, wenn sich das SmartHome intelligent an die aktuelle Situation anpasst – z.B. wenn sich das Licht automatisch einschaltet, sobald es draußen dunkel wird. Darum soll es in diesem Artikel gehen.
First things first: Wann wird es denn eigentlich dunkel?
Der erste Impuls, das Licht zu einer bestimmten Zeit zu schalten, stellt sich bei näherer Betrachtung als ungünstig heraus – schließlich ändert sich der Zeitpunkt des Sonnenuntergangs im Jahresverlauf deutlich. Man kann zu diesem Zwecke natürlich einen Dämmerungssensor einsetzen – aber es geht noch einfacher: Mit dem AstroBinding für OpenHab. Dieses Binding stellt basierend auf dem jeweiligen Standort und Datum vielfältige Informationen zu Sonnenaufgang, Sonnenuntergang, Mondzyklus usw. zur Verfügung. Mit diesen Informationen kann man seine SmartHome Funktionen deutlich verbessern.
Installation des Bindings
Um das Binding zu installieren, wählt man es auf der Weboberfläche von OpenHab einfach unter dem Menüpunkt „AddOns“ aus:
Nach der Installation muss ein „Thing“ angelegt werden. Hierzu wechselt man auf „Configuration“ und dann auf „Things“ und klickt auf das blaue Plus-Icon. Dann weiter auf „Astro-Binding“, „Add manually“ und „Astro Sun Data“
Auf dem folgenden Screen müssen dann die eigenen Geo-Koordinaten eingetragen werden, damit das Binding für den aktuellen Standort die richtigen Zeiten ermitteln kann:
Diese Koordinaten kann man sich z.B. bei Google Maps heraussuchen. Das muss jetzt nicht zwingend die eigene Straße sein – innerhalb der gleichen Stadt wird der Zeitpunkt des Sonnenuntergangs nicht wesentlich abweichen. Also einfach die eigene Stadt suchen und dort irgendwo hin klicken. Google zeigt dann ein kleines Fenster mit Informationen zum ausgewählten Ziel an – und hier stehen auch die Koordinaten:
Nach der Einrichtung findet man das Astro-Sun-Data-Thing unter „Configuration“->“Things“. Hier gibt es unter „Sunset“ ein Range-Event, welches beim Sonnenuntergang getriggert wird.
Hier kann man nun noch auf den Stift klicken, um einen Offset einzustellen – z.B. 30 Minuten vor Sonnenuntergang:
Mit Szenen arbeiten
Bevor es weiter geht, sollte man sich ein paar Gedanken zur Organisation seines SmartHomes machen. Natürlich lassen sich alle Geräte einzeln schalten – auch über das Sonnenuntergangs-Event (dazu gleich mehr). Vermutlich macht es aber Sinn, bestimmte Geräte in Gruppen oder Szenen zusammenzufassen. So könnte z.B. der Sonnenuntergang die Szene „Abend“ aktivieren. In dieser Szene werden alle Geräte vorbelegt, die üblicherweise Abends verwendet werden: Stimmungslichter, evtl. Musik usw. Die Szene „Abend“ bleibt natürlich nicht zwingend bis zum nächsten Morgen aktiv, sondern könnte z.B. durch die Szene „Schlafenszeit“ abgelöst werden, in der dann via Timer nach einer bestimmten Zeit alle Geräte abgeschaltet werden usw. Hier sind der Kreativität keine Grenzen gesetzt.
Um besagte Szenen umzusetzen, sind ein paar Anpassungen an den Konfigurationsdateien von OpenHab erforderlich. Die Konfiguration von OpenHab befindet sich in einem Ordner auf dem Raspberry Pi, auf den über den Windows-Explorer zugegriffen werden kann (über eine Samba-Freigabe). Hierzu öffnet man den Windows-Explorer und trägt in die Adressleiste folgende Adresse ein:
\\openhabianpi
Hier findet sich im Ordner openHAB-conf ein Unterordner items, in dem wir eine Datei „default.items“ anlegen. Der Name ist eigentlich egal – wichtig ist die Dateiendung „.items“ (wenn dort als Typ: „Textdokument“ steht, sind die Dateiendungen im Explorer ausgeblendet – Dann auf „Organisieren“->“Ordner-und Suchoptionen“->“Ansicht“ klicken und den Haken bei „Erweiterungen bei bekannten Dateitypen ausblenden“ deaktivieren).
In diese Datei wird nun Folgendes eingetragen:
Number SceneSelect "Szenenauswahl"
OpenHab aktualisiert sich automatisch, wenn die Konfigurationsdateien geändert werden. Das neue Item „Szenenauswahl“ sollte also nach dem Speichern direkt in der Weboberfläche angezeigt werden:
Bei diesem neuen Item handelt es sich um einen Merker, über den die aktuell ausgewählte Szene in Form einer Zahl gespeichert bzw. geändert werden kann.
Programm erstellen
Statt dem Ordner „items“ öffnet man nun den Ordner „rules“ im OpenHab Konfigurationsverzeichnis und legt dort eine Datei „default.rules“ an. Die Datei bekommt den folgenden Inhalt:
rule "Szenenauswahl" when Item SceneSelect received command then if (receivedCommand==3) { //Abend WzDeckenleuchte.sendCommand(ON); } else { WzDeckenleuchte.sendCommand(OFF); } end
Wenn sich also das Item „SceneSelect“ ändert, wird geprüft welche Zahl im Item steht. Bei einer 3 wird das Item mit dem Namen „WzDeckenleuchte“ eingeschaltet, sonst wird es ausgeschaltet.
Um zu testen, ob das auch funktioniert, machen wir noch einen Zwischenschritt – nämlich die Erstellung einer Sitemap. Sitemaps dienen als konfigurierbare Benutzeroberflächen, z.B. für das OpenHab Basic UI (http://openhabianpi:8080/basicui/app) – oder auch für die Smartphone App.
Hiezu wird im Ordner „sitemaps“ die Datei default.sitemap erstellt:
sitemap default label="My smart Home" { Selection item=SceneSelect label="Szenenauswahl" mappings=[0="Keine", 1="Aufstehen", 2="Tag", 3="Abend", 4="Schlafenszeit"] }
Dadurch wird in der Benutzeroberfläche eine Auswahlbox angezeigt, die basierend auf den Einträgen unter „mappings“ die richtige Zahl in das Item „SceneSelect“ schreibt.
Wenn das soweit funktioniert, und sich das Licht bei Auswahl von „Abend“ ein- sonst ausschaltet, braucht nun eigentlich nur noch das AstroBinding mit dem SceneSelect Item verbunden werden. Also die folgende Ergänzung in die default.rules Datei hinzufügen (natürlich mit eurer eigenen Channel-Bezeichnung – zu finden in euren Thing-Eigenschaften im Paper UI)
rule "Sonnenuntergang" when Channel 'astro:sun:86d9a348:set#event' triggered START then SceneSelect.sendCommand(3) end
Fertig! Ab jetzt wird im SmartHome eine halbe Stunde vor Sonnenuntergang automatisch die Szene „Abend“ aktiviert.
Verwandte Beiträge
- OpenHab und Raspberry Pi - SmartHome-Server Tutorial Teil 1
Im vorherigen Artikel habe ich OpenHab vorgestellt und erklärt, warum ich die Software als zentralen…
- Es werde Licht: mit HomeMatic und OpenHab - SmartHome Server Tutorial – Teil 2
Bei meinen ersten SmartHome Gehversuchen vor einigen Jahren, habe ich mit der FS20 Reihen begonnen.…
- Ikea TRÅDFRI & OpenHab - SmartHome Server Tutorial – Teil 4
In Teil 2 habe ich bereits über die Lichtsteuerung mit HomeMatic berichtet. Das System ist…
- Heizungssteuerung mit HomeMatic - SmartHome Server Tutorial – Teil 5
In diesem Artikel geht es - passend zur Jahreszeit - um das Thema "intelligent heizen"…