Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Erledigt] Text farbig in Wertebereichen darstellen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

[Erledigt] Text farbig in Wertebereichen darstellen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
29 Beiträge 4 Kommentatoren 2.7k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SBorgS SBorg

    @chrunchy sagte in Text farbig in Wertebereichen darstellen:

    Nehmen wir z.B. eine Temperatur von 0.5C. Die ist kleiner 1 aber auch größer 0. Welche Farbe soll es denn sein?

    Dann greift bereits die erste Bedingung "v<1" ist wahr und damit "#38FFFF". Es wird immer nur bis zum ersten wahr geprüft.
    Das Ganze ist eine Kurzschreibweise von If-then-(else if)-else

    oder

    WENN ? DANN : SONST

    Dabei muss auch immer das "SONST" angegeben werden, selbst wenn es nie dazu kommen sollte. Ein etwas sinnfreies Beispiel: {v:1; v==1 ? "wahr" : "falsch"}
    Das falsch ("SONST") würde hier nie eintreten, trotzdem muss es angegeben werden (oder man trägt quasi nix dafür ein: ""): {v:1; v==1 ? "wahr" : ""}
    Anstelle des "SONST" kann man dann natürlich wieder eine neue WENN ? DANN : SONST - Bedingung eintragen ;): WENN ? DANN : WENN ? DANN : SONST

    C Offline
    C Offline
    Chrunchy
    schrieb am zuletzt editiert von
    #21

    @sborg Mir ist das klar. ;-) @Crazy32 ist derjenige, der hier Unterstützung braucht.

    Deshalb prüfe ich bei mir auch nur die Werte kleiner als und nicht das verschachtelte (v>1 und v<30) o.ä.

    Das einzige was ich noch nicht ganz verstanden habe ist der Unterschied zwischen

    {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" :: v < 30 ? "#4CAF50" :: v < 70 ? "#FFEB3B" :: "#F44336"} 
    

    und

    {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" : v < 30 ? "#4CAF50" : v < 70 ? "#FFEB3B" : "#F44336"} 
    

    also warum einmal einfache und einmal doppelte Doppelpunkte.
    Vielleicht kannst du mir das erläutern.

    Mein aktuelles Binding ist das obere und es funktioniert wie es soll.

    Gruß Chrunchy

    OliverIOO SBorgS 2 Antworten Letzte Antwort
    1
    • Crazy32C Offline
      Crazy32C Offline
      Crazy32
      schrieb am zuletzt editiert von
      #22

      Ok, Leerzeichen entfernt, in der Runtime wird der Text in der Farbe #38FFFF dargestellt. Super :+1: Allerdings werden in der developer console immer noch Fehler angezeigt. Daraufhin habe ich den Code geändert und <= eingesetzt.

      {v:deconz.0.Sensors.8.temperature; (v<1) ? "#38FFFF" : (v>=1 && v<20) ? "#507FFF" : (v>=20 && v<26) ? "#02AF00" : (v>=26 && v<30) ? "#FFA400" : (v>=30 && v<50) ? "#D70A00" : " "}
      

      Der Text wird weiterhin in der richtigen Farbe dargestellt, was ja schon mal super ist, allerdings sind die Fehlermeldungen noch da.

      Screenshot 2021-02-12 115843.png

      Was mich wundert, warum ist in der developer console nichts von den <= zu sehen? Im Widget ist es eingetragen.

      @OliverIO Der Test mit dem HTML-Widget hat geklappt, in der Runtime wurde der Text #38FFFF angezeigt.

      Soll ich die Fehlermeldungen ignorieren? :grimacing:

      OliverIOO 1 Antwort Letzte Antwort
      0
      • C Chrunchy

        @sborg Mir ist das klar. ;-) @Crazy32 ist derjenige, der hier Unterstützung braucht.

        Deshalb prüfe ich bei mir auch nur die Werte kleiner als und nicht das verschachtelte (v>1 und v<30) o.ä.

        Das einzige was ich noch nicht ganz verstanden habe ist der Unterschied zwischen

        {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" :: v < 30 ? "#4CAF50" :: v < 70 ? "#FFEB3B" :: "#F44336"} 
        

        und

        {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" : v < 30 ? "#4CAF50" : v < 70 ? "#FFEB3B" : "#F44336"} 
        

        also warum einmal einfache und einmal doppelte Doppelpunkte.
        Vielleicht kannst du mir das erläutern.

        Mein aktuelles Binding ist das obere und es funktioniert wie es soll.

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #23

        @chrunchy sagte in Text farbig in Wertebereichen darstellen:

        {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" :: v < 30 ? "#4CAF50" :: v < 70 ? "#FFEB3B" :: "#F44336"}

        und das untere funktioniert nicht?

        Das mit den beiden Doppelpunkten ist eigentlich syntaktisch falsch.
        allerdings, kommt es an der Stelle wo es in vis interpretiert wird richtig an. Hab gerade nachgeschaut.
        Daher hast du Glück und der Fehler wird durch den, nennen wir es mal Binding-Interpreter, vor Ausführung korrigiert.

        Wer selber schauen will. Die Ausführung von dieser Art von Bindings erfolgt in der Datei vis.js in Zeile 2472 und sieht wie folgt aus:

                                        value = new Function(string)();
        

        Wie oben schon gesagt wird jedes Binding hier mehrals in verschiedenen Variationen durchgejagt, nur das letzte Ergebnis ist das richtige Ergebnis

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        1
        • Crazy32C Crazy32

          Ok, Leerzeichen entfernt, in der Runtime wird der Text in der Farbe #38FFFF dargestellt. Super :+1: Allerdings werden in der developer console immer noch Fehler angezeigt. Daraufhin habe ich den Code geändert und <= eingesetzt.

          {v:deconz.0.Sensors.8.temperature; (v<1) ? "#38FFFF" : (v>=1 && v<20) ? "#507FFF" : (v>=20 && v<26) ? "#02AF00" : (v>=26 && v<30) ? "#FFA400" : (v>=30 && v<50) ? "#D70A00" : " "}
          

          Der Text wird weiterhin in der richtigen Farbe dargestellt, was ja schon mal super ist, allerdings sind die Fehlermeldungen noch da.

          Screenshot 2021-02-12 115843.png

          Was mich wundert, warum ist in der developer console nichts von den <= zu sehen? Im Widget ist es eingetragen.

          @OliverIO Der Test mit dem HTML-Widget hat geklappt, in der Runtime wurde der Text #38FFFF angezeigt.

          Soll ich die Fehlermeldungen ignorieren? :grimacing:

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von OliverIO
          #24

          @crazy32 sagte in Text farbig in Wertebereichen darstellen:

          Ok, Leerzeichen entfernt, in der Runtime wird der Text in der Farbe #38FFFF dargestellt. Super :+1: Allerdings werden in der developer console immer noch Fehler angezeigt. Daraufhin habe ich den Code geändert und <= eingesetzt.

          {v:deconz.0.Sensors.8.temperature; (v<1) ? "#38FFFF" : (v>=1 && v<20) ? "#507FFF" : (v>=20 && v<26) ? "#02AF00" : (v>=26 && v<30) ? "#FFA400" : (v>=30 && v<50) ? "#D70A00" : " "}
          

          Der Text wird weiterhin in der richtigen Farbe dargestellt, was ja schon mal super ist, allerdings sind die Fehlermeldungen noch da.

          Screenshot 2021-02-12 115843.png

          Was mich wundert, warum ist in der developer console nichts von den <= zu sehen? Im Widget ist es eingetragen.

          @OliverIO Der Test mit dem HTML-Widget hat geklappt, in der Runtime wurde der Text #38FFFF angezeigt.

          Soll ich die Fehlermeldungen ignorieren? :grimacing:

          ja, das sind die Fehlermeldungen noch von dem vorherigen Versuch, wo das Leerzeichen drin ist und der Falsch-Anteil der letzten Prüfung fehlt.
          Die Prüfungen waren vorher schon in Ordnung. Wie du die Wertebereiche Abfragst ist Geschmackssache (v>0&&v<10) oder (v>0&&<=9) ist ja exakt das selbe.

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          C 1 Antwort Letzte Antwort
          1
          • Crazy32C Offline
            Crazy32C Offline
            Crazy32
            schrieb am zuletzt editiert von
            #25

            Ah ok, danke. Ihr habt mir sehr geholfen...mal wieder :-)

            @SBorg Danke für die Erklärung :+1:

            1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @crazy32 sagte in Text farbig in Wertebereichen darstellen:

              Ok, Leerzeichen entfernt, in der Runtime wird der Text in der Farbe #38FFFF dargestellt. Super :+1: Allerdings werden in der developer console immer noch Fehler angezeigt. Daraufhin habe ich den Code geändert und <= eingesetzt.

              {v:deconz.0.Sensors.8.temperature; (v<1) ? "#38FFFF" : (v>=1 && v<20) ? "#507FFF" : (v>=20 && v<26) ? "#02AF00" : (v>=26 && v<30) ? "#FFA400" : (v>=30 && v<50) ? "#D70A00" : " "}
              

              Der Text wird weiterhin in der richtigen Farbe dargestellt, was ja schon mal super ist, allerdings sind die Fehlermeldungen noch da.

              Screenshot 2021-02-12 115843.png

              Was mich wundert, warum ist in der developer console nichts von den <= zu sehen? Im Widget ist es eingetragen.

              @OliverIO Der Test mit dem HTML-Widget hat geklappt, in der Runtime wurde der Text #38FFFF angezeigt.

              Soll ich die Fehlermeldungen ignorieren? :grimacing:

              ja, das sind die Fehlermeldungen noch von dem vorherigen Versuch, wo das Leerzeichen drin ist und der Falsch-Anteil der letzten Prüfung fehlt.
              Die Prüfungen waren vorher schon in Ordnung. Wie du die Wertebereiche Abfragst ist Geschmackssache (v>0&&v<10) oder (v>0&&<=9) ist ja exakt das selbe.

              C Offline
              C Offline
              Chrunchy
              schrieb am zuletzt editiert von
              #26

              @oliverio sagte in Text farbig in Wertebereichen darstellen:

              Die Prüfungen waren vorher schon in Ordnung. Wie du die Wertebereiche Abfragst ist Geschmackssache (v>0&&v<10) oder (v>0&&<=9) ist ja exakt das selbe.

              Aber nur bei der Prüfung auf INT-Werten. ;-)
              Bei FLOAT-Werten sieht es anders aus. Bei 9 Grad greifen beide Vergleiche, bei 9,1 Grad dann aber nur noch der erste.

              Zu deiner anderen Frage bzgl. des Binding mit 2 Doppelpunkten. Das hatte ich so gefunden, als ich damals danach gesucht habe. mit einfachen Doppelpunkten funktioniert es auch, habe ich gerade getestet. Wenn die 2 Doppelpunkte nun falsch sind, wie du sagst, dann werde ich mich demnächst mal dran begeben und die Bindings bei mir überarbeiten.

              Gruß Chrunchy

              OliverIOO 1 Antwort Letzte Antwort
              0
              • C Chrunchy

                @oliverio sagte in Text farbig in Wertebereichen darstellen:

                Die Prüfungen waren vorher schon in Ordnung. Wie du die Wertebereiche Abfragst ist Geschmackssache (v>0&&v<10) oder (v>0&&<=9) ist ja exakt das selbe.

                Aber nur bei der Prüfung auf INT-Werten. ;-)
                Bei FLOAT-Werten sieht es anders aus. Bei 9 Grad greifen beide Vergleiche, bei 9,1 Grad dann aber nur noch der erste.

                Zu deiner anderen Frage bzgl. des Binding mit 2 Doppelpunkten. Das hatte ich so gefunden, als ich damals danach gesucht habe. mit einfachen Doppelpunkten funktioniert es auch, habe ich gerade getestet. Wenn die 2 Doppelpunkte nun falsch sind, wie du sagst, dann werde ich mich demnächst mal dran begeben und die Bindings bei mir überarbeiten.

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #27

                @chrunchy sagte in Text farbig in Wertebereichen darstellen:

                @oliverio sagte in Text farbig in Wertebereichen darstellen:

                Die Prüfungen waren vorher schon in Ordnung. Wie du die Wertebereiche Abfragst ist Geschmackssache (v>0&&v<10) oder (v>0&&<=9) ist ja exakt das selbe.

                Aber nur bei der Prüfung auf INT-Werten. ;-)
                Bei FLOAT-Werten sieht es anders aus. Bei 9 Grad greifen beide Vergleiche, bei 9,1 Grad dann aber nur noch der erste.

                Zu deiner anderen Frage bzgl. des Binding mit 2 Doppelpunkten. Das hatte ich so gefunden, als ich damals danach gesucht habe. mit einfachen Doppelpunkten funktioniert es auch, habe ich gerade getestet. Wenn die 2 Doppelpunkte nun falsch sind, wie du sagst, dann werde ich mich demnächst mal dran begeben und die Bindings bei mir überarbeiten.

                Wie schon oben gepostet, das macht vis daraus. Das ist der original-Operator von javascript
                https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • C Chrunchy

                  @sborg Mir ist das klar. ;-) @Crazy32 ist derjenige, der hier Unterstützung braucht.

                  Deshalb prüfe ich bei mir auch nur die Werte kleiner als und nicht das verschachtelte (v>1 und v<30) o.ä.

                  Das einzige was ich noch nicht ganz verstanden habe ist der Unterschied zwischen

                  {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" :: v < 30 ? "#4CAF50" :: v < 70 ? "#FFEB3B" :: "#F44336"} 
                  

                  und

                  {v:hm-rpc.2.xxx.1.LEVEL;v < 1 ? "" : v < 30 ? "#4CAF50" : v < 70 ? "#FFEB3B" : "#F44336"} 
                  

                  also warum einmal einfache und einmal doppelte Doppelpunkte.
                  Vielleicht kannst du mir das erläutern.

                  Mein aktuelles Binding ist das obere und es funktioniert wie es soll.

                  SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #28

                  @chrunchy sagte in Text farbig in Wertebereichen darstellen:

                  also warum einmal einfache und einmal doppelte Doppelpunkte.
                  Vielleicht kannst du mir das erläutern.

                  Das kann aber ich ;)
                  Als damals das Thema Binding aufkam, war ich einer der Ersten die dafür Beispiele gepostet haben und Hilfestellung dazu gaben. Merkt man daran, dass in vielen Bindings "v" bzw. "wert" benutzt wird. Das sind "meine" Variablen, ähnlich dem typischen "i" in For-Next-Schleifen, "a b c" beim Satz des Pythagoras usw. Man hat sich das einfach so angewöhnt weil man es so gelernt/gesehen hat. Die For-Next-Schleife funktioniert genauso mit "blabla", ich nutze aber auch immer "i" :grin:
                  ...und weil ich, wie die meisten, tippfaul bin, arbeite ich natürlich auch mit C&P. Dabei habe ich einfach mal einen ":" zu viel erwischt und nicht bemerkt, da es trotz des "::" funktioniert. So hat sich das leider verbreitet, da es Unmengen an Beispielen von Bindings hier gibt in denen es falsch ist und es sich jeder weiter ab schaut.
                  Da hat es @OliverIO mit seinem gelegentlich fehlenden ";" deutlich "einfacher" ( ;) ). Da funktioniert das Binding nicht und er kann (und tut es auch) es zeitnah korrigieren.

                  LG SBorg ( SBorg auf GitHub)
                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                  C 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    @chrunchy sagte in Text farbig in Wertebereichen darstellen:

                    also warum einmal einfache und einmal doppelte Doppelpunkte.
                    Vielleicht kannst du mir das erläutern.

                    Das kann aber ich ;)
                    Als damals das Thema Binding aufkam, war ich einer der Ersten die dafür Beispiele gepostet haben und Hilfestellung dazu gaben. Merkt man daran, dass in vielen Bindings "v" bzw. "wert" benutzt wird. Das sind "meine" Variablen, ähnlich dem typischen "i" in For-Next-Schleifen, "a b c" beim Satz des Pythagoras usw. Man hat sich das einfach so angewöhnt weil man es so gelernt/gesehen hat. Die For-Next-Schleife funktioniert genauso mit "blabla", ich nutze aber auch immer "i" :grin:
                    ...und weil ich, wie die meisten, tippfaul bin, arbeite ich natürlich auch mit C&P. Dabei habe ich einfach mal einen ":" zu viel erwischt und nicht bemerkt, da es trotz des "::" funktioniert. So hat sich das leider verbreitet, da es Unmengen an Beispielen von Bindings hier gibt in denen es falsch ist und es sich jeder weiter ab schaut.
                    Da hat es @OliverIO mit seinem gelegentlich fehlenden ";" deutlich "einfacher" ( ;) ). Da funktioniert das Binding nicht und er kann (und tut es auch) es zeitnah korrigieren.

                    C Offline
                    C Offline
                    Chrunchy
                    schrieb am zuletzt editiert von
                    #29

                    @sborg Vielen Dank für die Erläuterung.

                    Gruß Chrunchy

                    1 Antwort Letzte Antwort
                    0
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    865

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    Themen

                    1.3m

                    Beiträge
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                    ioBroker Community 2014-2025
                    logo
                    • Anmelden

                    • Du hast noch kein Konto? Registrieren

                    • Anmelden oder registrieren, um zu suchen
                    • Erster Beitrag
                      Letzter Beitrag
                    0
                    • Home
                    • Aktuell
                    • Tags
                    • Ungelesen 0
                    • Kategorien
                    • Unreplied
                    • Beliebt
                    • GitHub
                    • Docu
                    • Hilfe