Skip to content

About

Symcon Modul

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

38 Commits

Folders and files

Repository files navigation

💡 Lichtautomat (Light Automat)

Home Version Product Version License Actions

Das Modul Lichtautomat (Light Automat) überwacht und schaltet das Licht automatisch nach einer bestimmten Zeit wieder aus.

Inhaltsverzeichnis

  1. Funktionsumfang
  2. Voraussetzungen
  3. Installation
  4. Einrichtung
  5. Statusvariablen
  6. Darstellungen
  7. Visualisierung
  8. Befehlsreferenz
  9. Versionshistorie

1. Funktionsumfang

  • Ü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.

2. Voraussetzungen

  • Symcon ab Version 8.1

3. Installation

  • Über den Modul Store das Modul Lichtautomat installieren.
  • Alternativ über das Modul Control folgende URL hinzufügen.
    https://github.com/Wilkware/LightAutomat oder git://github.com/Wilkware/LightAutomat.git

4. Einrichtung

  • 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.

5. Statusvariablen

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.

6. Darstellungen

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)

7. Visualisierung

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.

8. Befehlsreferenz

Ein direkter Aufruf von öffentlichen Funktionen ist nicht notwendig!

9. Versionshistorie

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_Schedule und TLA_CreateSchedule wegen 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

Entwickler

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 ;-)

GitHub

Spenden

Die Software ist für die nicht kommerzielle Nutzung kostenlos, über eine Spende bei Gefallen des Moduls würde ich mich freuen.

PayPal

Lizenz

Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 4.0 International

Licence

About

Symcon Modul

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages