Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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