Ankündigung

Einklappen
Keine Ankündigung bisher.

MDT Patschfunktion Ein Licht an, alle Lichter aus (Glastaster II Smart)

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

    KNX/EIB MDT Patschfunktion Ein Licht an, alle Lichter aus (Glastaster II Smart)

    Hallo,
    ich habe bereits mehrere Threads zu dem Thema gelesen. Stolpere aber immer über ein Hindernis.
    Hier meine Anforderungen:
    1) Ich möchte gerne mit der Patschfunktion des Glastasters II Smart ein bestimmtes Raumlicht einschalten, wenn alle Lichter aus sind.
    2) Sobald mindestens eins der zwei Raumlichter eingeschaltet ist, soll die Patschfunktion alle Raumlichter aussschalten.
    Umsetzung soll mit den Boardmitteln des Glastasters oder Schaltaktors erfolgen.

    Mein Aufbau sieht wie folgt aus:
    Status L1 und L2 gehen auf eine Oder Logik. Ausgang ist GA1 ("Status irgendein Licht ist an")
    GA1 liefert den Wert für die Umschaltung der Patschfunktion.
    Patschfunktion ist als Umschalter realisiert und sendet auf GA2
    GA2 schaltet Lampe L1
    GA2 geht mit invertiertem Eingang auf eine zweite Oder Logik. Deren Ausgang setzt eine Szene (alle Lampen aus)
    --> Siehe: https://knx-user-forum.de/forum/%C3%...79#post1569079

    Die Lösung von mumpf funktioniert leider nicht, da die Logik des Glastasters nicht zwei Aus-Signale hintereinander sendet.
    Beispiel: Ich mache mit der Patschfunktion alle Lampen aus --> GA2= AUS; Szene wird gesendet. (alles Super )
    Anschließend mache ich per Taster die Lampe L2 an. GA1 geht auf EIN
    (Ggf. auch noch L1 per Taster einschalten)
    Nun per Patschfunktion alle Lampen ausschalten. GA2 sendet aus, die Logik sendet aber keine erneute Szene.

    Das Problem haben Beleuchtfix und martiko bereits erfasst (siehe unten die Links 1) und 2)): Der Glastaster sendet keine zwei Szenen hintereinander, wenn sich der Ausgangswert der Logik nicht ändert.

    Nun meine Frage dazu: Gibt es bei den genannten Anforderderungen eine andere Lösung? (kein langes/kurzes Drücken, etc. - einfach nur an und aus)

    Ich würde mich freuen, wenn jemand Ideen dazu hat.
    Grüeß Jan


    Bekannte Threads zu dem Thema:
    https://knx-user-forum.de/forum/%C3%...-licht-a-und-b
    https://knx-user-forum.de/forum/%C3%...innvoll-nutzen
    https://knx-user-forum.de/forum/%C3%...ehrere-lichter
    1) https://knx-user-forum.de/forum/%C3%...52#post1473052
    2) https://knx-user-forum.de/forum/%C3%...32#post1473132

    #2
    Hi Jan,

    dazu hatte ich auch schon mal was geschrieben - denke ich zumindest. Die Lösung ist ganz einfach... Wenn der GT2 am Eingang der Szenen-Logik ein erneutes EIN braucht, bevor er ein weiteres AUS akzeptiert, dann gib ihm ein EIN: Mach GA1 als hörende Adresse auch an den Eingang der Szenen-Logik.

    Problem gelöst.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #3
      Hallo Waldemar, danke für deine Antwort!
      Dann lass uns das doch einmal durchspielen:
      Zitat von mumpf Beitrag anzeigen
      Mach GA1 als hörende Adresse auch an den Eingang der Szenen-Logik
      Lampe L1 hört auf GA2 (Patsch-Taste), und auf einer weiteren Adresse, die vom einer Taste des GT2 kommt.
      Lampe L2 wird nur von einer Taste des GT2 eingeschaltet und kann zusätzlich per Szene (alle Lampen aus) ausgeschaltet werden.

      Logik 1: Oder-Verknüpfung; Rückmeldungen aller Lampen sendet auf GA1 ("mindestend eine Lampe an")
      Patsch-Taster sendet auf GA2 und erhält seinen Umschaltwert von GA1
      Logik 2: Oder-Verknüpfung mit ~GA2 OR ~GA1

      Vorbedingung: Jemand verlässt den Raum, Patsch-Taste macht alle Lampen aus. -> GA2=0 (außerdem GA1=0)
      Anschl. Lampe 2 per Taster einschalten -> Logik 1 setzt GA1=1
      Logik 2: ~GA1 OR ~GA2 = ~(1) OR ~(0) = 0 OR 1 = 1 -> es passiert aber nichts, da die Vorbedingung ebenfalls eine 1 lieferte (wegen ~GA2).
      Patsch-Taste drücken sendet ein aus -> nichts passiert. :-/
      $(Patsch-Taste erneut drücken, sendet GA2=1. Lampe 1 geht an; Logik 2 geht auf 0 [~GA1 OR ~GA2 = ~1 OR ~1 = 0])
      (Patsch-Taste erneut drücken, sendet GA2=0. jetzt gehen erst alle Lampen aus.)


      Oder doch lieber mit UND Verknüpfung:
      Logik 1: Oder-Verknüpfung; Rückmeldungen aller Lampen sendet auf GA1 (mindestend eine Lampe an)
      Patsch-Taster sendet auf GA2 und erhält seinen Umschaltwert von GA1
      Logik 2: Oder-Verknüpfung mit ~GA2 AND GA1

      Vorbedingung: Patsch-Taste macht alle Lampen aus. -> GA2=0 (und GA1=0)
      Irgendwann kommt der Nächste in den Raum:
      Lampe 1 per Taster einschalten -> Logik 1 setzt GA1=1
      -> Logik 2: GA1 AND ~GA2 = (1) AND ~(0) = 1 AND 1 = 1 -> Szene wird gesendet, alle Lampen gehen wieder aus. :-/ Gewünscht war Lampe 1 einschalten.


      Ich weiß nicht, ob ich mittlerweile ein Brett vorm Kopf habe, mich in irgendeiner Konfiguration oder einem falsch gesetzten Flag verrannt habe. Aber es will irgendwie nicht klappen. Kannst du mir bitte mal eine genaue Beschreibung der Szenenlogik schicken?

      -----
      Weitere Frage zur der Zeile mit dem $ am Anfang: Warum sendet der GT2 beim zweiten Patschen ein "EIN"? GA1 ist weiterhin ebenfalls "EIN" und wird zwischen den Patschvorgängen auch nicht gesendet.

      Kommentar


        #4
        Im folgenden schicke ich noch einmal meine Konfiguration vielleicht sieht dort jemand einen Fehler. Ich wäre euch sehr Dankbar!

        Zu sehen ist, dass beide Lampen (L1= Küche, L2 = Esstisch) über die Taster T1 und T2 geschaltet werden können.
        Der Schaltkanal für die Küchenlampe hört zusätzlich auf der Adresse der Patsch-Taste.
        Die Szene schaltet beide Lampen aus.

        Gewünschte Funktion:
        - Beide Lampen können über die zugeordneten Tasten ein- und ausgeschaltet werden.
        - Sobald mindestens eine Lampe leuchtet, schaltet ein neuer Patsch alle Lampen (L1 und L2) aus.
        - Wenn keine Lampe leuchtet, schaltet ein Patsch die Küchenlampe ein.
        - Alle zuvorgenannten Aktionen können in beliebiger Reihenfolge und Häufigkeit ausgeführt werden.
        Bonus: Super wäre, wenn das Konzept auch für mehr als zwei Lampen funktioniert.


        Übersicht der KO:
        Übersicht KO.png
        Übersicht der Logikmodule:
        Logik Grundeinstellungen.png
        Logik1.pngLogik 4.png

        Mitschnitt vom Busmonitor passend zur zweiten Frage der letzten Posts:
        Zitat von JanGoe Beitrag anzeigen
        Warum sendet der GT2 beim zweiten Patschen ein "EIN"? GA1 ist weiterhin ebenfalls "EIN" und wird zwischen den Patschvorgängen auch nicht gesendet.
        Busmonitor.png

        Vielen Dank Waldemar ( mumpf ) für deine vorherige Antwort! Vielleicht habe ich sie ja falsch verstanden bzw. umgesetzt.

        Viele Grüße Jan

        Kommentar


          #5
          Das war jetzt lang...

          Warum hast Du denn nicht das gemacht, was ich geschrieben habe? Ich habe von "hörender Adresse" und nicht von einem ODER mit 2 Eingängen gesprochen...

          Also spielen wir das mal durch (meine Ergänzungen in grün):
          Lampe L1 hört auf GA2 (Patsch-Taste), und auf einer weiteren Adresse, die vom einer Taste des GT2 kommt - und auf die Szene (alle Lampen aus) - das nur der Vollständigkeit wegen.
          Lampe L2 wird nur von einer Taste des GT2 eingeschaltet und kann zusätzlich per Szene (alle Lampen aus) ausgeschaltet werden.

          Logik 1: Oder-Verknüpfung; Rückmeldungen aller Lampen sendet auf GA1 ("mindestens eine Lampe an")
          Patsch-Taster sendet auf GA2 und erhält seinen Umschaltwert von GA1

          Logik 2: Oder-Verknüpfung mit EINEM EINGANG: ~(GA2, GA1), also der Eingang ist negiert und da sind die beiden GA2 und GA1 zugeordnet. Bei Ausgang=1 wird die Szene "alles Aus" gesendet.

          Vorbedingung: Jemand verlässt den Raum, Patsch-Taste macht alle Lampen aus. -> GA2=0 (außerdem GA1=0), Logik 2 ist erstmal durch ~GA2 -> 1, danach kommt erst ~GA1 -> 1. Falls hier die Szene "Alles aus" gesendet wurde, macht das nichts, da ja alles ausgeschaltet wurde.
          Anschl. Lampe 2 per Taster einschalten -> Logik 1 setzt GA1=1
          Logik 2: ~GA1 -> 0, es passiert aber nichts, da die Szene nur bei 1 gesendet wird.
          Patsch-Taste drücken sendet ein aus -> Logik 2: ~GA2 -> 1, sendet die Szene "Alles aus".
          $(Patsch-Taste erneut drücken, sendet GA2=1. Lampe 1 geht an; Logik 2 geht auf 0.
          (Patsch-Taste erneut drücken, sendet GA2=0. jetzt gehen wieder alle Lampen aus.)

          Zitat von JanGoe Beitrag anzeigen
          Weitere Frage zur der Zeile mit dem $ am Anfang: Warum sendet der GT2 beim zweiten Patschen ein "EIN"? GA1 ist weiterhin ebenfalls "EIN" und wird zwischen den Patschvorgängen auch nicht gesendet.
          Die Frage sagt mir, dass Du bei KNX so denkst, also ob die Eingänge mit Leitungen verbunden wären. Aber es geht hier um Telegramme, in Programmiersprachen würde man von Events sprechen.

          Der Patsch von GT2 funktioniert so, dass bei jedem Patsch ein NOT von dem Wert geschickt wird, der in "Wert für Umschaltung" steht. Gleichzeitig wird der gesendete Wert intern in "Wert für Umschaltung" geschrieben. Es könnte ja sein, dass gar keine GA mit "Wert für Umschaltung" verbunden ist, dann soll es trotzdem funktionieren.
          Wenn Du also was auf "Wert für Umschaltung" über GA schickst, dann überschreibst Du nur den intern gesetzten Wert. Somit ist das
          Zitat von JanGoe Beitrag anzeigen
          wird zwischen den Patschvorgängen auch nicht gesendet.
          genau der Grund, warum nach dem Patch der in diesem Fall richtige Wert gesendet wird.

          Hoffe jetzt ist klar wie das funktioniert, wenn nicht, frag ruhig...

          Gruß, Waldemar
          Zuletzt geändert von mumpf; 12.08.2021, 15:28.
          OpenKNX www.openknx.de

          Kommentar


            #6
            Hallo Waldemar,
            kaum macht man's richtig, schon klappt's... 🙈
            Tausend Dank für die Geduld meinen langen Post durchzuarbeiten!🤩 Da hatte ich in deine Antwort wohl zu viel interpretiert.

            Kurzum: Ich habe die Funktion dank dir umgesetzt bekommen und auch die Sache mit dem Telegram und internen Umschaltwert verstanden!

            Schönes Wochenende und vielen, vielen Dank für die schnelle und gute Hilfe von dir bzw. hier im Forum!
            Viele Grüße Jan

            Kommentar


              #7
              Hi Jan,

              freut mich dass es jetzt klappt. Und viel Spaß mit Deinen Projekten...

              Gruß, Waldemar
              ​​​​​​​

              OpenKNX www.openknx.de

              Kommentar


                #8
                Zitat von JanGoe Beitrag anzeigen
                Kurzum: Ich habe die Funktion dank dir umgesetzt bekommen und auch die Sache mit dem Telegram und internen Umschaltwert verstanden!
                Hi Jan - ich hänge irgendwo noch gedanklich fest. Meinst Du kannst mal aktualisierte Screenshots Deiner Konfiguration einstellen? Danke Dir vielmals!

                Kommentar


                  #9
                  Zitat von sti87 Beitrag anzeigen

                  Hi Jan - ich hänge irgendwo noch gedanklich fest. Meinst Du kannst mal aktualisierte Screenshots Deiner Konfiguration einstellen? Danke Dir vielmals!
                  Ja, kann ich machen. Sollte ich im Laufe der Woche hinbekommen. Sorry, dass es nicht sofort klappt.

                  Im Groben sollte es so sein, wie oben beschrieben, nur dass die Logik für die Szene EINEN Eingang hat, der mit ZWEI Adressen belegt ist. Nämlich dem Ausgang der Patsch-Taste und der Adresse "Mindestens ein Licht an" (also die ODER Verknüpfung von den Rückmeldungen aller Lichter). Diese Szenen Logik ist konfiguriert als Oder mit invertiertem Eingang.

                  Grüße Jan

                  Kommentar


                    #10
                    Hallo sti87,
                    anbei die Bilder zu der Konfiguration als Minimalbeispiel (mit MDT Glastaster II Smart BE-GT20x.01 und Schaltaktor AKS - 1216.03).
                    Hoffe damit klappt alles
                    Grüße Jan

                    Gruppenadressen und Kommunikationsmodule für Glastaster und Schaltaktor:
                    Gruppenadressen und Kommunikationsobjekte.png

                    Hier die Parameter der Komponenten:
                    Schaltaktor (Szenen Einstellungen)
                    Parameter Schaltaktor Szenen.png

                    Glastaster (Tastenfunktion)
                    Glastaster Parameter Patschfunktion.png
                    Logikmodul 1
                    Glastaster Parameter Logik 1 (Mind 1 Licht an).png
                    Logikmodul 2
                    Glastaster Parameter Logik 2 (Szene alle Lichter aus).png
                    Angehängte Dateien

                    Kommentar


                      #11
                      Herzlichen Dank Jan. Ich werde das mal testen :-)

                      Kommentar


                        #12
                        Zitat von mumpf Beitrag anzeigen
                        Logik 2: Oder-Verknüpfung mit EINEM EINGANG: ~(GA2, GA1), also der Eingang ist negiert und da sind die beiden GA2 und GA1 zugeordnet. Bei Ausgang=1 wird die Szene "alles Aus" gesendet.
                        Hi Waldemar,

                        danke für diese schon etwas zurückliegende Anleitung. Habe es bei mir auch so einrichten können, jedoch den Schritt mit den zwei GAs an einem Eingang der ODER-Logik 2 nicht verstanden. Wie funktioniert die Oder-Logik, wenn zwei GAs an einem Eingang anliegen, jedoch keine am zweiten Eingang?

                        Gruß


                        Oliver

                        Kommentar


                          #13
                          Zwei GA an einem Eingangs-KO wirkt wie überall am KNX, der letzte empfangene Wert zählt.
                          es ist also niemals an der Stelle eine Art Aggregation oder Vergleich der beiden Werte aus den beiden GA.
                          ----------------------------------------------------------------------------------
                          "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                          Albert Einstein

                          Kommentar


                            #14
                            Das hatte ich verstanden - meine Frage bezog sich auf die Auswertung der ODER-Logik, bei der nur ein Operand angegeben ist. Das Szenario wirkt dann quasi wie ein Schalter, richtig?

                            Kommentar


                              #15
                              Ja so kann man das sehen, wird aber auch gern verwendet wenn man eben wirklich echte Schalter hat aber von denen teilweise nur das 1 haben will und nicht die 0, dann kann man das durch so eine Logik schicken und dort einen Sendefilter, sende nur true setzen. Die Bedienung des Schalters hingegen will man ja meist an anderer Stelle auch mit der 0 haben. So kann man das dann aufteilen.
                              ----------------------------------------------------------------------------------
                              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                              Albert Einstein

                              Kommentar

                              Lädt...
                              X