[Modul] BB_Lichtsteuerung

Hallo Freunde
Wie andernorts diskutiert habe ich mir das Symcon Treppenhauslichtmodul etwas zur Brust genommen und aufgefrischt, bzw. nach meinen Bedürfnissen hin umgebaut.

Benutzung auf eigene Gefahr und ohne Anspruch auf weitere Pflege. Ich behalte es mir vor das es bei evtl. Änderungen auch zu „breaking changes“ kommt. Also Funktionen wegfallen, oder inkompatibel zum aktuellen Stand geändert werden.

Wer es trotzdem mag:
bbernhard1/BB_Lichtsteuerung (github.com)

Hier die Liste der Änderungen:

Änderungen gegenüber dem Original:

Dauerlicht mit automatischem Rückfall auf Normalbetrieb.

Mit dieser Funktion können die konfigurierten Ausgangsvariablen dauerhaft eingeschaltet werden. Während die Dauerlicht aktiv ist werden alle Trigger von Eingabesensoren ignoriert.

Die Dauerlichtfunktion kann entweder mit Schaltern und mit Tastern verwendet werden.

Definition: Schalter sind bistabil und haben haben sowohl einen EIN und einen AUS Schaltzustand, hingegen sind Taster Monostabil und liefern bei betätigen nur einen kurzen EIN Impuls.

Bei korrekter Konfiguration (Einstellung der SensorType) wird die Funktion intern entsprechend umgesetzt. d.h. bei Schalter nehmen die Ausgänge den Status des zuletzt betätigten Schalters an, bei Tastern werden die Ausgänge bei jeder Betätigung umgeschaltet. Es können beliebig viele Eingabesensoren also Schalter und Taster hinzugefügt werden.

Durch die automatische Rückfallfunktion wird verhindert das vergessen wird das Licht auch wieder abzuschalten. Der Rückfall auf Normalbetrieb erfolgt nach einer vorwählbaren Timerzeit.

Dauerlicht ist auch als neue Statusvariable verfügbar. Dies bildet ab ob das Licht Ein oder Abgeschaltet ist. Die Variable kann auch zum Schalten per Script oder zum Triggern weiterer Scripte oder Module verwendet werden.

Statusvariable für Licht Ein/Aus

Diese Variable bildet den aktuellen Licht An/Aus Status ab. Sie ist dafür gedacht um weitere Module oder Ablaufpläne oder auch weitere Scripte triggern zu können.

Erweiterte Tag/Nachtfunktion

Diese wurde dahingehend verändert das im Falle von ‚Tag‘ UND der Dimmwert für Tag auf ‚0‘ eingestellt ist kein Licht eingeschaltet wird.

Im Falle von Nacht wird auf den vorgewählten Dimmwert gedimmt und Schaltervariablen werden entsprechend eingeschaltet.

Starten eines Scriptes

Zusätzlich ODER alternativ zu den Augsabevaribalen kann auch ein Script definiert werden welches bei Licht An/Aus gestartet wird.

Der aktuelle Status ist im Script über $_IPS[‚VALUE‘] auswertbar.

Die Verwendung eines externen Scriptes kann notwendig sein um, auch komplexere Kommandos wie Auf- udn Abdimmzeiten oder komplexe Lichtscenen realisieren zu können. Oder auch ein gegenseitiges verriegeln mehrerer Lichtsteuerungsinstanzen sollte damit realisierbar sein.

Debug Meldungen

Im Debug Fenster werden zu allen Aktionen und Statusänderungen entsprechende Log Messages ausgegeben.

Einschaltdauer

Die Einschaltdauer kann nun als Dezimalzahl angegeben werden. Dadurch ist eine feinere Auflösung möglich. zb 0.5 Minuten → 30 sec Intervall.

Konfigurationsformular

Das Formular wurde etwas umgebaut und die Optionen zur besseren Übersicht in mehrere Gruppierungen unterteilt.

1 „Gefällt mir“

Hallo Bernhard,

habe dein Modul gerade eingebaut, läuft SUPER.

DANKE

Gruß Jürgen

Hi
Hab eine neue Version hochgeladen welche für Dauerlicht nun Schalter und Taster gleichzeitig unterstützt.
Wenn schon eine Eingansgvariable für Dauerlicht konfiguriert ist. So muß diese entfernt und neu hinzugefügt werden. Beim hinzufügen dann auswählen ob es sich um einen Schalter oder einen Taster handelt.

Würde das Modul noch gerne etwas universeller ausbauen.
Feature Request Welcome.

bb

Hallo Bernhard,

habe dein Modul erst aktualisiert, danach konnte man es nicht mehr öffnen
Dann komplett deinstalliert und wieder neu aufgesetzt.


Jetzt geht garnichts mehr

grafik

Auch ein Neustart von IPS hat nichts gebracht

Gruß Jürgen

Ups sorry.
Gib mir ein paar Minuten, ich schaue gleich mal was da los ist.

