Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zum plink Befehl

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

    Frage zum plink Befehl

    Hallo Gemeinde,

    ich will auf der Hauptseite plink Buttons für die wichtigsten Räume anlegen, die Buttons aber auch gleichzeitig zur Anzeige des Raumstatus verwenden, z.B. Bewegung, Licht - oder beides, wie im Beispiel


    Symbol und Text ändere ich mit pdisplay, dabei nutze ich die Struktur, die der Visu-Assistent vorgibt mit separaten Dateien.

    Jetzt das Problem:
    Lege ich nur
    Code:
    plink(Z3S1ID)[FORWARD][OGKinder_BadID]$Kinder Bad$
    im der *Webserver.lib an, funktioniert der Sprung auf die verlinkte Seite.

    Nachdem ich aber mit
    Code:
    K_Bad(Z3S1ID,AllgemeinHomeID,"KBad-X-Status-0/2/159","K-BAadPM-Präsenz-5/2/11")
    in der *Makro.lib das entsprechende Makro aufrufe,
    Code:
    :begin K_Bad(ID,PageID,LichtGA,BewegungGA)
    initGA(LichtGA)
    initGA(BewegungGA)
    Anzeige_^ID=$Kinder Bad$
    if LichtGA and !BewegungGA then pdisplay(ID,Anzeige_^ID,LIGHT,ACTIVE,GREEN,PageID) endif
    if !LichtGA and BewegungGA then pdisplay(ID,Anzeige_^ID,PRESENT,DISPLAY,GREEN,PageID) endif
    if LichtGA and BewegungGA then pdisplay(ID,Anzeige_^ID,PRESENT,ACTIVE,GREEN,PageID) endif
    if !BewegungGA and !LichtGA then pdisplay(ID,Anzeige_^ID,FORWARD,INACTIVE,GREEN,PageID) endif
    :end
    wird die Seite nach Druck auf den Button nicht mehr aufgerufen.

    Woran kann's liegen?
    Angehängte Dateien

    #2
    Zitat von Kahler Beitrag anzeigen
    Woran kann's liegen?
    Auf die Schnelle: Schau mal, ob das hier die Frage beantwortet:
    https://knx-user-forum.de/eibpc/2261...bei-plink.html
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      So wie ich das verstehe, soll der Button zum einem einen Status wiedergeben und gleichfalls noch die plink-Funktion erfüllen.
      Sowas bräuchte ich auch. Habe aber bislang keine Möglichkeit der Realisierung gefunden.
      Geht das überhaupt?

      Kommentar


        #4
        Auf die Schnelle: Schau mal, ob das hier die Frage beantwortet:
        Iconsauswahl bei plink
        Also der Fred trifft das Thema genau. Ich habe also die Argumente von plink geändert (GREEN durch SprungzielID ersetzt)
        Code:
        if !BewegungGA and !LichtGA then pdisplay(ID,Anzeige_^ID,FORWARD,INACTIVE,SprungzielID,PageID) endif
        ...was ohne Fehlermeldung compiliert wurde, sonst aber leider wirkungslos blieb, heißt ein Druck auf den Button führt nicht auf die gewünschte Seite.

        Kommentar


          #5
          Also ich hab das mal mit meinen Einstellungen meiner nach hinten geschobenen Baustelle verglichen.
          Code sieht so ähnlich aus, außer das ich den Text fest angebe und nicht Anzeige_ID verwende. Zur Komplexitätsreduzierung ("_" ist ja auch ein besonderes Zeichen wie ich lernen mußte) würde ich empfehlen mal direkt im Text mit $$ zu arbeiten.

          Was mir allerdings erst jetzt aufgefallen ist (seit 2.3xx ist das ganze eine Baustelle, daher sind dann auch die Seiten im Webserver ganz nach hinten gerutscht):
          Der Iconwechsel im pdisplay ist funktionslos. Egal was man wie verändert, der Text verändert sich, nicht aber das Icon. Das bleibt auf dem Initialwert......
          Irgendwann zur 2.3xx kam ja der erweiterte PLINK mit rein. In der ersten Version meine ich hat der Iconwechsel neben dem Textwechsel auch funktioniert. Allerdings wird das Icon nun auch bei mir im pdisplay gänzlich ignoriert (neueste FW und EIBStudio Version).

          Cheers,
          Oliver

          Kommentar


            #6
            Anzeige_ID jetzt durch Text ersetzt, geholfen hat's nix. Der Icon-Wechsel funktioniert bei mir immerhin.

            Kommentar


              #7
              ... Ich blicks grad nimmer....

              Kommentar


                #8
                Hm, also wie im anderen Forumsbeitrag beschrieben geht der Umweg über pdisplay. Das ist zwar nur ein Workaround, aber er geht einwandfrei.
                Bitte mal testen, es geht definitiv.
                GENAU Aufpassen : [WICHTIG]Das letzte Argument gibt das Sprungziel an, nicht etwa die eigene PageID.[/WICHTIG]
                [highlight=epc]
                [WebServer]
                page(1) [$OG$,$Test$]
                pshifter(0) [LIGHT] $Hallo $ plink(1) [DOWN][3] $Textlink zu seidlsjclwdj $
                page(2) [$OG$,$Test2$]
                plink(1) [WEATHER][2] $Textlink zu seidlsjclwdj $
                page(3) [$OG$,$Test3$]
                plink(1) [TEMPERATURE][1] $ Zu Seite 2$
                pshifter(2)[LIGHT] $Springziel auf Seite 1 ändern$
                pshifter(3)[LIGHT] $Springziel auf Seite 10 ändern$
                page(10) [$OG$,$Test10$]
                plink(1) [TEMPERATURE][3] $Zur Seite 3 $
                [EibPC]
                PLINKID=2
                PLINK_PAGE=3
                if pbutton(2,PLINK_PAGE)==1 then pdisplay(1,$Jetzt zu Seite 1$,LIGHT,STATE4,GREY,PLINK_PAGE,1) endif
                if pbutton(3,PLINK_PAGE)==1 then pdisplay(1,$Seite 10 is best$,LIGHT,ACTIVE,GREEN,PLINK_PAGE,10) endif
                [/highlight]
                offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                Enertex Produkte kaufen

                Kommentar

                Lädt...
                X