Ankündigung

Einklappen
Keine Ankündigung bisher.

Selection zurücksetzen

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

    Selection zurücksetzen

    Hi,

    ich möchte eine Selection nach Betätigung immer zurücksetzen:
    items:
    Code:
    Number SzenennummerRollo    "Rolloszenen Nummer" <shutter>  { knx="17.001:0/2/1" }
    sitefile:
    Code:
    Selection item=SzenennummerRollo mappings=[0=zu, 1=TV, 2=Morgens, 3=Schatten, 4="alle auf"
    Wie kann ich erreichen, dass die Selection nach jedem Drücken wieder leer ist? Momentan ist es so, wenn ich "TV" drücke, bleibt die Selection auf "TV" in der Visu stehen. Wenn ich zwischendurch Rollos bewegt habe und erneut auf TV drücken will, passiert nix mehr. Dann muss ist erst eine andere Szene aktivieren, um dann bspw. "TV" wieder aktivieren zu können.

    Gibt es da sowas, wie bei dem "Pushbutton"-Konstukt mit dem autoupdate=false?

    Viele Grüße
    Michael

    #2
    Versteht keiner mein Anliegen, ist es zu trivial oder gibt es keine Lösung?

    Ich wünsche mir, dass das Select-Item keinen vorgewählten Eintrag anzeigt, sondern immer wieder auf einen "Null"-Eintrag springt, ähnlich einem Pushbutton, der nicht den ON/OFF Status anzeigt.

    Viele Grüße
    Michael

    Kommentar


      #3
      Der einfachste Weg dürfte sein eine Rule zu erstellen, in etwa so:

      Code:
      rule "reset select"
      when Item SzenennummerRollo Changed
      then
      if (SzenennummerRollo.state < 10)
        SzenennummerRollo.PostUpdate(10)
      end
      Also sobald selektiert wurde, wird das Item auf einen Wert gesetzt (aber nicht gesendet), der nicht in der Liste ist. Ob das allerdings so wirklich funktioniert, musst Du selbst ausprobieren :-)

      Kommentar


        #4
        Gute Idee, werde ich ausprobieren.

        Danke Dir!!

        Kommentar


          #5
          Hi,

          wegen

          Code:
          when Item SzenennummerRollo [COLOR=Red]changed[/COLOR]
          müsstest du dir eigentlich sogar die if-Bedingung sparen können, so dass eigentlich das hier genügen sollte (ohne Amoklauf):

          Code:
          rule "reset select"
          when Item SzenennummerRollo changed
          then
            SzenennummerRollo.postUpdate(10)
          end
          sicher bin ich mir aber nicht....

          Gruß

          Kommentar


            #6
            Hi Thomas,

            da hast Du vermutlich recht.
            Wie machst Du das eigentlich mit mehreren Szenen? Hast Du für jeden einen extra Button?
            Ich lasse mich gerne von anderen Ideen inspirieren :-)

            Viele Grüße
            Staehler

            Kommentar


              #7
              Zitat von thoern Beitrag anzeigen
              wegen

              Code:
              when Item SzenennummerRollo [COLOR=Red]changed[/COLOR]
              müsstest du dir eigentlich sogar die if-Bedingung sparen können
              Naja, meine Befürchtung ist, dass das PostUpdate dann einen weiteren Change auslöst. Damit würde die Regel zumindest 2 mal ausgeführt, wo doch einmal reichen sollte...

              Kommentar


                #8
                Ich habe die überarbeitete Variante von Thomas jetzt am Laufen und es scheint zu funktionieren.
                Code:
                Selection item=SzenennummerRollo mappings=[0=zu, 1=TV, 2=Sonnenaufgang, 3=Schatten, 4="alle auf", 10=select]
                Code:
                rule "reset select" 
                when Item SzenennummerRollo changed then   
                  SzenennummerRollo.postUpdate(10)
                end
                Den Vorteil der If-Abfrage erkenne ich auch nicht, da der postUpdate(10) immer stattfinden soll.
                Ich denke das passt so, also vielen Dank für die Tipps!

                Kommentar


                  #9
                  Zitat von staehler Beitrag anzeigen
                  Den Vorteil der If-Abfrage erkenne ich auch nicht, da der postUpdate(10) immer stattfinden soll.
                  Ich denke das passt so, also vielen Dank für die Tipps!
                  er hat die if-Abfrage zur Sicherheit eingebaut. Nicht dass der PostUpdate in der Rule wiederum einen Statuschange verursacht und somit die Rule wieder ausgelöst wird (Endlosschleife). Aber wie vermutet ist das nicht so.

                  Gruß,
                  Thomas

                  Kommentar


                    #10
                    Hi Michael,

                    Zitat von staehler Beitrag anzeigen
                    Gibt es da sowas, wie bei dem "Pushbutton"-Konstukt mit dem autoupdate=false?
                    hast Du mal autoupdate=false konfiguriert? Nach Verständnis wird nur deswegen ein Wert angezeigt, weil der Status des Number entsprechend verändert wurde. Mit "false" sollte das aber nicht passieren …

                    Gruß,

                    Thomas E.-E.
                    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                    Kommentar

                    Lädt...
                    X