Ankündigung

Einklappen

Hinweis

Die Forenregeln wurden überarbeitet (Stand 7.11.22). Sie sind ab sofort verbindlich. Wir bitten um Beachtung.
Mehr anzeigen
Weniger anzeigen

TreppenhausLicht mit Dimmer?

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

    [Codebeispiel] TreppenhausLicht mit Dimmer?

    Ich möchte mit dem Makro TreppenhausLicht einen Dimmer mit 5% ansteuern, statt mit 100%. Letzteres bekomme ich ja hin.
    Habe ich da was übersehen oder geht das damit nicht?

    Alternativ habe ich es mit dem Makro KomfortDimmer probiert. Falls ich es richtig interpretiert habe, dass Stunde & Minute Tag/Nacht angibt, wie lange das Licht bei Bewegung eingeschaltet wird, funktioniert es nicht. Falls beides die absolute Zeit angibt, wann für mich Tag/Nacht ist, würde mir die Dauer fehlen.

    #2
    Hi,

    TreppenhausLicht() schickt nur EIN oder AUS.

    Der KomfortDimmer legt zwei Zeitbereiche fest:

    StundeTag:Minute:Tag - StundeNacht:MinuteNacht : Dimmwert Nacht
    StundeNacht:MinuteNacht - StundeTag:Minute:Tag: Dimmwert Tag

    Wenn der Schalter aus ist, schaltet der Bewegungsmelder EIN und AUS, jeweils den Dimmwert Tag oder Nacht.
    Der Schalter schaltet immer 0 oder 100%.


    Das einfachste wäre, du passt das Makro für dich an und speicherst es mit neuem Namen in einer eigenen Makrolib (nicht getestet):

    Code:
    :begin TreppenhausLichtSkyynet(Schalter, Lichtaktor, Sekunden, Helligkeit)
    :info $Sie schalten über die GA "Schalter" die GA "Lichtaktor" für die Zeit in Sekunden auf eine prozentuale Helligkeit. Der Schalter kann auch wiederholt ein EIN-Signal senden und triggert damit den Timer erneut$ \\
          $Gruppenadresse, auf welcher der Schalter sendet (ga,b01)$ \\
          $Gruppenadresse des LichtAktor zum Schalten des Ausgangs (ga, u08)$ \\
          $Zeit in Sekunden (var, u64)$
          $Helligkeit als Prozentwert (var, u08)$
    :shortinfo $Treppenhauslicht in Prozent mit EIN-Taster$
    if event(Schalter) and Schalter then write(Lichtaktor,Helligkeit) endif
    if delay(event(Schalter) and Schalter,Sekunden^000u64) then write(Lichtaktor,Helligkeit) endif
    :end

    Aufrufen mit
    TreppenhausLichtSkyynet("Schalter-1/2/3", "Aktor-1/2/4", 120, 5%)

    Kommentar


      #3
      Vielen Dank. Ich habe das Makro wie folgt eingerichtet
      Code:
      :begin TreppenhausDimmer(Schalter, Lichtaktor, Sekunden, Helligkeit)
      :info $Sie schalten über die GA "Schalter" die GA "Lichtaktor" für die Zeit in Sekunden auf eine prozentuale Helligkeit. Der Schalter kann auch wiederholt ein EIN-Signal senden und triggert damit den Timer erneut$ \\
            $Gruppenadresse, auf welcher der Schalter sendet (ga,b01)$ \\
            $Gruppenadresse des LichtAktor zum Schalten des Ausgangs (ga, u08)$ \\
            $Zeit in Sekunden (var, u64)$ \\
            $Helligkeit als Prozentwert (var, u08)$
      :shortinfo $Treppenhauslicht in Prozent mit EIN-Taster$
      if event(Schalter) and Schalter then write(Lichtaktor,Helligkeit) endif
      if delay(event(Schalter) and Schalter,Sekunden^000u64) then write(Lichtaktor,0) endif
      :end​
      und rufe es auf mit TreppenhausDimmer("Bewegungsmelder Garage-3/1/2","Licht Garage absolut dimmen-1/3/6",30,15)

      Funktioniert zunächst gut. Es wird auf 15% gedimmt und nach 30s wieder auf 0%.

      Fehlen mir noch zwei Sachen:
      1. Wenn ich mich innerhalb von $sekunden bewege, sollte der Timer zurückgesetzt werden. Ich würde den Code so lesen, dass eigentlich if event(Schalter) dafür sorgen sollte, dass der Bewegungsmelder immer wieder den Timer triggert. Tut er bei mir aber nicht.
      2. Wenn $sekunden vorbei ist, dauert es sehr lange, bis der Bewegungsmelder wieder auslöst. Wo ist diese Zeit definiert und auf welchen Wert? Liest sich für mich so, als ob delay eine Konstante ist.

      Kommentar


        #4
        Bist Du sicher? delay ist re-triggerbar und die Bedingung "event(Schalter) and Schalter" sollte bei jedem neuem Schalter-Telegramm neu triggern. (Nicht triggerbar wäre hier die Verwendung von after() )
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Sendet denn der BM ein neues Ein-Telegramm, während das Licht an ist? Prüfe das doch mal im Gruppenmonitor.

          Kommentar


            #6
            Hi foobar0815,

            der Bewegungsmelder sendet tatsächlich kein neues Telegramm. Ich sehe im Gruppenmonitor nur das Dimmen bei Bewegung auf 6% und dann das Dimment auf 0%.
            Danach kann ich vor dem Bewegungsmelder herumhüpfen, wie ich will - da kommt nix.
            # Zeit Dienst Flags Prio Quelladresse Quellname Zieladresse Zielname Hop Count Typ DPT Info
            3 25.09.2022 22:53:05,634 vom Bus Niedrig 1.1.32 PD11-KNX-FLAT-DX-DE 3/1/2 Bewegungsmelder Garage 6 GroupValueWrite 1.002 Boolesch $01 | Wahr
            4 25.09.2022 22:53:05,681 vom Bus Niedrig 1.1.2 Dummy EibPC 1/3/6 Licht Garage absolut dimmen 6 GroupValueWrite 5.001 Prozent (0..100%) $0F | 6 %
            5 25.09.2022 22:53:05,785 vom Bus Niedrig 1.1.47 inBOX DIM 1/5/6 Licht Garage Status Rückmeldung 6 GroupValueWrite 1.011 Status $01 | Aktiv
            6 25.09.2022 22:53:06,230 vom Bus Niedrig 1.1.47 inBOX DIM 1/4/6 Licht Garage Dimmwert Rückgabe 6 GroupValueWrite 5.001 Prozent (0..100%) $0F | 6 %
            # Zeit Dienst Flags Prio Quelladresse Quellname Zieladresse Zielname Hop Count Typ DPT Info
            13 25.09.2022 22:53:35,683 vom Bus Niedrig 1.1.2 Dummy EibPC 1/3/6 Licht Garage absolut dimmen 6 GroupValueWrite 5.001 Prozent (0..100%) $00 | 0 %
            14 25.09.2022 22:53:35,845 vom Bus Niedrig 1.1.47 inBOX DIM 1/5/6 Licht Garage Status Rückmeldung 6 GroupValueWrite 1.011 Status $00 | Inaktiv
            15 25.09.2022 22:53:35,879 vom Bus Niedrig 1.1.47 inBOX DIM 1/4/6 Licht Garage Dimmwert Rückgabe 6 GroupValueWrite 5.001 Prozent (0..100%) $00 | 0 %

            Als Bewegungsmelder habe ich einen BEG PD11. Kann es sein, dass bei dem etwas anders eingestellt werden muss? Wird so langsam OT, da ja die Programmierung im Expertenmodus zu laufen scheint.

            grafik.png

            Kommentar

            Lädt...
            X