Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Zahlenformate in Node-RED Dashboard

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    893

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Zahlenformate in Node-RED Dashboard

Scheduled Pinned Locked Moved Node-Red
10 Posts 3 Posters 12.3k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mickymM Online
    mickymM Online
    mickym
    Most Active
    wrote on last edited by mickym
    #1

    Ich betreibe node-red auch als iobroker-Adapter und bin ein wirklicher Fan dieses Programms und würde auch ungern auf einen anderen Logik-Prozessor (blockly etc.) umsteigen.
    Ich habe nur - weder in der node-red Dokumentation - noch hier irgendeine Möglichkeit gefunden oder weiß nicht, wie ich das deutsche Zahlenformat - zumindest im Dashboard - umstellen kann.

    Die Punkte - bei Dezimalzahlen da gewöhnt man sich ja noch dran - aber das Komma als Tausender Trennzeichen finde ich in der Darstellung störend. Kann mir hier jemand eine Beschreibung geben, wie man das umstellen kann?

    Danke für die Hilfe im Voraus!

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Reply Last reply
    0
    • mickymM Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by
      #2

      Keiner eine Idee?

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      F 3 Replies Last reply
      0
      • mickymM mickym

        Keiner eine Idee?

        F Offline
        F Offline
        frankyboy73
        wrote on last edited by
        #3

        @mickym
        Hi, ich weiß wohl wie man nen Punkt durch ein Komma ersetzt. Dazu nimmst du ne Funktion Node und da kommt folgendes rein. Je nach dem wie deine Message heißt natürlich, in diesem Beispiel gehe ich von msg.payload aus.

        msg.payload = msg.payload.replace('.', ',');
        return msg;
        

        Wie man allerdings den Punkt bei den Tausendern entfernt, weiß ich leider nicht. Hat mich auch noch nie gestört, da ich bei Tausenden nicht mehr mit Nachkommastellen arbeite oder sie Runde falls es Nachkommastellen gibt. Aber das müsste eigentlich auch jemand wissen der sich mit Javascript gut auskennt.

        Schöne Grüße Frank

        1 Reply Last reply
        0
        • mickymM mickym

          Keiner eine Idee?

          F Offline
          F Offline
          frankyboy73
          wrote on last edited by
          #4

          @mickym
          Hi, habs gerade mal getestet, das hier würde dir den Punkt entfernen, aber wenn du nen Tausender Wert mit Nachkommastelle hast, ist der Punkt für Komma auch weg. Oder wenn du die Nachkommastelle nicht brauchst, kannst du den Wert vorher Runden.

          msg.payload = msg.payload.replace('.', '');
          return msg;
          
          msg.payload = Math.round(msg.payload);
          msg.payload = msg.payload.replace('.', '');
          return msg;
          

          Schöne Grüße Frank

          1 Reply Last reply
          0
          • mickymM mickym

            Keiner eine Idee?

            F Offline
            F Offline
            frankyboy73
            wrote on last edited by
            #5

            @mickym
            Hi, habe noch weiter getestet, da wird wohl immer nur der erste Punkt weggenommen, der zweite bleibt. Dann wäre das ja,das wonach du suchst.
            Oder du nimmst das hier, dann wird der erste Punkt weggenommen und der zweite durch ein Komma ersetzt.

            msg.payload = msg.payload.replace('.', '');
            msg.payload = msg.payload.replace('.', ',');
            return msg;
            

            Schöne Grüße Frank

            1 Reply Last reply
            0
            • mickymM Online
              mickymM Online
              mickym
              Most Active
              wrote on last edited by
              #6

              Hi @frankyboy73 vielen Dank - aber das ist leider nicht das was ich suche. Ich will die Zahlenformate nicht durch Wandlung in Strings und anschließender Stringmanipulation erreichen.

              Das Problem ist die Darstellung in dem Dashboard. Da aber zum Beispiel das Gauge oder auch andere Elemente nur Zahlen als Input verarbeiten um korrekt zur funktionieren, ist also die Stringmanipulation keine Lösung. Ich werde mal den Titel ändern wenn das noch geht.

              Ein Möglichkeit wären ja die Angular - Filter wie in den Node-Beschreibungen beschrieben.

              The msg.payload is searched for a numeric value and is formatted in accordance with the defined Value Format, which can then be formatted using Angular filters.
              For example : {{value | number:1}}% will round the value to one decimal place and append a % sign.

              Im Prinzip muss ja nur das Node-Red Dashboard lokalisiert werden.

              Ich kann hier immer nur was der I18n libary zu lesen - das übersteigt aber meinen Horizont, wie alles zusammenhängt.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              F 1 Reply Last reply
              0
              • mickymM mickym

                Hi @frankyboy73 vielen Dank - aber das ist leider nicht das was ich suche. Ich will die Zahlenformate nicht durch Wandlung in Strings und anschließender Stringmanipulation erreichen.

                Das Problem ist die Darstellung in dem Dashboard. Da aber zum Beispiel das Gauge oder auch andere Elemente nur Zahlen als Input verarbeiten um korrekt zur funktionieren, ist also die Stringmanipulation keine Lösung. Ich werde mal den Titel ändern wenn das noch geht.

                Ein Möglichkeit wären ja die Angular - Filter wie in den Node-Beschreibungen beschrieben.

                The msg.payload is searched for a numeric value and is formatted in accordance with the defined Value Format, which can then be formatted using Angular filters.
                For example : {{value | number:1}}% will round the value to one decimal place and append a % sign.

                Im Prinzip muss ja nur das Node-Red Dashboard lokalisiert werden.

                Ich kann hier immer nur was der I18n libary zu lesen - das übersteigt aber meinen Horizont, wie alles zusammenhängt.

                F Offline
                F Offline
                frankyboy73
                wrote on last edited by frankyboy73
                #7

                @mickym
                Ah, ok. Da kann ich dir leider nicht weiterhelfen.
                Das könnte man allerdings auch alles in nur einer Funktion Node umarbeiten und wieder zurück in Number konvertieren.
                Und nur zur Info, ich gebe auf meine Dashboard Elemente eigentlich immer nur Strings, auch auf Gauge, klappt bei mir wunderbar.
                Gauge1.JPG
                Gauge2.JPG
                Edit:
                Falls benötigt hier die Umwandlung von Number in String, Punkt entfernen, Punkt durch Komma ersetzen und zurück in Number.

                msg.payload = (String(msg.payload))
                msg.payload = msg.payload.replace('.', '');
                msg.payload = msg.payload.replace('.', ',');
                msg.payload = (Number(msg.payload))
                return msg;
                

                Umwandlung1.JPG

                Schöne Grüße Frank

                mickymM 1 Reply Last reply
                0
                • F frankyboy73

                  @mickym
                  Ah, ok. Da kann ich dir leider nicht weiterhelfen.
                  Das könnte man allerdings auch alles in nur einer Funktion Node umarbeiten und wieder zurück in Number konvertieren.
                  Und nur zur Info, ich gebe auf meine Dashboard Elemente eigentlich immer nur Strings, auch auf Gauge, klappt bei mir wunderbar.
                  Gauge1.JPG
                  Gauge2.JPG
                  Edit:
                  Falls benötigt hier die Umwandlung von Number in String, Punkt entfernen, Punkt durch Komma ersetzen und zurück in Number.

                  msg.payload = (String(msg.payload))
                  msg.payload = msg.payload.replace('.', '');
                  msg.payload = msg.payload.replace('.', ',');
                  msg.payload = (Number(msg.payload))
                  return msg;
                  

                  Umwandlung1.JPG

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  wrote on last edited by mickym
                  #8

                  @frankyboy73
                  Oh Du hast mir ganz unbewusst weitergeholfen - ich habe zwar nicht mehr genau in Erinnerung wie der Gauge funktioniert, aber dass er auch Zeichenfolgen frisst - liegt wohl daran, dass mit {{value}} impliziert, eine Zahlenkonvertierung stattfindet. Ich habe nämlich festgestellt, dass ich diesen auch oft Strings als Futter gebe. ;) Und ich hab dann mal bei mir geschaut, woher dieses blöde 1000er Komma kommt und das liegt wohl an diesem blöden Angular Filter - der bei mir so eingestellt war: {{value | number:0}}

                  Der erzeugt dann das 1000er Komma.

                  Aber genau, dass wurde irgendwo beschrieben, dass dieser Angular Filter auch irgendwie auf Ländereinstellungen zugreifen kann.

                  Aber Du hast mir insofern geholfen, dass diese 1000er Trennung nur durch den Filter kommt, mit dem Punkt als Dezimalzeichen kann ich leben. :)

                  Danke!

                  Aber vielleicht gibts ja trotzdem jemand, der es weiß, wie man diesen Angular Filtern - deutsches Verhalten beibringt. ;)
                  irgendwie scheint das zu gehen - aber ich werde nicht schlau draus: I18n / localization of UI / change locale for angular filters (currency, number, …)

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  R 1 Reply Last reply
                  0
                  • mickymM mickym

                    @frankyboy73
                    Oh Du hast mir ganz unbewusst weitergeholfen - ich habe zwar nicht mehr genau in Erinnerung wie der Gauge funktioniert, aber dass er auch Zeichenfolgen frisst - liegt wohl daran, dass mit {{value}} impliziert, eine Zahlenkonvertierung stattfindet. Ich habe nämlich festgestellt, dass ich diesen auch oft Strings als Futter gebe. ;) Und ich hab dann mal bei mir geschaut, woher dieses blöde 1000er Komma kommt und das liegt wohl an diesem blöden Angular Filter - der bei mir so eingestellt war: {{value | number:0}}

                    Der erzeugt dann das 1000er Komma.

                    Aber genau, dass wurde irgendwo beschrieben, dass dieser Angular Filter auch irgendwie auf Ländereinstellungen zugreifen kann.

                    Aber Du hast mir insofern geholfen, dass diese 1000er Trennung nur durch den Filter kommt, mit dem Punkt als Dezimalzeichen kann ich leben. :)

                    Danke!

                    Aber vielleicht gibts ja trotzdem jemand, der es weiß, wie man diesen Angular Filtern - deutsches Verhalten beibringt. ;)
                    irgendwie scheint das zu gehen - aber ich werde nicht schlau draus: I18n / localization of UI / change locale for angular filters (currency, number, …)

                    R Offline
                    R Offline
                    rewenode
                    wrote on last edited by
                    #9

                    @mickym Ganz generell kannst du hier mal lesen
                    https://discourse.nodered.org/t/number-in-german-format-in-dashboard-100-235-25-how-to/23236/14

                    Leider etwas umständlich, geht aber.

                    mickymM 1 Reply Last reply
                    0
                    • R rewenode

                      @mickym Ganz generell kannst du hier mal lesen
                      https://discourse.nodered.org/t/number-in-german-format-in-dashboard-100-235-25-how-to/23236/14

                      Leider etwas umständlich, geht aber.

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      wrote on last edited by
                      #10

                      @rewenode Danke :) - Aber ich werde das erst mal hinten anstellen. Insbesondere da ich node-red ja als Adapter laufen habe, müsste ich ja dann wieder die andere settings.js modifizieren usw. und dem gegenüber ist der Nutzen dann minimal.

                      Aber nochmals vielen Dank für Deine Recherche.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      657

                      Online

                      32.6k

                      Users

                      82.1k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe