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. Skripten / Logik
  4. Node-Red
  5. Zahlenformate in Node-RED Dashboard

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Zahlenformate in Node-RED Dashboard

Geplant Angeheftet Gesperrt Verschoben Node-Red
10 Beiträge 3 Kommentatoren 12.2k Aufrufe 3 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.
  • mickymM Offline
    mickymM Offline
    mickym
    Most Active
    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
    0
    • mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #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 Antworten Letzte Antwort
      0
      • mickymM mickym

        Keiner eine Idee?

        F Offline
        F Offline
        frankyboy73
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • mickymM mickym

          Keiner eine Idee?

          F Offline
          F Offline
          frankyboy73
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • mickymM mickym

            Keiner eine Idee?

            F Offline
            F Offline
            frankyboy73
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                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 Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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 Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #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 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

                      703

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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