Ankündigung

Einklappen
Keine Ankündigung bisher.

Webserver - Dimmersteuerung

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

    Webserver - Dimmersteuerung

    Guten Morgen in die Runde,

    ich habe nun endlich etwas Zeit gefunden mich an den WebServer zu machen und schon kommen die ersten Fragen.
    Folgende Ausgangsposition habe ich:
    ETS
    Ich habe einen Dimmer, den ich für das Esszimmer nehme. In der ETS ist dazu folgendes drin.

    Licht EG.Licht EG.0/0/8 Licht Essen (Ein/Aus) EIS 1 'Switching' (1 Bit) Low
    Licht EG.Licht EG.0/0/9 Licht Essen (Dimmen) EIS 2 'Dimming - control' (4 Bit) Low

    Bei einmal drücken geht das Licht mit dem im Aktor voreingestellten Wert (50%) an. Beim drücken/halten geht das Licht langsam von 10% startend an und wird heller solange man gedrückt hält.

    -> Das gleiche hätte ich nun auch gerne auf der Weboberfläche und habe folgendes (mit Hilfe der Beispiele) erstellt.

    [WebServer}
    pshifter(EssenID)[UP,DOWN]$Essen$

    [EibPC]

    //Dimmer Essen
    //Startwert als float, braucht man später für die Umwandlung
    DimmerProzent = 0f32
    if pbutton(EssenID,BeleuchtungEGPageID)==1 then DimmerProzent=DimmerProzent+1f32 endif
    if pbutton(EssenID,BeleuchtungEGPageID)==2 then DimmerProzent=DimmerProzent-1f32 endif
    if change(DimmerProzent) then write("Licht Essen-0/0/9", convert(DimmerProzent*255f32 / 100f32, 0)) endif
    if change(DimmerProzent) or after(systemstart(),3000u64) then pdisplay(EssenID,stringformat(DimmerProzent,4,3,2, 0)+$%$,DOWN,INACTIVE,GREY,BeleuchtungEGPageID) endif

    Irgendwie klappt das jedoch nicht.
    Habt ihr einen Tipp wie das aussehen muss, damit ich schalten (mit Startwert) und dimmen über einen Button kann?
    ...oder brauche ich da zwei Button?

    Vielen Dank im Voraus.

    VG
    Jens

    #2
    Zitat von jjmargis Beitrag anzeigen
    Irgendwie klappt das jedoch nicht.
    Habt ihr einen Tipp wie das aussehen muss, damit ich schalten (mit Startwert) und dimmen über einen Button kann?
    Ich würde den Slider nehmen und das Dimmermakro hierfür. Du brauchst dann halt noch die 8-Bit Adresse für das Dimmen.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Danke für die schnelle Rückmeldung.
      Ich kann das zwar aktuell nicht testen, aber denke theoretisch sollte das wie folgt klappen, oder?

      [WebServer}
      pslider(EssenID)[Light]$Essen$

      [EibPC]
      EssenID = 10

      MypSlider=getpslider(EssenID,BeleuchtungEGPageID)
      if change(MypSlider) then {
      setpslider(EssenID,MypSlider,BeleuchtungEGPageID,L IGHT,INACTIVE)
      } endif


      [Macros]
      SliderDimmer(EssenID,BeleuchtungEGID,"Essen-0/0/9")

      VG
      Jens

      Kommentar


        #4
        Nachtrag:
        Allerdings habe ich nur einen 4-Bit Wert.
        Muss dann im Aktor dieses auf 8-Bit anpassen?
        (...wenn es denn geht)

        Kommentar


          #5
          Zitat von jjmargis Beitrag anzeigen
          Nachtrag:
          Allerdings habe ich nur einen 4-Bit Wert.
          Muss dann im Aktor dieses auf 8-Bit anpassen?
          (...wenn es denn geht)
          Ja, unbedingt und es sollte auch in Jedem Fall gehen.
          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
          Enertex Produkte kaufen

          Kommentar


            #6
            Zitat von jjmargis Beitrag anzeigen
            Nachtrag:
            Allerdings habe ich nur einen 4-Bit Wert.
            Muss dann im Aktor dieses auf 8-Bit anpassen?
            (...wenn es denn geht)
            Ja, das sollte gehen und Voraussetzung.
            offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
            Enertex Produkte kaufen

            Kommentar


              #7
              Zitat von jjmargis Beitrag anzeigen
              Nachtrag:
              Allerdings habe ich nur einen 4-Bit Wert.
              Muss dann im Aktor dieses auf 8-Bit anpassen?
              (...wenn es denn geht)
              Aber nicht das Dein 4-bit Wert ruaf oder runterdimmen meint. Eigentlich sollte Dein Aktor eine Absolutangabe erlauben. Schau mal ob Du nicht vielleicht doch einen 8Bit Wert hast, der nur nicht im Dimmaktor mit einer Gruppenadresse verbunden ist. (Ggf. den Typ Deines Dimmaktors posten!)

              Gruß,
              Bernd

              Kommentar


                #8
                Hi zusammen,

                nun bin ich dazu gekommen und habe auch einen 8-Bit Wert gefunden und einer neuen GA zugewiesen.
                Leider meckert der Kompiler.

                Ich habe folgendes:
                [Macros]
                SliderDimmer(EssenID,BeleuchtungEGID,"Licht Essen (Dimmer 8bit)-0/0/11")

                [MacroLibs]
                //Makro-Bibliotheken
                D:/EibPC/EibStudio/MakroLibs-de/Bibliotheken/EnertexWebV2.lib

                [EibPC]
                BeleuchtungEGPageID = 1
                EssenID = 15

                //Licht Essen
                MypSlider=getpslider(EssenID,BeleuchtungEGPageID)
                if change(MypSlider) then {
                setpslider(EssenID,MypSlider,BeleuchtungEGPageID,L IGHT,INACTIVE)
                } endif

                Leider bekomme ich vom Kompiler:
                Datei: "./tmpAddr.txt" wurde geschrieben
                Datei: "./tmpMacroOut.txt" wurde geschriebenLaufzeitfehler in Zeile:Makro: "SliderDimmer" in Zeile [991] in D:/EibPC/EibStudio/MakroLibs-de/Bibliotheken/EnertexWebV2.lib
                InternDimmer_^ID_^PageID=getpslider(ID,PageID) ==> InternDimmer_EssenID_BeleuchtungEGID=getpslider(Es senID,BeleuchtungEGID) in der Datei "./tmpApp.txt" in der Datei "./tmpApp.txt"
                Konstantes Argument erwartet: >BeleuchtungEGID< in >getpslider(EssenID,BeleuchtungEGID< in >=<
                ID:76

                Ich hoffe ihr könnt mir helfen.

                Vielen Dank im Voraus und viele Grüße
                Jens

                Kommentar


                  #9
                  Zitat von jjmargis;175521
                  [Macros
                  SliderDimmer(EssenID,BeleuchtungEGID,"Licht Essen (Dimmer 8bit)-0/0/11")

                  [EibPC]
                  BeleuchtungEGPageID = 1

                  InternDimmer_^ID_^PageID=getpslider(ID,PageID) ==> InternDimmer_EssenID_BeleuchtungEGID=getpslider(Es senID,BeleuchtungEGID) in der Datei "./tmpApp.txt" in der Datei "./tmpApp.txt"
                  Konstantes Argument erwartet: >BeleuchtungEGID< in >getpslider(EssenID,BeleuchtungEGID< in >=<
                  Du solltest BeleuchtungEGPageID verwenden und hast das Page in deiner Variablen im Makro vergessen...
                  offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                  Enertex Produkte kaufen

                  Kommentar


                    #10
                    Hi Jens,

                    hast du diesen im EibPC-Forum oben "festgetackerten" Thread schon gesehen: EibPC Code Syntax Highlighting im Forum ?

                    Ich weiss war eine rhetorische Frage da du die Highlightfunktion bisher nicht verwendet hast...

                    Gruß,
                    Markus

                    Kommentar


                      #11
                      Du solltest BeleuchtungEGPageID
                      Danke vielmals.
                      Da waren wohl die Augen schon etwas müde.
                      ;-)
                      Jetzt ist alles gut.
                      :-)


                      war eine rhetorische Frage da du die Highlightfunktion bisher nicht verwendet hast
                      Danke für den Hinweis. Hatte ich bisher noch nicht gesehen.
                      Ich werde mich bemühen zukünftig dran zu denken.

                      VG
                      Jens

                      Kommentar

                      Lädt...
                      X