Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Lovelace zeigt keine gerundeten Werte

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Lovelace zeigt keine gerundeten Werte

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

      Falls Thread eher in Visualisierung passt, bitte verschieben - Danke.

      Vielleicht hat Jemand einen Tipp:

      In Lovelace bekomme ich regelmäßig keine gerundeten Werte angezeigt, obwohl ich nach meinem Verständnis die Werte vor der Auswertung in Lovelace runde.

      • DECT-Gerät liefert Werte in Wh, also 5-stellig
      • alias-DP soll in kWh auf eine (versuchsweise 2) Stellen runden
      • dieser DP steht in der history zur Verfügung
      • Lovelace liefert Zahlenwurm

      Dann - nach einiger Zeit - passt die Anzeige wieder.
      Versuche, beim konvertieren bzw. berechnen die Lösung zu finden, schlugen fehl.
      Die Konvertierung auch beim Schreiben einzusetzen, hat nix geändert.,

      Auch wenn das nicht unbedingt überlebenswichtig ist, wüsste ich gern, woran das liegenen mag.
      Any idea?

      keine_rundung1.png

      keine_rundung2.png

      keine_rundung3.png

      keine_rundung4.png

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

        @wcag22
        Die Schreibkonvertierung ist bei "read only" DP überflüssig. Außerdem wäre sie falsch.
        Rundung Wh --> kWh auf 2 Nachkommastellen:

        Math.round(val / 10) / 100
        
        wcag22 1 Reply Last reply Reply Quote 0
        • wcag22
          wcag22 @paul53 last edited by

          @paul53 sagte in Lovelace zeigt keine gerundeten Werte:

          @wcag22
          Die Schreibkonvertierung ist bei "read only" DP überflüssig.

          Danke, das war mir nicht bewusst. Es war auch nur der Versuch, herauszufinden, warum Lovelace keine gerundeten Wert anzeigt. Selbiges - wie erwähnt - probehalber auf 2 Stellen nach dem Komma.

          Außerdem wäre sie falsch.
          Rundung Wh --> kWh auf 2 Nachkommastellen:

          Math.round(val / 10) / 100
          

          Sorry, das verstehe ich nicht. Ich rechne ja auch nicht "1000 /2 /5 " um auf den Wert 100 zu kommen.
          Was ist an val( /1000) falsch?
          Es sei denn, JS / ioB rechnet intern anders.

          Aber gut, ich werde es mal probieren.

          Aber das ist aus meiner Sicht auch gar nicht das Problem. Der berechnete und gerundete Wert steht ja in der history und im DP der Objekte korrekt zur Verfügung. Und die Addition klappt ja auch.

          Woher nimmt Lovelace also den Wert mit 13 Nachkommastellen?
          DAS würde ich gern wissen 🙂

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

            @wcag22 sagte: Was ist an val( /1000) falsch?

            Es ist prinzipiell nicht falsch, aber du wandelst mit .toFixed(2) erst in einen String und diesen anschließend mit parseFloat() in eine Zahl.

            @wcag22 sagte: Woher nimmt Lovelace also den Wert mit 13 Nachkommastellen?

            Das passiert bei Berechnungen mit Gleitkommawerten. Bei gerundetem Wert / 100 passiert es nach meiner Erfahrung nicht, wobei die Addition von 1008.8 so etwas verursachen kann. Versuche es mal mit

            Math.round(val / 10 + 100880) / 100
            

            Blockly_temp.JPG

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

              @paul53 sagte in Lovelace zeigt keine gerundeten Werte:

              Es ist prinzipiell nicht falsch, aber du wandelst mit .toFixed(2) erst in einen String und diesen anschließend mit parseFloat() in eine Zahl.

              Ich habe es geahnt 🙂
              Bei der Beschäftigung mit der round() Funktion habe ich völlig unterschiedliche Werte erhalten. Mal etwas zu wenig, mal völlig daneben. Und da schwante mir schon so etwas. Aber ich hätte es nicht benennen können.
              Und richtig: ohne die Addition war alles ok.
              Das wird es wohl gewesen sein. Ich danke Dir für die Hilfe. Dann schaun wir mal, ob Lovelace jetzt Ruhe gibt.
              Ich setze den Thread auf gelöst.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              368
              Online

              32.0k
              Users

              80.3k
              Topics

              1.3m
              Posts

              2
              5
              80
              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