Ankündigung

Einklappen
Keine Ankündigung bisher.

mehrere Szenen mit 1 Wippe (Gira TS2/3)

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

    KNX/EIB mehrere Szenen mit 1 Wippe (Gira TS2/3)

    Guten Abend,

    ich habe in der Küche eine indirekte Beleuchtung mit RGB-LEDs. Nun möchte ich ein paar verschiedene Einstellungen als Szene hinterlegen.
    Dabei dachte ich daran dies mit einer Wippe am Tastsensor (Gira TS2(+) bzw. TS3(+) ) so zu realisieren, dass ich bei Drücken rechts eine Szene-Nr hochschalte und bei Drücken links eine Szene-Nr runter.

    Wie bekomme ich das hin?
    - Mit Dimmen kann ich ja immer nur den Dimmbereich angeben und bekomme ein 4Byte Objekt.
    - Mit Universalwertgeber... Der fängt immer bei 0 an. D.h. ich kann nicht von einer Szene in die nächste Schalten, sondern muss entweder
    a) die Taste festhalten bis die passende Szene erreicht ist oder
    b) die Taste kurz drücken, warten bis die passende Szene erreicht ist und den Durchlauf durch nochmaliges Drücken stoppen.
    Beides gefällt mir nicht wirklich...

    Alternativ steht noch ein HS3 zur Verfügung - auch wenn ich das eigentlich für Kanonen auf Spatzen halte... Und wenn doch - wie bekomme ich aus dem Dimmobjekt eine Zahlenreihe?

    Vielen Dank und viele Grüße,
    Volker

    #2
    Jetzt habe ich mir das mal im Experten angeschaut.
    - habe 9 Szenen angelegt (Szene-Nr 0-8).
    - habe im QC eine HS-Szene zur Küche hinzugefügt.
    - habe für Szene eine ausgewählt
    - habe bei Verhalten "Erhöhen/Erniedrigen" ausgewählt (in der Erwartung, dass ich mit den beiden Pfeiltasten rauf/runter zwischen den Szenen wechseln könnte...)

    Was mache ich falsch? Wo liegt mein Denkfehler? Oder habe ich das falsch interpretiert?

    Kommentar


      #3
      Hallo zusammen,

      ich möchte diesen älteren Thread mal hervorkramen, da ich momentan vor einer ähnlichen Problemstellung stehe:

      Für die Ansteuerung dreier Drehzahlstufen eines Deckenventilators mittels Stufentrafo und jeweils einem Relais pro Stufe (hardwareseitig verriegelt), habe ich für jede Stufe im HS 4 eine Szene angelegt, die ich nun per Wippe (kurzer Tastendruck) nacheinander hoch und runterschalten will. Mit zwei weiteren KO (jeweils langer Tastendruck) soll die 1. Szene (alle Relais aus), bzw. die 4. Szene (Relais Höchststufe) ausgewählt werden.
      Wenn über den langen Tastendruck die Szene 1 (Ventilator AUS) angewählt war, soll über kurzen Tastendruck (+) dann die Szene 2 (1. Drehzahlstufe) aufgerufen werden, und wenn die Szene 4 (3. Drehzahlstufe) angewählt war, über kurzen Tastendruck (-) dann die Szene 3 (2. Stufe) aufgerufen werden, usw.

      Lässt sich das so bewerkstelligen? Wenn ja, wäre ich für Tipps sehr dankbar.

      pauly

      Kommentar


        #4
        Hallo Pauly,

        genau das was ich ja will...
        Dein Zahlenbeispiel macht es nochmal auf ziemlich einfache Weise deutlich.

        Kommentar


          #5
          Hi Leute, ich stehe vor dem gleichen Problem bei der Ansteuerung einer Ablufthaube mit drei Stufen.

          Diese hat 3 Aktorenkanäle wobei immer nur einer auf an ist und zwischen dem Umschalten eine kurze Pause sein muss.

          Ich habe dies ebenfalls mit 4 Szenen und einer Einschaltverzögerung für die Kanäle gelöst.
          AUS, nur Aktorkanal 1, nur Aktorkanal 2, nur Aktorkanal 3 - das entspricht
          Aus, Stufe 1, Stufe 2, Stufe 3

          Schön und gut (soweit nur mal geschildert um jemandem mit Ablufthaubenproblem die Lösung zu präsentieren, die ich gefunden habe).

          Aber ich möchte eigentlich nicht 4 tasten eines Tasters dafür verwenden. Also stehe ich vor dem identischen Problem wie ihr.
          Mit einer Wippe, Szenennummern rauf und runter schalten.

          Das wäre auch praktisch um z.b. künstlich zu "dimmen". Szene 1 = 1 Licht, Szene 2 = 2 Lichter, Szene 3 = 3 Lichter, Szene 4 = Alle Lichter.

          Jetzt haben wir so tolles KNX und keine weiss wie das geht?

          Kommentar


            #6
            Ich habe hierfür prototypisch ein kleines Plugin fürs Wiregate geschrieben... Könnte man bestimmt für den HS auch machen.

            Letztendlich braucht man nur nen Switch (1 für hoch, 0 für runter) und ne Komponente, die weiß, wieviel Szenen es gibt.

            Also:

            wenn 1, dann hoch, außer die höchste Szene ist erreicht, dann zurück auf 1
            wenn 0, dann runter, außer die erste Szene ist erreicht, dann rauf auf die höchste Szene

            Kommentar


              #7
              kannst du das Plugin mal sharen?

              Kommentar


                #8
                Hallo,

                wenn der HS schon vorhanden, dann
                • Schalter links drücken 1 loslassen nichts
                • Schalter rechts drücken 0 loslassen nichts
                • Kommunikationsobjekt Szene 0-255 EIS 2,6, Schrittgröße 1
                • Kommunikationsobjekt vom Schalter über Auslöser, Filter oder Gatter auf Kommunikationsobjekt Szene Schritt + oder -
                • Szene dann wie gewünscht abrufen
                Gruß aus Kiel

                Holger
                Gruß aus Kiel

                Holger Wortmann

                Kommentar


                  #9
                  Und für den Eibport?

                  Kommentar


                    #10
                    Also hier der Prototyp (Quick'n Dirty)...

                    Die GA zum Schalten liegt auf einem Kurz-Lang Taster.
                    Szenen werden in einem weiteren Plugin ausgewertet.

                    Beispiel:
                    if ($scene == "1")
                    {
                    knx_write($GARGB, 1, 1);
                    knx_write($GAWW, 1, 1);
                    knx_write($dimR, 100, 5);
                    knx_write($dimG, 100, 5);
                    knx_write($dimB, 75, 5);
                    knx_write($dimW, 100, 5);

                    $plugin_info{$plugname.'_CurrentScene'} = $scene;

                    $retval = "Szene 'Hell' (1)";
                    }

                    Wie gesagt, war einfach mal bissl gespielt. Hier mit DMX ohne in die ETS zu müssen.

                    Jetzt aber der Code

                    # As we do subscribe adresses, cycle is not neccessary
                    $plugin_info{$plugname.'_cycle'} = 0;

                    # Build some debug info
                    my $retVal = "No action! ";

                    # Define constants (usually tbd in config)
                    my $SceneAdress = "1/5/27";
                    my $SceneSwitchAdress = "1/5/28";

                    # So we need some state info

                    # current scene (we get this from a state strored whether in a global variable or we can read this from group adress
                    my $currentScene;

                    # new scene value
                    my $newScene;

                    # count available scenes (this can be done anywhere)
                    my $countScenes = 5;

                    # scene switch value (1 for up, 0 for down)
                    my $sceneSwitch;

                    # so, subscribe the switch event
                    $plugin_subscribe{$SceneSwitchAdress}{$plugname} = 1;

                    if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $SceneSwitchAdress)
                    {
                    # get value
                    $sceneSwitch= $msg{'data'};

                    # get current scene
                    $currentScene = $plugin_info{'Szenen_CurrentScene'};

                    # again, do some debug
                    $retVal = "Switch: " . $sceneSwitch . "; ";
                    }

                    # let's get 'up'
                    if ($sceneSwitch == "1")
                    {
                    $retVal = $retVal . "Up!; ";

                    # be aware of the scene limit, so jump back to first scene. otherwise count up
                    if ($currentScene == $countScenes)
                    {
                    $newScene = 1;
                    $retVal = $retVal . "Back to" . $newScene;
                    }
                    else
                    {
                    $newScene = $currentScene + 1;
                    $retVal = $retVal . "Up to " . $newScene;
                    }
                    }
                    # let's go down
                    else
                    {
                    $retVal = $retVal . "Down!; ";

                    # be aware of the first scene, so jump back to the last scene. otherwise count down
                    if ($currentScene == 1)
                    {
                    $newScene = $countScenes;
                    $retVal = $retVal . "Back to " . $newScene;

                    }
                    else
                    {
                    $newScene = $currentScene - 1;
                    $retVal = $retVal . "Down to " . $newScene;
                    }
                    }

                    # write the scene
                    my $newSceneValue = $newScene;
                    knx_write($SceneAdress, $newSceneValue, 6);

                    # write debug information
                    return $retVal;

                    # one thing: the scene plugin has to persist the current scne value!

                    Kommentar


                      #11
                      Man denke sich Formatierung... Hats leider nicht mit kopiert

                      Kommentar


                        #12
                        Ich denke für den Eibport könnte das mit einem Mathematik Job gehen. Bin grad aus einem anderen Grund darauf gestossen... werde mal ausprobieren und posten.

                        Kommentar


                          #13
                          Ohne zu testen, nur theoretisch, aber ich denke auf dem EibPort sollte ein ein/zwei tastiger Szenenwechsel mit einem Mathematik Job zu lösen sein.

                          -------------------------
                          Eintastenbedienung Szenenwahl mit EIS14 (kommt man "oben" an springt es zur Szene 0. "3" ist die höchste Szenennummer)

                          Eingang 1= eo(0) = Gruppenadresse Szenennummer Lüfter
                          Eingang 2= eo(1) = Gruppenadresse Taster Szenenwechsel

                          Ausgang = Gruppenadresse Szenennummer Lüfter

                          Mathematischer Ausdruck: a=eo(0)+eo(1);a<=3?a:0
                          ---------------------

                          Zweitastenbedienung Szenenwahl mit EIS14 (kommt man "oben" an springt es zur Szene 0. Kommt man "unten" an bleibt es 0. "3" ist die höchste Szenennummer)

                          Eingang 1= eo(0) = Gruppenadresse Szenennummer Lüfter
                          Eingang 2= eo(1) = Gruppenadresse Taster Szene hoch
                          Eingang 3= eo(2) = Gruppenadresse Taster Szene runter

                          Ausgang = Gruppenadresse Szenennummer Lüfter


                          Mathematischer Ausdruck: a=eo(0)+eo(1)-eo(2);0<=a<=3?a:0

                          Beim Job zwei weiss ich definitiv nicht, ob das so überhaupt "erlaubt" ist beim "if, then" statement. "0<=a<=3". Habe mal bei BAB- nachgefragt.


                          Wenn man nicht mit EIS14 schalten kann/möchte, sondern mit mehren 1 bit gruppenadressen, dann kann man das mit einem weiteren Mathematik Job umwandeln.

                          hier von der Eibport wiki:
                          Die Lichtszenen im eibPort können nur über EIS 1 Telegramme mit den Werten 0 oder 1 gestartet werden. Es gibt jedoch auch die Möglichkeit, die Szenen über EIS 14 zu starten (z.B. Wert 5 startet Lichtszene 5).Dazu benötigt man einen Mathe Job mit dieser Formel:
                          Code:
                            
                            override_addr = (HG << 11) | (MG << 8) | eo(0); 1
                          HG und MG müssen mit der Haupt- und Mittelgruppe ersetzt werden, mit denen die Lichtszenen (EIS 1) gestartet werden sollen. Wenn zum Beispiel 10 Szenen über die Gruppenadressen 1/5/1-1/5/10 gestartet werden sollen, muss HG mit 1 und MG mit 5 ersetzt werden. eo(0) ist eine Variable für den ersten Eingang des Mathejobs auf die die Werte 1-10 gesendet werden. Der erste Teil der Formel berechnet somit die Ausgangsadresse, über die eine Szene gestartet werden soll. Die folgende 1 ist der Wert, der auf dieser Adresse gesendet wird um eine Lichtszene zu starten (hier "Start bei EIN").

                          Beispiel (siehe Bild):

                          5/1/0 ist EIS 14 mit den Werten 1-10

                          1: 5/1/1 ist Trigger der ersten Lichtszene 2: 5/1/2 ist Triger der zweuiten Lichtszene
                          ...
                          10: 5/1/10 ist Trigger der zehtne Lichtszenen


                          Der Ausgang des Mathejobs wird nicht gesendet und kann eine Dummy Adresse erhalten oder auch (z.B. als Merker) die 5/1/1

                          Kommentar


                            #14
                            Ist getestet. Das Szenen Durchschalten mit einer einzigen Taste funktioniert mit einem minimalen Mathematik-Job im EibPort perfekt.

                            Kommentar

                            Lädt...
                            X