Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Datenkonvertierung "10 %" -> 10

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Datenkonvertierung "10 %" -> 10

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      malc last edited by

      Hallo!

      Ich bin noch recht neu in der IOBroker Welt und noch so firm in der Suchformulierung 🙂

      Mein Problem ist das ich die Farbe einer Anzeige basierend auf dem Wert darstellen mächte.

      Das klappt soweit gut doch bekomme ich den Wert nicht als numerisch sondern eben mit einem Prozentwert bzw. als String.

      Gibt es einfachen Weg aus "10 %" den numerischen Wert 10 zu konvertieren?

      Mein Aufruf lautet:

      {v:ble.0.c4:7c:8d:63:7d:91.humidity;v < 20 ? "#d60505" :: v < 60 ? "#14d229" :: "#1d14d2"}

      Da aber eben da Prozentzeichen darin steht klappt das nicht. Ich suche da den idealen Weg, doch finde ich kein Beispiel.

      Malc

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        kannst du diese Werte ggf. mit dem Parser-Adpter auslesen (und zurechtschneiden)?

        Gruß

        Rainer

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          parseInt(value,10) sollte tun

          1 Reply Last reply Reply Quote 0
          • M
            malc last edited by

            Vielen Dank für den Tipp!

            @apollon77:

            parseInt(value,10) sollte tun `

            Ich habe das mal so versucht:

            {v:parseInt(ble.0.c4:7c:8d:63:81:66.humidity,4);v < 20 ? "#d60505" :: v < 60 ? "#14d229" :: "#1d14d2"}

            Wenn ich ble.0.c4:7c:8d:63:81:66.humidity in einem Textwidget anzeigen lasse steht da nur der Wert ohne Einheit. Bin ich da vielleicht auf der falschen Richtung? Im Objektexplorer habe ich die Einheit dahinterstehen. Daher dachte ich das meine Ermittlung daran scheitert.

            Aber da komme ich noch nicht weiter,

            habe ich was falsch verstanden?

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              parseInt(val, 10) macht aus dem String eine Zahl. Damit ist die Maßeinheit weg.

              Mache doch einen Stringvergleich:

              {v:ble.0.c4:7c:8d:63:7d:91.humidity;v < '20 %' ? "#d60505" :: v < '60 %' ? "#14d229" :: "#1d14d2"}
              

              So ist es ein Zahlenvergleich (ohne Maßeinheit):

              {v:parseInt(ble.0.c4:7c:8d:63:81:66.humidity, 10);v < 20 ? "#d60505" :: v < 60 ? "#14d229" :: "#1d14d2"}
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              945
              Online

              32.1k
              Users

              80.7k
              Topics

              1.3m
              Posts

              4
              5
              269
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo