Ankündigung

Einklappen
Keine Ankündigung bisher.

Bewegungsmelder und Lichtschalter

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Bewegungsmelder und Lichtschalter

    1. Beispiel
    Es soll ein Bewegungsmelder mit einem Lichtschalter kombiniert werden. Der Begungsmelder selbst gibt das AUS-Signal (Timer eingebaut).
    Der Bewegungsmelder wird durch den Schalter gesperrt.

    Code:
    //------------------------------------------------------
    //
    //         GästeWC
    //
    //  Bewegungsmelder triggert sich selbst. Die Latenz
    //  nach dem Ausschalten hilft hier (experimentell bestimmt)
    //
    //  Außerdem: Oft wird vergessen Licht wieder auszuschalten
    //  Daher wird nach 600 Sekunden (10 min) wieder ausgeschalten
    //------------------------------------------------------
    GaesteBewegung="GäsetWCBewegung-1/2/11"
    GasteWCSchalten="GästeWCSchalten-1/2/5"
    GaesteWCLichtMan="GästeWCSchalten-1/2/5" or "GästeWCSpiegel-1/1/3" 
    if GaesteBewegung==EIN then write("GästeWCLicht-1/1/2",EIN) endif
    if after(GaesteBewegung,350u64)==AUS then write("GästeWCLicht-1/1/2",AUS) endif
    
    if after(GaesteWCLichtMan,600000u64)==EIN then                                            \\
                            write("GästeWCSchalten-1/2/5",AUS);\\
                            write("GästeWCSpiegel-1/1/3",AUS); \\
                            write("GästeWCLicht-1/1/2",AUS)    \\
                        endif
    2. Beispiel
    Bewegungsmelder und Schalter sind unabhänig voneinander. Der Bewegungsmelder schickt bei jeder Bewegung ein EIN-Telegramm.
    je nach Tageszeit, soll mit dem Bewegungsmelder unterschiedliche Zeitkonstanten realisiert werden.
    Hinweise:
    a. Wenn weitere GA beteiligt sind, muss dies berücksichtigt werden.
    b. after ist nicht retriggerbar. Wenn gewünscht delay benutzten
    Code:
    //------------------------------------------------------
    //
    // Bewegungsmelder mit unterschiedlichen Zeitkonstanten
    //
    //------------------------------------------------------
    Manuell=AUS
    Bewegung=AUS
    Zustand=0
    
    // Die verschiedenen Schaltzeiten
    if htime(19,30,00) then Zustand=0 endif
    if htime(22,00,00) then Zustand=1 endif  
    //....
    
    // Handschalten: Verriegeln des Bewegungsmelder
    if "GästeWCSchalten-1/2/5" then write("GästeWCLicht-1/1/2",EIN); Zustand=Zustand+10 endif
    if "GästeWCSchalten-1/2/5"==AUS then write("GästeWCLicht-1/1/2",AUS); Zustand=Zustand-10 endif
        
    // Bewegungsmelder schaltet 
    if event("GäsetWCBewegung-1/2/11") and Zustand<9 then \\
            Bewegung=EIN;write("GästeWCLicht-1/1/2",EIN) endif
    
    // 19:30   60*1000ms= 1min Licht an
    if Zustand==0 and after(Bewegung,60000u64) then write("GästeWCLicht-1/1/2",AUS);Bewegung=AUS endif
    // 22:00   120*1000ms= 2min Licht an
    if Zustand==1 and after(Bewegung,120000u64) then write("GästeWCLicht-1/1/2",AUS);Bewegung=AUS endif
    Angehängte Dateien
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen
Lädt...
X