Ankündigung

Einklappen
Keine Ankündigung bisher.

plink, dynamischer text

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

    plink, dynamischer text

    ich habe eine Variable
    Code:
    BUS_MSG_TagDatumZeit = convert(split(CLOCK_STRING, 0u16, 1u16 )+$ $+split(DATE_STRING, 0u16, 1u16)+split($JanFebMrzAprMaiJunJulAugSepOktNovDez$, (convert(split(DATE_STRING, 3u16, 4u16), 0u16)-1u16)*3u16, (convert(split(DATE_STRING, 3u16, 4u16), 0u16)-1u16)*3u16+2u16)+$ $+split(CLOCK_STRING, 4u16, 8u16), $$c14);
    die sich minütlich ändert und Tag, Datum, Uhrzeit der Form "nn ttmmm hh:mm", also z.B. "DI 29OKT 12:55". Die schicke ich auf den Bus, wenn sie sich verändert:
    Code:
    BUS_MSG_Statustext1 = $$c14;
    if change(SRV_Active) or change(BUS_MSG_TagDatumZeit) or change(BUS_MSG_Statustext1) then {
        if BUS_MSG_Statustext1 == $$c14 then {
            xwrite("BUS_MSG_Statustext1-16/1/1", BUS_MSG_TagDatumZeit);
        } else {
            xwrite("BUS_MSG_Statustext1-16/1/1", BUS_MSG_Statustext1);
        } endif;
    } endif;​
    Jetzt hätte ich gerne einen plink auf einer Visu-Seite, der diesen Text auch enthält. Ich definiere also die Seite:
    Code:
    #addto [WebServer]
    page(1)[$$,$home$]
    plink(0) [INFO] [2] $$
    
    #addto [EibPC]
    if change(SRV_Active) or change(BUS_MSG_TagDatumZeit) or change(BUS_MSG_Statustext1) then {
        if BUS_MSG_Statustext1 == $$c14 then {
            plink(0, convert(BUS_MSG_TagDatumZeit, $$), INFO, 0, 0, 1);
        } else {
            plink(0, convert(BUS_MSG_Statustext1, $$), INFO, 0, 0, 1);
        } endif;
    } endif;​
    es tut sich aber nix in meiner visu, der plink text bleibt leer.

    Was mache ich falsch?

    #2
    enertegus, könntet Ihr da mal kurz drüber schauen? Mir leuchtet nicht ein warum das nicht funktioniert…

    edit: ok, sry, ich bin blöd, falsche pageID in der plink-funktion… jetzt gehts…
    Zuletzt geändert von TabSel; 30.10.2024, 11:12.

    Kommentar


      #3
      Der Text wird aber nicht automatisch upgedated. Erst bei page refresh steht der aktuelle Text im Button…

      Kommentar


        #4
        Hi,

        Fehler im Javascript für die dynamische Aktualisierung. Wird in der nächsten Firmware >5.202 gefixt. Dankel für den Hinweis!

        Kommentar


          #5
          foobar0815 da scheint es noch mehr Bugs zu geben? Z.B. bei folgendem Code:

          Code:
          #addto [WebServer]
          page(visu_pID_SRV)[$$,$Server$]
          
          webinput(visu_ID_Statustext1) [EXCLAMATIONMARK] $ $
          webinput(visu_ID_Statustext2) [INFO] $ $
          line(0) $ $
          pbutton(visu_ID_SRV_Active) [SWITCH] $Server$
          
          #addto [EibPC]
          visu_ID_SRV_Active = 0u08;
          
          if pbutton(visu_ID_SRV_Active, visu_pID_SRV) == 1 then {
              SRV_Active = SRV_Active xor 1b01;
          } endif;
          if change(SRV_Active) then {
              if SRV_Active == ON then {
                  pdisplay(visu_ID_SRV_Active, $ACTIVE$, SWITCH, INACTIVE, GREEN, visu_pID_SRV);
              } else {
                  pdisplay(visu_ID_SRV_Active, $inactive$, SWITCH, ACTIVE, GREY, visu_pID_SRV);
              } endif;
          } endif;​
          auch hier wird der pbutton via pdisplay nicht aktualisiert, sondern die Änderung ist erst nach page refresh sichtbar...


          achja: und der Textstil (GREEN, GREY, etc.) hat beim WebInput leider keine Auswirkung, was ist denn der Grund dafür? Und gibt es weitere Fomatierungsmöglichkeiten bei Texten, z.B. zentriert, rechtsbündig,...?

          edit: auch mit der neuen FW 5.202 wird der pbutton via pdisplay nicht aktualisiert... plink kann ich grad nicht ausprobieren, hab das jetzt anders gelöst...
          Zuletzt geändert von TabSel; 04.11.2024, 12:36.

          Kommentar


            #6
            Überprüft, problem ist die ID 0
            Code:
            visu_ID_SRV_Active = 0u08;
            Das EibStudio generiert ab 1, ist deshalb vmtl. nicht aufgefallen. Wird gefixt.
            Generell: Gibt es einen Grund, welhalb du die Elemente nicht in der Visu anlegst und über die Expertenvariable zugreifst?

            Zitat von TabSel Beitrag anzeigen
            beim WebInput
            WebInput hat keinen "dynamischen Text" sondern nur den Titel, genauso wie der (p)link, dafür aber den Input-Zustand.

            Kommentar


              #7
              Zitat von foobar0815 Beitrag anzeigen
              …WebInput hat keinen "dynamischen Text"...
              ich kann den Eingabe-Text des WebInput dynamisch setzen mit pdisplay, und dieser Text, den der WebInput anzeigt und ändern kann, den hätte ich auch gern „gestylt“, also GREEN, GREY, etc… und am Besten alle dynamischen Texte flexibler gestylt, z.B. durch eigene Styles, wie z.B. BOLDCENTRAL o.s.ä…
              Zuletzt geändert von TabSel; 04.11.2024, 15:05.

              Kommentar


                #8
                ja, mit Seitenelement-ID >=1 gehts…

                Zitat von foobar0815 Beitrag anzeigen
                …Gibt es einen Grund, welhalb du die Elemente nicht in der Visu anlegst und über die Expertenvariable zugreifst?…
                Weil ich Programmierer bin ich mach alles im Experten, da fühl ich mich zu Hause

                Kommentar


                  #9
                  Usability-Issue:
                  wenn der Text in einem WebInput geändert wird ohne dass <enter> gedrückt wird, stattdessen wird auf das Webelement-Icon geklickt, und dann zurück ins Textfeld
                  geklickt und dann <enter> gedrückt, dann wird kein change(webinput) prozessiert.

                  ich hätte erwartet dass durch <enter> oder durch klick auf das Icon ein change ausgelöst wird, nicht aber dass gar kein change ausgelöst wird, denn der Text hat sich ja geändert und die Änderung wurde durch <enter> bestätigt…

                  Kommentar


                    #10
                    Hi,

                    Updates stehen (als Beta) bereit und sollten die Probleme mit dyn. Plink-Update und den mit 09 beginnenden IDs oben beheben.

                    Siehe dazu
                    https://knx-user-forum.de/forum/supp...it-data-secure

                    Kommentar

                    Lädt...
                    X