Das Modul Lichtautomat (Light Automat) überwacht und schaltet das Licht automatisch nach einer bestimmten Zeit wieder aus.
- Funktionsumfang
- Voraussetzungen
- Installation
- Einrichtung
- Statusvariablen
- Darstellungen
- Visualisierung
- Befehlsreferenz
- Versionshistorie
- Überwacht ein oder mehrere Lichter (boolesche Schaltvariablen) und schaltet sie nach einer bestimmten Zeit automatisch wieder aus.
- Beim Einschalten einer Schaltvariable wird ein Timer gestartet.
- Nach Ablauf der eingestellten Zeit werden alle noch eingeschalteten Geräte ausgeschaltet.
- Werden alle Geräte vorher manuell ausgeschaltet, wird der Timer deaktiviert.
- Zusätzlich bzw. ausschließlich kann ein Skript ausgeführt werden.
- Manueller Dauerbetrieb über eine schaltbare Statusvariable; ist er aktiv, wird kein Timer gestartet bzw. ein laufender Timer gestoppt.
- Hinterlegung eines Wochenplans zum gezielten Aktivieren bzw. Deaktivieren des Automaten.
- Berücksichtigung eines Bewegungsmelders: Solange Bewegung erkannt wird, wird nicht ausgeschaltet; endet die Bewegung, beginnt die Einschaltdauer neu.
- Steuerung der Einschaltdauer über eine eigene Statusvariable (z. B. über die Visualisierung).
- Optionale Anzeige des Ausschaltzeitpunktes als Statusvariable.
- Start der Einschaltdauer bei Aktivierung des Automaten über den Wochenplan (Übergang inaktiv zu aktiv).
- Diagnose über das Konfigurationsformular: zeigt alle Bedingungen und warum der Automat gerade schaltet bzw. nicht schaltet.
- Symcon ab Version 8.1
- Über den Modul Store das Modul Lichtautomat installieren.
- Alternativ über das Modul Control folgende URL hinzufügen.
https://github.com/Wilkware/LightAutomatodergit://github.com/Wilkware/LightAutomat.git
- Unter 'Instanz hinzufügen' ist das Lichtautomat-Modul unter dem Hersteller '(Geräte)' aufgeführt.
Konfigurationsseite:
Einstellungsbereich:
💡 Geräte ...
| Name | Beschreibung |
|---|---|
| Geräteanzahl | 'Ein Gerät' oder 'Mehrere Geräte' - Umschalten zwischen Variablenauswahl und Variablenliste. |
| Schaltvariable* | Boolesche Zielvariable, die nach Ablauf der Einschaltdauer ausgeschaltet wird. |
| Schaltvariablen* | Boolesche Zielvariablen, welche alle nach Ablauf der Einschaltdauer ausgeschaltet werden. Die Spalte 'Zustand' zeigt, ob die Variable schaltbar ist. |
| Bewegungsvariable | Boolesche Statusvariable eines Bewegungsmelders (true = Bewegung; false = keine Bewegung). |
(*) abhängig von Auswahl der Geräteanzahl
⏱️ Zeitsteuerung ...
| Name | Beschreibung |
|---|---|
| Zeiteinheit | Bestimmt ob die Dauer in Sekunden, Minuten, Stunden oder als Uhrzeit (freie Zeitwahl) ausgewertet werden soll. |
| Einschaltdauer | Zeitdauer, bis das Licht (Aktor) wieder ausgeschaltet werden soll. Bei eigener Variable für die Einschaltdauer (siehe Erweiterte Einstellungen) wird der Wert beim Anlegen sowie bei jeder Änderung in der Konfiguration in die Variable übernommen; ein über die Visualisierung gesetzter Wert bleibt sonst erhalten. |
| Zeitplan | Wochenplan, welcher den Lichtautomaten zeitgesteuert aktiviert bzw. deaktiviert. |
| ZEITPLAN HINZUFÜGEN | Button zum Erzeugen und Hinzufügen eines Wochenplans. |
⚙️ Erweiterte Einstellungen ...
| Name | Beschreibung |
|---|---|
| Gleichzeitiges Ausführen eines Skriptes | Auswahl eines Skriptes, welches zusätzlich ausgeführt werden soll. Im Skript stehen $_IPS['VARIABLE'] (erste eingeschaltete Schaltvariable) und $_IPS['INSTANCE'] (Lichtautomat) zur Verfügung. |
| Nur Skript ausführen - kein Ausschaltvorgang | Schalter, ob nur das Skript ausgeführt werden soll. |
| Schaltvariablen ohne Aktion direkt setzen | Schaltvariablen ohne Aktion werden direkt gesetzt (SetValue); nur für Variablen, die zu keiner Instanz gehören. |
| Starte Einschaltdauer bei eingeschaltetem Licht und Aktivierung über Wochenplan | Schalter, ob nach Aktivierung über den Wochenplan der Automat starten soll. |
| Variable für Einstellung der Einschaltdauer anlegen | Schalter, ob eine Statusvariable für die Einschaltdauer angelegt werden soll. |
| Variable für Aktivierung des Dauerbetriebes anlegen | Schalter, ob eine Statusvariable für den Dauerbetrieb angelegt werden soll. |
| Variable für Anzeige des Ausschaltzeitpunktes anlegen | Schalter, ob eine Statusvariable mit dem Ausschaltzeitpunkt angelegt werden soll. |
Hinweis: Bestehende Instanzen, die bisher eine Schaltvariable ohne Aktion verwendet haben, werden beim Update automatisch auf 'Schaltvariablen ohne Aktion direkt setzen' umgestellt.
Aktionsbereich:
🧪 Test ...
| Aktion | Beschreibung |
|---|---|
| ZUSTAND PRÜFEN | Zeigt alle Bedingungen auf einen Blick (Geräte, Einschaltdauer, Timer, Dauerbetrieb, Wochenplan, Bewegungsmelder, Skript) und als Ergebnis, was der Automat gerade tun würde bzw. warum nicht. Fehler werden rot, Bedingungen, die den Start verhindern (z. B. Dauerbetrieb oder inaktiver Wochenplan), gelb hinterlegt. Es wird dabei nichts geschaltet. |
Die Statusvariablen werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.
Die Variablen werden unter Berücksichtigung der erweiterten Einstellungen angelegt.
| Ident | Name | Typ | Beschreibung |
|---|---|---|---|
| continuous_operation | Dauerbetrieb | Boolean | Ein- und Ausschalten des Dauerbetriebes (z. B. bei Besuch oder Partys) |
| duty_cycle | Einschaltdauer | Integer | Dauer der Wartezeit in Abhängigkeit der eingestellten Zeiteinheit |
| switch_off_time | Ausschaltzeitpunkt | Integer | Zeitpunkt, zu dem das Licht ausgeschaltet wird (0 = kein Timer aktiv) |
Hinweis: Zusätzlich kann über den Button 'Zeitplan hinzufügen' ein Wochenplan (Ident circuit_diagram) angelegt werden, über den die Zeitpunkte für Aktivieren bzw. Deaktivieren des Automaten eingestellt werden.
Die Darstellungen werden direkt an den Statusvariablen hinterlegt, es werden keine Profile angelegt.
| Variable | Darstellung | Werte |
|---|---|---|
| Dauerbetrieb | Schalter | An / Aus |
| Einschaltdauer | Schieberegler | 1 – 59 Sekunden, 1 – 59 Minuten bzw. 1 – 23 Stunden (Schrittweite 1), je nach Zeiteinheit |
| Einschaltdauer | Datum/Uhrzeit | Uhrzeit (Stunden, Minuten, Sekunden), bei Zeiteinheit 'Uhrzeit' |
| Ausschaltzeitpunkt | Datum/Uhrzeit | Uhrzeit (Stunden, Minuten, Sekunden) |
Es ist keine eigene Kachel integriert, die Instanz wird über die Standard-Kachel mit ihren Statusvariablen dargestellt.
Der Dauerbetrieb kann über die Statusvariable "Dauerbetrieb", die Wartezeit über die Statusvariable "Einschaltdauer" gesteuert werden.
Die Statusvariable "Ausschaltzeitpunkt" zeigt an, wann das Licht ausgeschaltet wird.
Ein direkter Aufruf von öffentlichen Funktionen ist nicht notwendig!
v8.0.20261019
- NEU: Kompatibilität auf Symcon 8.1 angehoben, Code und interne Bibliotheken modernisiert
- NEU: Konfigurationsformular überarbeitet und vereinheitlicht (inkl. Versionsanzeige und Statuscodes)
- NEU: Option 'Schaltvariablen ohne Aktion direkt setzen' (nur Variablen, die zu keiner Instanz gehören), bestehende Instanzen werden automatisch migriert
- NEU: Optionale Statusvariable 'Ausschaltzeitpunkt'
- NEU: Bewegungsmelder startet die Einschaltdauer neu, sobald keine Bewegung mehr erkannt wird
- NEU: Nach Beenden des Dauerbetriebes startet die Einschaltdauer, wenn noch Licht eingeschaltet ist
- NEU: Aktionsbereich mit 'Zustand prüfen' zur Diagnose aller Bedingungen
- NEU: Ausgeführtes Skript erhält die auslösende Variable und die Instanz
- FIX: Start der Einschaltdauer bei Aktivierung über den Wochenplan funktionierte nicht
- FIX: Bei mehreren Geräten wurde der Timer schon beim Ausschalten eines einzelnen Gerätes gestoppt
- FIX: Aktivieren des Dauerbetriebes stoppt jetzt einen laufenden Timer
- FIX: Dauerbetrieb wird beim Übernehmen bzw. Neustart nicht mehr zurückgesetzt
- FIX: Schaltvariablen mit Darstellung statt Profil werden akzeptiert
- FIX: Uhrzeit als Einschaltdauer unabhängig von der Zeitzone
- FIX: Fehlende Variablen, Wochenpläne und Skripte abgesichert
- FIX: Übersetzungen und Dokumentation überarbeitet
v7.2.20241220
- NEW: Auswahl ob ein einzelnes oder mehrere Geräte/Lampen geschalten werden sollen
- FIX: Alias-Namen gelöscht(Treppenautomat)
- FIX: Dokumentation vereinheitlicht
v7.1.20240920
- FIX: Modulnamen bzw. Alias-Namen
- FIX: Auswertung der verknüpften Variablen/Instanzen korrigiert
v7.0.20240908
- NEU: Kompatibilität auf IPS 6.4 hoch gesetzt
- FIX: Bibliotheks- bzw. Modulinfos vereinheitlicht
- FIX: Namensnennung und Repo vereinheitlicht
- FIX: Update Style-Checks
- FIX: Übersetzungen überarbeitet und verbessert
- FIX: Dokumentation vereinheitlicht
v6.0.20220401
- NEU: Kompatibilität auf IPS 6.0 hoch gesetzt
- NEU: Konfigurationsdialog überarbeitet (v6 Möglichkeiten genutzt)
- NEU: Konfiguration der Zeitsteuerung überarbeitet
- NEU: Einschaltdauer kann über eine frei wählbare Uhrzeit eingestellt werden (Kombination von Stunden, Minuten und Sekunden)
- NEU: Eine reine boolesche Schaltvariable wird automatisch erkannt
- NEU: Referenzieren der Gerätevariablen hinzugefügt (sicheres Löschen)
- FIX: Public Funktions
TLA_Trigger,TLA_ScheduleundTLA_CreateSchedulewegen neuer Prozessverarbeitung entfernt - FIX: Interne Bibliotheken erweitert und vereinheitlicht
- FIX: Markdown der Dokumentation überarbeitet
v5.0.20210502
- NEU: Umstellung auf Statusvariablen für Einschaltdauer und Dauerbetrieb
- NEU: Wartezeit jetzt frei konfigurierbar (Sekunden, Minuten oder Stunden)
- NEU: Check ob Licht nach Aktivierung des Automaten über Wochenplan ausgeschalten werden soll
- FIX: Funktion "TLA_Duration" entfernt (wegen Nutzung von IPS_SetProperty/ IPS_ApplyChanges)
- FIX: Konfigurationsformular vereinheitlicht bzw. vereinfacht
- FIX: Interne Bibliotheken überarbeitet
v4.0.20200421
- NEU: Zeitplan hinzugefügt
- NEU: Unterstützung für die Erstellung eines Wochenplans
- FIX: Interne Bibliotheken überarbeitet
- FIX: Dokumentation überarbeitet
v3.3.20190818
- NEU: Umstellung für Module Store
- FIX: Dokumentation überarbeitet
v3.2.20170322
- FIX: Anpassungen für IPS Version 5
v3.1.20170120
- FIX: Korrekte Auswertung der Schaltvariable.
v3.0.20170109
- NEU: Dauerbetrieb mittels hinterlegter booleschen Variable, wenn true wird kein Timer gestartet.
- NEU: Modul mit Bewegungsmelder, wenn dieser aktiv ist wird der Timer immer wieder erneuert.
- NEU: Über die Funktion TLA_Duration(id, minuten) kann die Wartezeit via Skript (WebFront) gesetzt werden.
v2.0.20170101
- FIX: Umstellung auf Nachrichten (RegisterMessage/MessageSink)
- NEU: Erweiterung zum Ausführen eines Skriptes
v1.0.20161220
- NEU: Initialversion
Seit nunmehr über 10 Jahren fasziniert mich das Thema Haussteuerung. In den letzten Jahren betätige ich mich auch intensiv in der Symcon Community und steuere dort verschiedenste Skript und Module bei. Ihr findet mich dort unter dem Namen @pitti ;-)
Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.
Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International