Ankündigung

Einklappen
Keine Ankündigung bisher.

Komfort Dimmer

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

    Komfort Dimmer

    Code:
    // Komfort Dimmer
    // @date    11.01.2012
    // @version    1 
    // @author    Enertex Bayern GmbH
    :begin KomfortDimmer(Dimmer, GADimmerWert, Bewegungsmelder,Schalter, StundenNacht,MinutenNacht,DimmerwertNacht,StundenTag,MinutenTag, DimmerwertTag)
    :info $ Ein Dimmer, gesteuert über einen Bewegungsmelder oder Schalter. Der Dimmerwert kann für Tag und Nacht unterschiedlich eingestellt werden. \\
    Wird der Schalter eingeschalten, soll die Lampe einschalten und der Dimmer auf 100% gehen. \\
    Wenn der Schalter auf "aus" geht, sollen die Lichter ausgehen. \\
    Wenn der Schalter aktiv ist, soll der Bewegungsmelder deaktiviert werden.$\\
        $Gruppenadresse des Dimmers$ \\
        $Gruppenadresse für die Helligkeit des Dimmers$ \\
        $Gruppenadresse des Bewegungsmelders$ \\
        $Gruppenadresse des Schalters$ \\
        $Stunde Nacht$ \\
        $Minute Nacht$ \\
        $Dimmerwert Nacht in %$ \\
        $Stunde Tag$ \\
        $Minute Tag$ \\
        $Dimmerwert Tag in %$ 
    :shortinfo $Dimmer, schaltbar über Bewegungsmelder oder Schalter. Der Dimmerwert kann für Tag und Nacht unterschiedlich eingestellt werden.$
    
    //DimmerWert=GADimmerWert
    DimmerWert=10%
    // Der Schalter
    if (Schalter==EIN) then write(Dimmer,EIN); write(GADimmerWert,100%) endif
    if (Schalter==AUS) then write(GADimmerWert,0%) endif
    
    //Bewegungsmelder
    if (htime(StundenNacht,MinutenNacht,00)) and (Schalter==AUS) then DimmerWert=DimmerwertNacht^% endif
    if (htime(StundenTag,MinutenTag,00)) and (Schalter==AUS) then DimmerWert=DimmerwertTag^% endif
    
    if (Bewegungsmelder==EIN) and (Schalter==AUS) then write(Dimmer,EIN); write(GADimmerWert,DimmerWert) endif
    if (Bewegungsmelder==AUS) and (Schalter==AUS) then write(GADimmerWert,10%) endif
    
    :end
    Hallo an alle, habe mir gerade den Komfort Dimmer aus der Enertex Bibliothek rausgesucht und der ist schon fast das, was ich suche!
    Ich hätte noch gerne nach dieser Zeile,
    Code:
    if (Bewegungsmelder==AUS) and (Schalter==AUS) then write(GADimmerWert,10%) endif
    dass der Dimmer für 5 min auf dem Wert 10% bleibt und danach ausgeht! Sollte sich jedoch in den 5 min etwas bewegen, soll wieder hochgedimmt werden... usw..

    Könnt ihr mir da vielleicht helfen, wie ich das angehen muss?!?!?
    MfG MrKnx

    #2
    TimerStart = AUS
    Timer = 0u08
    if GADimmerWert == 10% and Bewegungsmelder==AUS and Schalter==AUS then TimerStart = EIN endif
    if cycle(1,0) and TimerStart == EIN then Timer = Timer + 1u08 endif
    if Timer == 5u08 and Bewegungsmelder==AUS and Schalter==AUS then write(GADimmerWert,0%); Timer = 0u08; TimerStart = AUS endif

    Kommentar


      #3
      Komfort Dimmer

      Vielen Dank, da habe ich viel zu umständlich gedacht!
      Werde es heute gleich testen!


      MfG MrKNX
      MfG MrKnx

      Kommentar


        #4
        @Jambala
        Danke funktioniert perfekt

        Jetzt habe ich den Code etwas auf mich abgestimmt und habe das htime durch ein chtime and !chtime ersetzt, da ich schon öfters Probleme gehabt habe, wenn Stromausfall war, dass einiges nicht funktioniert hat bis htime wieder erfüllt ist! Leider ist das ja dann nur einmal am Tag!!!

        Leider funktioniert das so nicht!!! WARUM

        Code:
        :begin MeinKomfortDimmer(Schalter, GA, GADimmerWert, Bewegungsmelder, DimmerWertwarten, Wartezeit, StundenNacht, MinutenNacht, DimmerwertNacht, StundenTag, MinutenTag, DimmerwertTag)
        :info $ Ein Dimmer, gesteuert über einen Bewegungsmelder oder Schalter. Der Dimmerwert kann für Tag und Nacht unterschiedlich eingestellt werden. \\
        Der Dimmer bleibt nach dem Ausschalten auf einem definierten Wert und wartet auf neuen Befehl oder schaltet nach einer bestimmten Zeit aus. \\
        Wenn der Schalter auf "aus" geht, sollen die Lichter ausgehen. \\
        Wenn der Schalter aktiv ist, soll der Bewegungsmelder deaktiviert werden.$\\
            $Gruppenadresse für den Schalter$ \\
            $Gruppenadresse zum Ein und Ausschalten des Dimmers$ \\
            $Gruppenadresse für den Helligkeitswert des Dimmers$ \\
            $Gruppenadresse des Bewegungsmelders$ \\
            $Dimmerwert auf dem gewartet wird bis neuer Befehl kommt in % angeben$ \\
            $Minuten die gewartet werden sollen$ \\
            $Stunde Nacht$ \\
            $Minute Nacht$ \\
            $Dimmerwert Nacht in % angeben$ \\
            $Stunde Tag$ \\
            $Minute Tag$ \\
            $Dimmerwert Tag in % angeben$ 
        :shortinfo $Dimmer, schaltbar über Bewegungsmelder oder Schalter. Der Dimmerwert kann für Tag und Nacht unterschiedlich eingestellt werden.$
        
        DimmerWert = 15%
        TimerStart = AUS
        Timer = 0u08
        
        // Der Schalter
        if event(Schalter) and (Schalter == EIN) then write(GA,EIN) endif
        if event(Schalter) and (Schalter == AUS) then write(GA,AUS) endif
        
        //Bewegungsmelder
        if (chtime(StundenNacht,MinutenNacht,00) and !chtime(StundenTag,MinutenTag,00)) and (Schalter == AUS) then DimmerWert = DimmerwertNacht endif
        if (chtime(StundenTag,MinutenTag,00) and !chtime(StundenNacht,MinutenNacht,00)) and (Schalter == AUS) then DimmerWert = DimmerwertTag endif
        
        if (Bewegungsmelder == EIN) and (Schalter == AUS) then write(GADimmerWert,DimmerWert) endif
        if (Bewegungsmelder == AUS) and (Schalter == AUS) then write(GADimmerWert,DimmerWertwarten); TimerStart = EIN endif
        
        // Timer
        if cycle(1,0) and (TimerStart == EIN) then Timer = Timer + 1u08 endif
        if (Timer == Wartezeit^u08) and (Bewegungsmelder == AUS) and (Schalter == AUS) then write(GA,AUS); Timer = 0u08; TimerStart = AUS endif 
        
        :end
        Wie könnte ich das sonst lösen?


        EDIT: Ok es muss natürlich chtime() or !chtime() heißen
        MfG MrKnx

        Kommentar

        Lädt...
        X