Was können wir verbessern?

Dokumentation

Wochenplan

Der Wochenplan ist ein grafisches Werkzeug zur Konfiguration von wöchentlichen Abläufen. In der Verwaltungskonsole erstellt man den Wochenplan, den Gruppentyp, die Aktionen und die Anbindungsart. Innerhalb der Visualisierung "WebFront" und Wochenplankonfiguration können die Aktionen und somit Aktionswechsel definiert werden.

Gruppentypen

Hat 4 Optionen.

Gruppen

Typ Beschreibung
Eine Gruppe:
Gesamte Woche (Mo - So)
Alle Wochentage sind zu einer Gruppe zusammengefasst.
Zwei Gruppen:
Arbeitstage (Mo - Fr) und Wochenende (Sa + So)
Unterteilt die Woche in zwei Gruppen um somit die Tage Mo-Fr und Sa-So unabhängig voneinander konfigurieren zu können.
Sieben Gruppen:
Eine Gruppe pro Tag
Jeder Wochentag kann einzeln konfiguriert werden.
Erweitert Die Wochentage können in beliebig kombiniert werden. Jede Kombination wird in einer Gruppe zusammengefasst und konfiguriert werden.

Aktionen

Je nachdem ob der Wochenplan an ein Skript oder Variable/Instanz angebunden ist, bieten die Aktionen erweiterte Optionen. Es müssen mindestens zwei Aktionen hinzugefügt werden. Jeder Aktion weist man eine Gerätefunktion oder Quellcode zu. Dies ist abhängig von der Anbindungsart des Wochenplans.

Aktion hinzufügen

Um eine Aktion hinzuzufügen muss auf "Hinzufügen" geklickt werden. Es kann der Aktion ein Name, Farbe und Aktionstyp zugewiesen werden.

Eine Aktion hinzufügen

An Instanz angebunden

Bei Aktionen zu Instanzen wird zusätzlich zu Farbe und Name der ausgewählte Befehl mit angezeigt.

Instanzaktionen

An Skript angebunden

Bei Aktionen zu Skripten wird einzig die Farbe und der Name angezeigt.

Skriptaktionen

Beispiel mit Skript

Dies ist ein Wochenplanbeispiel, welcher an ein Skript angebunden ist. Der Zugriff auf die Aktion geschieht via Systemvariable $_IPS['Action'].

//switch über die ID's der Aktionen
switch ($_IPS['ACTION']) {
  case 1: //ID 1
    SetValueBoolean(39540 /*[Testumgebung Variablen\Montag]*/, true);
    SetValueBoolean(13413 /*[Testumgebung Variablen\Dienstag]*/, true);
    SetValueBoolean(45839 /*[Testumgebung Variablen\Mittwoch]*/, true);
    SetValueBoolean(52568 /*[Testumgebung Variablen\Donnerstag]*/, true);
    SetValueBoolean(19243 /*[Testumgebung Variablen\Freitag]*/, true);
    echo "Hallo Welt, Unter der Woche";
    break;
  case 2: //ID 2
    SetValueBoolean(39540 /*[Testumgebung Variablen\Montag]*/, false);
    SetValueBoolean(13413 /*[Testumgebung Variablen\Dienstag]*/, false);
    SetValueBoolean(45839 /*[Testumgebung Variablen\Mittwoch]*/, false);
    SetValueBoolean(52568 /*[Testumgebung Variablen\Donnerstag]*/, false);
    SetValueBoolean(19243 /*[Testumgebung Variablen\Freitag]*/, false);
    echo "Hallo Welt, Yay Wochenende!!";
    break;
}

Konfiguration der Aktionen

Die Zeiträume von Aktionen können innerhalb der Verwaltungskonsole und WebFront konfiguriert werden.
Dabei gilt innerhalb der grafischen Darstellung:
Einfaches Klicken bearbeitet einen vorhanden Zustand.
Klicken & Ziehen erstellt einen neuen Zustand.

Tipp für Experten

Um herauszufinden, welche Aktion momentan aktiv ist, kann dies über ein Skript abgefragt werden.

$e = IPS_GetEvent($id);
$actionID = false;
//Durch alle Gruppen gehen
foreach($e['ScheduleGroups'] as $g) {
    //Überprüfen ob die Gruppe für heute zuständig ist
    if($g['Days'] & date("N") > 0) {
        //Aktuellen Schaltpunkt suchen. Wir nutzen die Eigenschaft, dass die Schaltpunkte immer aufsteigend sortiert sind.
        foreach($g['Points'] as $p) {
            if(date("H") * 3600 + date("i") * 60 + date("s") >= $p['Start']['Hour'] * 3600 + $p['Start']['Minute'] * 60 + $p['Start']['Second']) {
                $actionID = $p['ActionID'];
            } else {
                break; //Sobald wir drüber sind, können wir abbrechen.
            }
        }
        break; //Sobald wir unseren Tag gefunden haben, können wir die Schleife abbrechen. Jeder Tag darf nur in genau einer Gruppe sein.
    }
}
var_dump($actionID);

Nur bei einem Aktionswechsel wird der Inhalt einer Aktion übernommen, die Aktion und somit angebundene Skripte, Quellcode oder Gerätefunktionen werden ausgeführt.

In der Verwaltungskonsole

Aktionen Zeitleistekonsole

Im WebFront

Aktionen Zeitleiste

Konfiguration

Wichtiger Hinweis:
Zuvor gesetzte Aktionen werden durch einen Aktionswechsel nicht aufgehoben.
D.h. Wenn man in einer Aktion das Licht eingeschaltet hat, wird bei einem Wechsel in die nächste Aktion nicht automatisch das Licht ausgeschaltet, außer man beschreibt dies explizit.

English website available
Zum Warenkorb
Haben Sie noch Fragen?