So, jetzt sollte wieder gehen. Einfach über die Modulverwaltung updaten.
Sorry, hatte vorm hochladen noch schnell die Version geändert und dabei einen Tippfehler gemacht.

bernhard

Hallo Bernhard,

hab Dein Modul auch mal installiert. Dabei vermisse ich eine Möglichkeit die „Einschaltdauer“ neu zu starten wenn durch „Eingabesensoren“ ausgelöst. Wäre so etwas möglich?

Gruß

Jürgen

Eigentlich sollte es genau das tun.
Ich schau mal, evtl. ist mir da was kaputtgegangen.

bb

ok, mit der Funktion Dauerlicht. Aber als zusätzliche z.B. durch Bewegungsmelder ohne automatischen Rückfall. Und nur aktiviert wenn „Eingabesensor“ ausgelöst.

Läuft Danke ! :slightly_smiling_face:

Gruß Jürgen

@jnicke: Danke für die Info, ich schau noch mal. Vor einigen Tagen hats beim testen funktioniert.

@jnicke: Vermutlich haben wir uns missverstanden, denn meiner Meinung nach tut es genau so wie es soll.
Eben mehrmals probiert:
→ Einschaltdauer ist auf 3Min
→ Bewegungsmelder löst aus
→ Zeit zählt von 3min runter
→ nach 30sec geht der Bewegungsmelder aus
→ Licht bleibt Ein und Zeit zählt weiter runter
→ nach 1min löst der Melder nochmals aus
→ Timer springt wieder auf 3 min, Licht bleibt ein
→ nach 3min geht das Licht dann aus

das war es doch, oder möchtest du etwas anderes ?

schöne Grüße
Bernhard

Ja bitte. Eine zweite Möglichkeit.
Wenn Eingabesensor ausgelöst
dann Zeit verlängern wenn Bewegungsmelder auslöst.

Warum fügst du nicht den Bewegungssensor zu den Eingabesensoren dazu ?

bb

Weil das Licht dann ja immer bei Bewegung an gehen würde. Der Bewegungsmelder soll aber nur berücksichtigt werden wenn ich die Tür geöffnet habe

Jürgen

Achsooo, jetzt verstehe ich.
Hmm, ehrlich gesagt das ist schon sehr speziell, ich glaube nicht das ich das einbauen will.

Du könntest es aber ggfls. so lösen das du den Türmelder dazu benutzt (über Script oder Ablaufplan) um das Modul zu aktivieren oder deaktivieren.

bb

Mhh, schade.

Trotzdem Danke

Gruß
Jürgen

Moin,
habe mal ne Frage zu dem Modul. Ich habe normale BWM die einfach eine Bool Variable darstellen.
Wenn der BWM nun auslöst Springt die Variable auf „true“. Dein Modul schaltet dann vermutlich das Licht an und startet den Timer. Wenn ich nun im Raum bleibe, bleibt der BMW dauerhaft auf true, daher würde dann ja nach 3min das Licht ausgehen da der Timer dann ja abläuft.

Gibt es die Möglichkeit das so einzustellen das bei einem ändern von false → true das Licht angeht und erst bei der Änderung von true-> false der Timer startet?

Danke
Benni

Servus
Du möchtest also eine reine Abschaltverzögerung haben ? Denke das geht, werde mal schauen.
Fürs erste kommt mir eine Schwierigkeiten in den Sinn:
Wenn du Funk-Melder hast, dann kann es schon mal vorkommen das eine Schaltflanke verlorengeht.
Passiert es bei False-> True dann geht halt das Licht nicht an. Damit kann man leben.
Passiert es aber bei True->False, dann bleibt das Licht auf ewig eingeschaltet. Genau das ist hier bei den diversen anderen Varianten passiert, darum hab ich es so gebaut wie es ist.

schöne Grüße
Bernhard

Quasi, solltest aber auch nicht zu viel Energie reinstecken, aktuell habe ich das über ein kleines Script mit Script Timer gelöst, interessant ist da halt auch deine Dauerlicht Funktion, die fehlt mir im Script.

if($_IPS['SENDER'] == "TimerEvent") //Timer:
    {
        if (GetValueBoolean($IDBWM) == true) { //BWM noch an: zurücksetzen:
            IPS_SetScriptTimer($_IPS['SELF'], 60);
        } else {
            RequestAction($IDBool, false); //Lampe aus
            IPS_SetScriptTimer($_IPS['SELF'], 0); //BWM aus Timer aus... 

        }
    } else {
        if ($_IPS['SENDER']  == "Variable") {
                if ($_IPS['VALUE']) { //BWM eingeschaltet also Lampe an
                    RequestAction($IDBool, true); //Lampe An
                } elseif (!$_IPS['VALUE']) { //BMW Aus, also timer an
                    IPS_SetScriptTimer($_IPS['SELF'], 60); //Timer an... 
                }      
        }
    }