Ankündigung

Einklappen
Keine Ankündigung bisher.

Wertgeber über Auswahlbox

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

    Wertgeber über Auswahlbox

    ich versuche einen wertgeber (1byte) über eine auswahlbox zu realisieren.
    im speziellen soll es ein dimmer sein.
    aber irgendwie komm ich nicht weiter.
    auf dem mpshifter oder mpbutton sollte vorzugsweise der momentane status neben der auswahlbox angezeigt sein.

    weiß jemand rat?




    [highlight=epc]
    [WebServer]
    mpbutton(Wohnen_SofaSpotsDimmen_ID)[$0 %$,$10 %$,$20 %$,$30 %$,$40 %$,$50 %$,$60 %$,$70 %$,$80 %$,$90 %$,$100 %$][LIGHT]$Spots Sofa$

    [EIBPC]
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,1,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",0%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,2,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",10%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,3,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",20%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,4,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",30%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,5,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",40%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,6,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",50%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,7,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",60%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,8,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",70%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,9,Page_5og_Lich tDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",80%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,10,Page_5og_Lic htDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",90%)
    } endif
    if mpbutton(Wohnen_SofaSpotsDimmen_ID,11,Page_5og_Lic htDimmen_ID)==1 then {
    write("Wert Spots Wohnen Sofa dimmen (5.OG)-0/3/30",100%)
    } endif
    [/highlight]

    #2
    Zitat von macflei Beitrag anzeigen
    ich versuche einen wertgeber (1byte) über eine auswahlbox zu realisieren.
    Unabhängig davon, dass ich einen Slider als Dimmer bevorzugen würde:
    Du musst mpbuttons über 2 Schritte ansteuern:
    1. Betätigung der Auswahlbox (Zahl Num):
    if mpbutton(ID,Num,PageID) == 255 then ....
    Damit kann der User diese Vorwahl treffen.
    2. Betätigung des Buttons
    if mpbutton(ID,Num,PageID) == Num then ....
    wenn die Auswahlbox auf Num steht. D.h. wenn Du noch Num=3 eingestellt hast, wird bei Knopfdruck nur die Abfrage mit 3 reagieren

    Die Darstellung kann man mit
    pdisplay(ID,Text,ICON,State,Deko,PageID,Num)
    ändern.
    Schau mal in der EnertexWebV2.lib für weitere Beispiele.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Zitat von enertegus Beitrag anzeigen
      Unabhängig davon, dass ich einen Slider als Dimmer bevorzugen würde:
      schon. nur manche kunden sind da etwas eigenwillig.
      den vorteil von so einem wertgeber sehe ich auch darin, das man ihn für die rollos als positionsvorgabe (fahre in position) nutzen könnte.
      ok.zurück zum problem. von der grundfunktion her funktioniert es.

      [highlight=epc]
      :begin DimmerAuswahlboxRUECK(ID, PageID, Icon, GA, StatusGA)
      :info $BlaBlupp \\
      Datentyp 1byte$\\
      :$Die ID des Elementes$\\
      :$Icon des Elements$Knopfes$\\
      :$Die PageID des Buttons.$\\
      :$Die Gruppenadresse die gesteuert werden soll (1byte)$
      :shortinfo $BlaBlupp$
      //----------------------------------

      // Implementierung
      m^ID_^PageID_Text=$AUS$
      m^ID_^PageID_ICON=Icon
      m^ID_^PageID_State=INACTIVE
      m^ID_^PageID_Deko=GREY
      m^ID_^PageID_Choice=1
      if mpbutton(ID,1,PageID)==255 then {
      m^ID_^PageID_Choice=1
      } endif
      if mpbutton(ID,2,PageID)==255 then {
      m^ID_^PageID_Choice=2
      } endif
      if mpbutton(ID,3,PageID)==255 then {
      m^ID_^PageID_Choice=3
      } endif
      if mpbutton(ID,4,PageID)==255 then {
      m^ID_^PageID_Choice=4
      } endif
      if mpbutton(ID,5,PageID)==255 then {
      m^ID_^PageID_Choice=5
      } endif
      if mpbutton(ID,6,PageID)==255 then {
      m^ID_^PageID_Choice=6
      } endif
      if mpbutton(ID,7,PageID)==255 then {
      m^ID_^PageID_Choice=7
      } endif
      if mpbutton(ID,8,PageID)==255 then {
      m^ID_^PageID_Choice=8
      } endif
      if mpbutton(ID,8,PageID)==255 then {
      m^ID_^PageID_Choice=9
      } endif
      if mpbutton(ID,10,PageID)==255 then {
      m^ID_^PageID_Choice=10
      } endif
      if mpbutton(ID,11,PageID)==255 then {
      m^ID_^PageID_Choice=11
      } endif
      if change(m^ID_^PageID_ICON) or change(m^ID_^PageID_State) or change(m^ID_^PageID_Deko) or change(m^ID_^PageID_Choice) then {
      pdisplay(ID,m^ID_^PageID_Text,m^ID_^PageID_ICON,m^ ID_^PageID_State,m^ID_^PageID_Deko,PageID,m^ID_^Pa geID_Choice)
      } endif
      if mpbutton(ID,1,PageID)==1 then {
      write(GA,0%)
      } endif
      if mpbutton(ID,2,PageID)==1 then {
      write(GA,10%)
      } endif
      if mpbutton(ID,3,PageID)==1 then {
      write(GA,20%)
      } endif
      if mpbutton(ID,4,PageID)==1 then {
      write(GA,30%)
      } endif
      if mpbutton(ID,5,PageID)==1 then {
      write(GA,40%)
      } endif
      if mpbutton(ID,6,PageID)==1 then {
      write(GA,50%)
      } endif
      if mpbutton(ID,7,PageID)==1 then {
      write(GA,60%)
      } endif
      if mpbutton(ID,8,PageID)==1 then {
      write(GA,70%)
      } endif
      if mpbutton(ID,9,PageID)==1 then {
      write(GA,80%)
      } endif
      if mpbutton(ID,10,PageID)==1 then {
      write(GA,90%)
      } endif
      if mpbutton(ID,11,PageID)==1 then {
      write(GA,100%)
      } endif
      :end[/highlight]


      das einzige problem ist noch die rückmeldung (StatusGA). also egal welchen choise man auswählt, es sollte immer der aktuelle wert angezeigt werden. das untere bringt leider nicht den gewünschten effekt

      [highlight=epc]
      if m^ID_^PageID_Choice==1 then {
      m^ID_^PageID_Text=$ Momentan- $+StatusGA,$$);
      m^ID_^PageID_Deko=GREEN;
      m^ID_^PageID_State=INACTIVE
      } endif
      [/highlight]

      Kommentar


        #4
        Zitat von macflei Beitrag anzeigen
        schon. nur manche kunden sind da etwas eigenwillig.[highlight=epc]
        if m^ID_^PageID_Choice==1 then {
        m^ID_^PageID_Text=$ Momentan- $+StatusGA,$$);
        m^ID_^PageID_Deko=GREEN;
        m^ID_^PageID_State=INACTIVE
        } endif
        [/highlight]
        Nun, der Code triggert die Darstellung (pdisplay), wenn sich der Text ändern. In deinem Fall reicht
        [highlight=epc]
        m^ID_^PageID_Text=$ Momentan- $+StatusGA,$$)
        [/highlight]
        zu coden.
        Wenn nun StatusGA sich ändert, dann wird der Text sich ändern, dann wird die if-Abfrage bei pdisplay aktiv und schreibt das einfach neu.
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #5
          Das Prolem ist, das der Kunden auf dem Ipad mit den Slidern nicht zurecht kommt/kam.
          Anscheinend kann er die Slider mit dem Finger nicht auf genau 70% ziehen. (sinnvoll oder sinnlos sei mal dahin gestellt)
          Ich habe das jetzt etwas anders gelöst.







          Ist sicher nichts neues, ab wen es interessiert ..... , das Makro ist im Anhang. (*.txt löschen)
          Angehängte Dateien

          Kommentar


            #6
            Zitat von macflei Beitrag anzeigen
            Das Prolem ist, das der Kunden auf dem Ipad mit den Slidern nicht zurecht kommt/kam.
            Anscheinend kann er die Slider mit dem Finger nicht auf genau 70% ziehen. (sinnvoll oder sinnlos sei mal dahin gestellt)
            Danke für den Screenshot. Das wäre nun so auch was mit kurzer Erläuterung für die Codeschnispel.
            In der nächsten Version kann man das Inkrement des Sliders vorgeben (z.B. 10% Schritte). Vielleicht tät er sich damit leichter, wobei das so auch seinen Charme hat.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Zitat von enertegus Beitrag anzeigen
              Das wäre nun so auch was mit kurzer Erläuterung für die Codeschnispel
              .... wobei das so auch seinen Charme hat.
              danke

              https://knx-user-forum.de/code-schni...ckmeldung.html

              Kommentar


                #8
                Vielen Dank!
                Wenn ich mir hier mal einen Featurewunsch äußerndarf:
                Ein Beispiel in der Anwendung wäre ggf. auch noch ganz nett...
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar

                Lädt...
                X