Marker

Ein Smarthome System ist noch lange nicht smart, weil Aktionen statisch z.B. durch die Betätigung von Wandschaltern oder zeitlich geplant ausgelöst werden können. Dies sind natürlich Dinge, die jeder von einer Heimautomatisierungslösung erwartet. Jedoch soll letztendlich das Leben in den eigenen vier Wänden vereinfacht werden, ohne das man sich Gedanken über etwaige Hintergrundprozesse machen muss.

Soll zum Beispiel die Alarmanlage automatisch deaktiviert werden, wenn man zu Hause ist oder soll eine bestimmte Lichtstimmung aktiviert werden, wenn man nach 18 Uhr nach Hause kommt und noch kein weiteres Familienmitglied zu Hause ist?

Sind solche Anforderungen vorhanden, muss das gewählte Smarthome System Abhängigkeiten oder auch Wenn-Dann Prüfungen beherrschen. Der von mir verwendete Lightmanager Air nutzt für solche Bedingungsprüfungen sog. Marker. Marker sind im Grunde frei definierbare Zustände, deren Status für die Ausführung von Szenen oder anderen Prozessen herangezogen werden kann. Die Marker können über das AirStudio erstellt werden.

Um das Ganze etwas zu verdeutlichen und um die Funktionsweise etwas zu verdeutlichen, hier ein Beispiel, das den kompletten Weg von der Marker-Einrichtung bis hin zur Verwendung aufzeigt:

Die Aufgabenstellung lautet:

Es sollen um 20 Uhr alle Rolläden automatisch heruntergefahren werden. Damit man sich nicht aussperrt, soll der Rolladen der Terrassentüre nicht heruntergefahren werden, sofern diese offen ist. (Ich setze hierbei voraus, dass die entsprechenden Rolladen-Aktoren und der Türsensor der Terrassentüre bereits eingebunden sind).

1. Schritt: Marker anlegen

Um einen Marker anzulegen, öffnet man das AirStudio und lädt das entsprechende Config File. Im rechten unteren Bereich des AirStudios befindet sich das Aktionsfeld (Aktionen). Unter der Drop-Down Liste der Aktoren findet man den Reiter „Marker“ rechts neben dem Reiter „Pause“. Um nun einen Marker anzulegen, wählt man aus der Marker Drop-Down Liste die gewünschte Marker Nummer. (Ich würde immer bei 1 anfangen. Möchtet ihr in der Standard Weboberfläche jedoch eine bestimmte Darstellungs-Reihenfolge der Marker, so könnt ihr diese über die Nummerierung der Marker (aufsteigend) im AirStudio steuern). Ich entscheide mich in diesem Beispiel für Marker Nummer 1 und gebe für diesen den Namen „Terrassentüre“ ein. Da ich den Status der Terrassentüre auch gerne in der Standard Weboberfläche des Lightmanagers sehen möchte, lasse ich die Checkbox „Im Web-Interface verbergen“ leer. Diese Verbergen-Option macht z.B. bei Service Markern Sinn, dessen direkter Status nicht in der Weboberfläche interessant ist. Zudem würde ich aus Gründen der Übersichtlichkeit alle nicht genutzten Marker verbergen. Denn auch nicht genutzte Marker erscheinen standardmäßig in der Weboberfläche.

So sollte es nun aussehen:

2. Schritt: Marker Zustände setzen

Marker Zustände können zum Einen aktiv gesetzt werden. Zum Anderen können die aktuellen Marker Zustände auch als Bedingung für die weitere Ausführung herangezogen werden. Zunächst möchte ich im Kontext dieses Beispiels den Wert des Terrassentüren Markers je nach Zustand des entsprechenden Funkbus Senders setzen. Der Funkbus Sender des Türsensors besitzt zwei Funkcodes (geschlossen/offen). Ich beginne mit dem geschlossenen und markiere diesen im AirStudio. Im nächsten Schritt wähle ich auf der rechten Seite den Terrassentür Marker und zusätzlich den Befehl „Ausschalten“ aus. Klicke ich nun auf „Hinzufügen“, wird der Zustand Marker (Terrassentüre) „ausgeschaltet“ dem geschlossenen Türsensor zugewiesen. Das Gleiche wiederhole ich für den geöffneten Türsensor und weise ihm den Marker Zustand „Einschalten“ zu.

Sieht es so bei euch aus? Gut, denn dann wird nun der Zustand des Markers „Terrassentüre“ auf „eingeschaltet“ gesetzt, wenn ihr eure Terrassentüre öffnet. Wird sie geschlossen, wird der Marker wieder auf ausgeschaltet gesetzt. Nachdem ich den Marker angelegt habe, muss dieser mit der gewünschten Szene, einem Funkbus Sender oder auch einer zeitlich gesteuerten Aktion verknüpft werden. Da ich den Rolladen der Terrassentüre abhängig vom Zustand (geschlossen/offen) des Markers der Terrassentüre steuern will, lege ich eine separate, zeitliche Steuerung für diesen einen Rolladen an. So sollte es dann aussehen:

 

 

 

3. Schritt: Marker Zustand auswerten

Jetzt würden alle Rolläden um 20 Uhr herunterfahren. Damit nun der Marker (Zustand) der Terrassentüre berücksichtigt wird, muss ich die zeitliche gesteuerte Aktion des entsprechenden Terrassentüren Rolladen mit dem Marker verknüpfen. Dazu klicke ich mit der rechten Maustaste auf die Aktion und wähle den Punkt „Marker Auswahl“ aus (Alternativ kann man die Marker Auswahl über STRG+M erreichen). Es öffnet sich nun ein Fenster mit allen Markern. (Es werden auch die Marker aufgeführt, die noch nicht definiert werden. Dies soll uns aber nicht weiter stören). Ich wähle nun den Marker Terrassentüre und ändere den Wert von „egal“ auf „AUS“. Das bedeutet nun, dass das zeitliche gesteuerte Herunterfahren der Terrassentüren voraussetzt, dass der Marker der Terrassentüre (offen/geschlossen) den Status „aus“ besitzt (was wiederum bedeutet, dass die Türe zu ist).

Und das wars auch schon. Ihr habt nun eine Bedingung geschaffen. Du diese Marker lassen sich unglaublich viele Szenarien abbilden. Hier nochmal ein paar Quick-Infos zu den Markern:

  • Marker selbst können keine Aktionen auslösen. Sie sind Zustände, die von Aktionen genutzt werden können
  • Marker Zustände bleiben nach einem Reboot des Lightmanagers / Stromausfall oder nach dem Übertragen eine neuen Konfiguration erhalten
  • Werden für eine Aktion mehrere Marker als Bedingung herangezogen, so müssen diese alle gültig sein, denn sie sind UND-verknüpft
  • Marker Zustände lassen sich über die params.json auslesen
  • Marker Zustände lassen sich direkt manuell über die Standard Weboberfläche des Lightmanagers ändern (Falls der aktuelle Zustand des Marker aus irgendwelchen Gründen nicht mehr stimmt)