Ankündigung

Einklappen
Keine Ankündigung bisher.

Formeln in Visu-Elementen -> Weitere PHP-Operatoren und Funktionen?

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

    Formeln in Visu-Elementen -> Weitere PHP-Operatoren und Funktionen?

    Für bestimmte Zwecke braucht es ein paar Operatoren und Funktionen, damit man z.B. bei einem KO-Wert von 100 bis 199 einen "1" ableiten kann, von 200 bis 299 eine "2",...usw. Leider war mit den gegebenen Möglichkeiten nicht erfolgreich - okay, mag an mir gelegen haben...

    Derzeit unterstützt PHP-Funktionen:

    * Operatoren *, -, +, /
    * round()
    * left()
    * fixed()

    Auf meiner Wunschliste steht

    * floor()
    * ceil()
    * intdiv()

    @Christian: Verwegen oder machbar?

    #2
    Machbar Da ist noch längst nicht das Ende der Fahnenstange erreicht - ich brauchte ganz einfach nur die bislang angebotenen Funktionen. Übrigens sind es noch mehr - siehe Doku (allerdings nur für RGB/HSV/etc.). Und ausserdem sind dies alles keine PHP-Funktionen, sondern JS-Funktionen
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #3
      ja, die RGB-Funktionen haben ich hier mal weggelassen, da sie A) in der PDF-Doku stehen und B) für die CSS-Verwendung (z.B. KO-abhängige Positionierung von Objekten) nicht so relevant sind. Konkret geht es mir hier ebenfalls um eine modulare Menü-Lösung. Am Ende möchte ich die gesamte Menüsteuerung und Darstellung (z.B: Hervorheben ausgewählter Funktion) komplett in der Menü-Seite abdecken. Die Seiten mit den eigentlichen Funktionen können dann gänzlich frei bleiben von derlei Objekten und sich ganz auf die eigentliche Funktion konzentrieren.

      EDIT: Hintergrund ist, dass ich für jede Seite eine eindeutige ID in einem KO ablege (pro Visu). Das ganze gruppiert z.B. alle Seiten mit 1xx für Licht, 2xx für Verschattung,... Die Markierung der Menüobjekte muss natürlich für alle Objekte einer Funktion gleich bleiben...
      Zuletzt geändert von saegefisch; 06.03.2016, 19:10.

      Kommentar


        #4
        Im nächsten Update sind folgende Funktionen enthalten (weitere Wünsche?):

        Mathematische Funktionen
        abs(x) //absoluter Wert
        floor(x) //Wert abrunden
        ceil(x) //Wert aufrunden
        pow(x,y) //Potenzieren
        sqrt(x) //Quadratwurzel
        log(x) //Logarithmus
        sin(x) //Sinus
        cos(x) //Cosinus
        tan(x) //Tangens
        round(x) //Wert runden
        fixed(x,anz) //Wert auf "anz" Nachkommastellen bringen

        String-Funktionen
        left(anz) //"anz" Zeichen von links des KO-Werts (String) ausgeben
        right(anz) //"anz" Zeichen von rechts des KO-Werts (String) ausgeben
        mid(pos,anz) //"anz" Zeichen ab der Position "pos" des KO-Werts (String) ausgeben ("pos" beginnt mit 0)
        replace(n1,n2) //ersetzt jedes Vorkommen von "n1" durch "n2"
        lcase() //wandelt den KO-Wert in Kleinbuchstaben um
        ucase() //wandelt den KO-Wert in Großbuchstaben um
        trim() //entfernt "whitespace" am Anfang und Ende des KO-Werts

        Spezielle Funktionen
        hsvrgb() //KO-Wert (Hex-String) von HSV in RGB umwandeln (keine Parameter!)
        hsvlight() //KO-Wert (Hex-String) von HSV in RGBA umwandeln (keine Parameter!)
        rgblight() //KO-Wert (Hex-String) von RGB in RGBA umwandeln (keine Parameter!)
        Zuletzt geändert von gaert; 07.03.2016, 14:33.
        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          #5
          Ach herrje! Dass Du es immer so übertreiben musst...

          Super! Danke. Ich wollte es des Aufwands wegen klein halten, aber so ist natürlich viel besser.

          Kommentar


            #6
            Vielleicht habe ich es noch nicht gefunden / erkannt … ist es möglich den Text z.B. linksbündig um x Pixel von links zu formatieren (nicht nur die Textposition im „Rahmen“) ?
            Danke und LG, Dariusz
            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

            Kommentar


              #7
              Klar: "Innenabstand" - falls Du das meinst... Bezieht sich auf rechts- und linksbündigen Textinhalt.
              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

              Kommentar


                #8
                Ahhhh, gefunden :-) danke !
                D.h., dass es nur eine „Korrektur“ der Position in der Schriftrichtung ist, nicht nach oben und unten ?
                Sorry für die Fragen, ich habe mit der VISU so gut wie noch garnicht am Hut - es beginnt gaaaanz langsam (finde PHP, wenn auch langsam, interessanter) ...
                Danke und LG, Dariusz
                GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                Kommentar


                  #9
                  Innenabstand bedeutet, dass der Text z.B. 10px von der äußeren Begrenzung des Visuelements nach innen "abgerückt" wird.

                  Oben und unten gibt's nicht, da der Text immer vertikal zentriert ist.

                  Das Padding ist übrigens unter bestimmten Umständen noch nicht ganz korrekt - ist aber schon behoben (im nächsten Update).
                  EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                  Kommentar


                    #10
                    Ich habe noch folgende Funktionen ergänzt (siehe oben):

                    replace(n1,n2) //ersetzt jedes Vorkommen von "n1" durch "n2"
                    lcase() //wandelt den KO-Wert in Kleinbuchstaben um
                    ucase() //wandelt den KO-Wert in Großbuchstaben um
                    trim() //entfernt "whitespace" am Anfang und Ende des KO-Werts
                    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                    Kommentar


                      #11
                      Ich habe die Doku mal entsprechend erweitert (Tabelle auf Seite 34) - ist übersichtlicher als hier
                      EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                      Kommentar


                        #12
                        Wie kann ich mit einem RGB Wert die Farbe eines Elementes anzeigen lassen?

                        wenn ich " {​rgblight(#)} " angebe sehe ich in der Visu nur die RGBA Ausgabewerte

                        Kommentar


                          #13
                          Die Funktion wird mit {rgblight()} aufgerufen - ohne das #. Dieser Ausdruck wird dann durch rgba(...) ersetzt, also ein CSS-tauglicher RGB-Wert mit Alpha-Kanal.
                          EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                          Kommentar


                            #14
                            ich steh auf dem Schlauch, in solchen Sachen bin ich total der Noob.

                            ​Entschuldige wenn ich fragen muss wie das dann als Zeile aussehen muss, damit dann auch der Wert vom KO übernommen wird

                            Kommentar


                              #15
                              Kein Problem

                              Du musst eine Farbe(!) mit diesem Wert definieren, also z.B. eine Vordergrundfarbe anlegen (in der Konfiguration), dort gibst Du als Definition einfach nur dies an:
                              {rgblight()}

                              Jetzt kannst Du schon per Vorschau testen, z.B. als Wert 880000 eingeben - und schon wird ein "mittleres Rot" angezeigt mit ca. 50% Transparenz.

                              Dieser Farbe kannst Du nun in Deinem Visuelement verwenden und per KO (des Visuelements) steuern.
                              EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

                              Kommentar

                              Lädt...
                              X