Homematic-Programm: Zeitgesteuerte Beleuchtung mit manuellem Override
In diesem Beitrag erkläre ich, wie wir mit Hilfe von Programmen und Variablen eine zeitgesteuerte, aber manuell übersteuerbare Lichtschaltung in der Homematic-Zentrale realisieren können. Der modulare Aufbau dieser Logik, bestehend aus verschiedenen Programmen und Variablen, erspart uns doppelte Datenpflege beim Hinzufügen neuer Geräte und ermöglicht uns die leichte Erweiterung der Steuerungslogik.
Für die Steuerung der Garten-Ambientebeleuchtung benötige ich eine Programmlogik, welche die Beleuchtung zu bestimmten Zeitpunkten an- und wieder ausschaltet, sich aber dennoch durch eine manuelle Eingabe überschreiben lässt.
Logik-Variable zur Statushinterlegung der Beleuchtung
Zunächst erstellen wir in der Weboberfläche der Homematic CCU (Affiliate-Link) eine Variable, welche als Boolean-Logikwert (wahr/falsch) bestimmt, ob die Beleuchtung aktiviert ist, oder inaktiv ist. Diese Variable manipulieren wir später mit unseren Programmen. Ich nenne diese Variable „VAR Gartenambiente“.
Virtueller Taster für manuelle Übersteuerung der Automatik
Später wollen wir die Logik durch eine manuelle Eingabe übersteuern können. Dazu lege ich einen virtuellen Taster unter der Zentrale an, welcher später bei Betätigung die Zeitsteuerung übersteuert. Den Schalter nenne ich deshalb „Manuell Toggle Gartenambiente“.
Statt eines virtuellen Tasters lassen sich an dieser Stelle natürlich auch ein Wandtaster (Affiliate-Link), eine Funkfernbedienung (Affiliate-Link) oder einen Handsender (Affiliate-Link) nutzen.
Automatik-Programm zur zeitgesteuerten Schaltung
Nun geht es an das erste Programm, nämlich an die automatische, zeitgesteuerte Beleuchtungssteuerung.
Damit wir später die modularen Programme auseinanderhalten können, benutze ich eine bestimmte Namenskonvention, nach welcher ich dieses Programm „AUTO Ambientebeleuchtung Garten“ nenne.
Dieses Programm prüft zunächst, welcher Wochentag gerade ist und schaltet jeweils eine Stunde nach Inkrafttreten der Astro-Nacht-Funktion das Licht an.
Weil die Astro-Funktion oft schon greift, wenn es draussen noch zu hell für die Beleuchtung ist, nutze ich daher eine Verzögerung bei der Schaltung.
Von Sonntag bis Donnerstag bleibt das Licht dann 2 Stunden lang an, Freitags und Samstags soll das Licht nach dem Einschalten 4 Stunden lang eingeschaltet bleiben, dafür der zweite Bedingungsblock.
- Die leistungsstarke Zentrale für Smart-Home-Profis zur lokalen und komfortablen Steuerung des intelligenten Zuhauses.
- Bietet zahlreiche und individuelle Konfigurations- sowie Steuermöglichkeiten über die bewährte WebUI per Webbrowser
Manuelle Übersteurung der Zeitautomatik
Nun wäre es suboptimal, wenn während einer Gartenparty an einem Samstagabend das Licht ausgeht, nur weil die hinterlegten drei Stunden um sind, die Party aber noch in vollem Gange ist. Für diesen Fall erstellen wir ein Programm, welches bei der Betätigung eines Schalters (in diesem Falle bei Betätigung des virtuellen Schalters „Manuell Toggle Gartenambiente“) die Variable „VAR Gartenambiente“ für die Gartenbeleuchtung außerordentlich aktiviert.
Damit auch bei diesem Programm wieder leicht erkennbar ist, dass es sich hier um das Modul zur manuellen Steuerung handelt, benutze ich gemäß meiner Namenskonvention den Namen „MAN Ambientebeleuchtung Garten“.
Der virtuelle Taster „“Manuell Toggle Gartenambiente“ kann entweder kurz oder lang betätigt werden und schaltet jeweils den Logikwert der Variable „VAR Gartenambiente“ jeweils auf das Gegenteil des gerade hinterlegten Wertes. So lässt sich dieser Taster auch benutzen um eine gerade aktive Gartenbeleuchtung innerhalb der Automatik auszuschalten.
Schaltung der Aktoren in Abhängigkeit zur Variablen
Bisher schaltet nun noch nichts, nur die Variable wird durch Logik in den Programmen „AUTO Ambientebeleuchtung Garten“ und „MAN Ambientebeleuchtung Garten“ manipuliert.
Wir stellen nun eine Verbindung zwischen dem Wert der Variablen und den zu schaltenden Aktoren mit dem Programm „CTRL Ambientebeleuchtung Garten“ her. Auch hier hilft die Namenskonvention die verschiedenen Programme unterscheiden zu können.
Wenn die Variable „VAR Gartenambiente“ den Wert „active“ hat, wird ein Aktor – hier die Brunnenbeleuchtung (Affiliate-Link) – angeschaltet, sonst wird der Aktor ausgeschaltet.
An dieser Stelle sollte nun auch klar werden, weshalb ich die Schaltung der Aktoren an eine Systemvariable knüpfe.
Wir sparen uns dadurch die doppelte Hinterlegung der Aktoren sowohl im manuellen als auch im automatischen Steuerungsprogramm. Wir reduzieren somit Redundanzen in der Logik und somit hohe Aufwände bei der Erweiterung der Steuerung um weitere Aktoren oder Einstiegspunkte.
R.Thümer
Hallo, wo finde ich denn im Zeitmodul der WebUI die Wochentage? bei mir steht da nichts.
MfG Thümer