Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Hilfe bei Macro benötigt

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

    - √ - Hilfe bei Macro benötigt

    Hallo,

    ich habe mal versucht ein Standard Macro anzupassen, doch irgendwie funktioniert es nicht richtig.

    Ich hoffe das irgend jemand von euch meinen Fehler sieht.

    Das Macro soll eigentlich nur eine Variable zwischen EIN und AUS toggeln wenn man im Webserver auf den Button drückt.

    Hier das Macro:

    Code:
    :begin PWebVariablenInfoEinAus(ID,Variable,pageID)
    :info $Eine Info Anzeige$
    $ID des Webobjektes$
    $Variable$
    $ID der Seite$
    :shortinfo $Eine Anzeige für Variablen$
    if after(Systemstart(),15000u64) then \\
    pdisplay(ID,Variable,INFO,INACTIVE,GREY,pageID) \\
    endif
    if pbutton(ID,pageID)==1 and Variable==EIN then \\
    Variable=AUS \\
    endif
    if pbutton(ID,pageID)==1 and Variable==AUS then \\
    Variable=EIN \\
    endif
    //Wenn sich was ändert, dann auch visualisieren
    if change(Variable) then \\
    pdisplay(ID,Variable,INFO,INACTIVE,GREY,pageID) \\
    endif
    :end
    Danke und Grüße
    Jens

    #2
    Tach Jens,

    Zitat von Jens
    Das Macro soll eigentlich nur eine Variable zwischen EIN und AUS toggeln wenn man im Webserver auf den Button drückt.
    Code:
    [COLOR=Blue]if pbutton(ID,pageID)==1 and Variable==EIN then \\
    Variable=AUS \\
    endif[/COLOR]
    
    if pbutton(ID,pageID)==1 and [COLOR=Blue]Variable==AUS[/COLOR] then \\
    Variable=EIN \\
    endif
    Wenn die erste if Anweisung ausgeführt wird und die Variable auf AUS gesetzt wird, dann wird automatisch die nachfolgende if-Abfrage wahr, weil im gleichen Verarbeitungszyklus der pbutton noch == 1 ist und nun auch noch Variable auf AUS ist.
    Daher wird die Variable gleich wieder auf EIN gesetzt.

    Schau mal im Dokument zum Validierungskonzept.

    Gruß,
    Bernd

    Kommentar


      #3
      BMX hat recht,

      [highlight=epc]
      if pbutton(ID,pageID)==1 then {
      Variable=!Variable
      }endif
      [/highlight]
      wäre wohl die Lösung.
      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
      Enertex Produkte kaufen

      Kommentar


        #4
        und ich suche schon seit Tagen.....

        Danke für die Hilfe.
        Ich habe den Code eingefügt und es funktioniert.

        Danke euch beiden.

        Grüße
        Jens

        Kommentar

        Lädt...
        X