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. 16 bit signed Float einlesen über den Node-red Modbus

NEWS

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

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

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

16 bit signed Float einlesen über den Node-red Modbus

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
67 Beiträge 5 Kommentatoren 13.9k Aufrufe
  • Ä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.
  • A Offline
    A Offline
    atelmblcd
    schrieb am zuletzt editiert von
    #14

    wenn du apache laufen hast dann findest du wenn alles installiert ist unter myjs Steeelseries-Canvas-Master html demos

    Unter Rgraph sind auch demos.

    Viel Spaas

    du must eine Template zur Visualisierung nehmen und keine gauge.

    die 2 ersten Zeilen geben dem Weg zu Messinstrument an.

    Siehe mein smarty flow.

    Deine Lösung würde mich interessieren, es ich sicher Code dabei den ich gebrauchen kann, alleine kann man nicht alles wissen.

    MfG

    Jean

    1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      Garf
      schrieb am zuletzt editiert von
      #15

      Ist angekommen. Vielen Dank dafür.

      Sieht aber jetzt nicht danach aus, als dass ich damit in 10 Minuten durch wäre. Ich vermute mal, da werde ich wohl noch einige Fragen zu haben.

      Ich bringe jetzt erst einmal das Thema mit dem Aulesen der Messwerte zu Ende, visulisiere diese dann mit den Standard-Dashboard-Nodes und wage mich dann an die Profidarstellung.

      Ich hoffe, Du stehst mir da dann wieder ein wenig mit Rat und Tat zur Seite.

      Meinst Du die Lösung für das Aufrunden? So etwas bringt Javascript ja leider von Haus aus nicht mit.

      Sieht so aus:

      ! // Funktion Runden auf drei Nachkommastellen 10=1, 100=2, 1000=3,…
      ! function extround(zahl,n_stelle) {
      ! zahl = (Math.round(zahl * n_stelle) / n_stelle);
      ! return zahl;
      ! }
      ! msg.payload = msg.payload.buffer.readFloatBE(0,1,2,3);
      ! msg.payload2 = extround(msg.payload, 1000);
      ! return msg;

      Gruß

      Garf

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        atelmblcd
        schrieb am zuletzt editiert von
        #16

        nein nicht für aufrunden sondern wie du versucht hast den signed float in Dezimal umzurechnen.

        Runden geht viel einfacher

        Einfach in der Gauge {{value | number:1}} eingeben 1 steht für 1 Nachkommastelle 2 für 2 Nachkommastellen usw.

        Die Instrumente sind in 5 minuten reinkopiert dann kannst du damit loslegen.

        einfach im Terminal die Befehle eingeben copy paste.

        MfG

        Jean

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          atelmblcd
          schrieb am zuletzt editiert von
          #17

          @wendy2702:

          Die Instrumente sehen gut aus.

          Kannst du die Widgets als Export einstellen?

          Gesendet von iPhone mit Tapatalk Pro `

          ich nehme an daas die Instrumente auch bei dem ioBroker funktionieren würden.

          Es sind nur Java scripte. Und man kann sie auch in html Seiten anzeigen

          Node-red verwendet Node JS als Basis.

          Sende mir per PN deinen Mailadresse.

          Ich sende die scripte dann zu.

          MfG

          Jean

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            JXA
            schrieb am zuletzt editiert von
            #18

            Vielen Dank für die hilfreiche Info!

            Ich habe ein ganz ähnliches Problem einen Sensor über Modbus TCP auszulesen.

            Der Wert wird als 32-bit float ausgegeben. Ich habe den Sketch angepasst,

            komme aber nicht zum gewünschten Ergebnis.

            Wie zu sehen ist, hat Sensor-1 einen Wert von 21,7 °C

            Über einen Hinweis würde ich mich sehr freuen!

            Beschreibung und Screenshoot habe ich beigefügt.
            5860_modbus_info.png
            5860_true_readout.png
            5860_modbus_setting.png
            5860_main.png

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              atelmblcd
              schrieb am zuletzt editiert von
              #19

              Mich würde interessieren was in der Funktion steht.

              füge mal ein Modbus response ein damit man die Werte sieht.

              am besten den Node expotieren und hier einstellen so kann ich ihn importieren und mir ansehen.

              Wenn ich Schwierigkeiten habe Modbus auszulesen oder verwirrende daten bekomme nutze ich zur überprüfung die gratis Software modbus doctor

              http://www.kscada.com/modbusdoctor

              Die Webseite ist auf französich aber Software kann man umstellen.

              ist es überhaupt ein signed float und nicht ein normaler float?

              ich habe nichts in der Anleitung vom x320 gefunden dass es ein signed float ist.

              auf der Seite 38 steht dass man von little auf big Endian umschaltung kann mittels einer Checkbox

              https://www.controlbyweb.com/x320/x-320 … manual.pdf

              Prüfe das mal mit dem Modbusdoctor

              mfG

              Jean

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                pitu61
                schrieb am zuletzt editiert von
                #20

                Hallo JXA,

                ich habe ein ähnliches Problem und erhalte unerklärliche werte, jedoch bastel ich noch ein bisschen eigenständig rum.

                Sollte ich zu einer Lösung kommen, poste ich meinen Funktion code - selbstverständich.

                könntest du den Code deiner Funktion mit uns teilen?

                dann können wir dir evtl. besser helfen.

                Gruß

                Pitu61

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  JXA
                  schrieb am zuletzt editiert von
                  #21

                  Guten Abend Jean,

                  vielen Dank für deine Hilfe.

                  Die Software "Modbus Doctor" ist sehr hilfreich und läuft auch noch ohne Installation! SUPER!

                  Das Auslesen der Register funktioniert mit der Software ohne Probleme und ja es ist kein Int. sondern 32Bit Float.

                  So wie es aussieht ist mein Problem die "richtige Übersetzung" der Werte im Array also die Funktion!

                  Der X320 ist momentan Little Endian eingestellt.

                  Hier der aktuelle Code:

                  [{"id":"44292168.ff1788","type":"modbus-read","z":"bd65fff.1e8bb8","name":"X320_Read","topic":"","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"272","quantity":"2","rate":"1","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"2b52835b.4790cc","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":120,"y":272.66663360595703,"wires":[[],["579e2814.4277a"]]},{"id":"579e2814.4277a","type":"function","z":"bd65fff.1e8bb8","name":" 32bit","func":"msg.payload=msg.payload.buffer.readInt32LE;\nreturn msg;\n","outputs":1,"noerr":0,"x":286,"y":281.3333435058594,"wires":[["3b5d9dcf.0f7372"]]},{"id":"3b5d9dcf.0f7372","type":"debug","z":"bd65fff.1e8bb8","name":"","active":true,"console":"false","complete":"false","x":480.5,"y":279,"wires":[]},{"id":"2b52835b.4790cc","type":"modbus-client","z":"","name":"X320","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"192.168.0.48","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"}]

                  1 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    JXA
                    schrieb am zuletzt editiert von
                    #22

                    Sorry aber ich kann keine Screenshots hochladen

                    "Das Kontingent für Dateianhänge ist bereits vollständig ausgenutzt."

                    1 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      atelmblcd
                      schrieb am zuletzt editiert von
                      #23

                      teste mal diesen Flow dieser müsste funktionieren laut

                      https://nodejs.org/api/buffer.html#buff … t_noassert

                      buf.readFloatBE(offset[, noAssert])

                      buf.readFloatLE(offset[, noAssert])

                      Added in: v0.11.15

                      offset <integer>Number of bytes to skip before starting to read. Must satisfy: 0 <= offset <= buf.length - 4.

                      noAssert <boolean>Skip offset validation? Default: false

                      Returns: <number>Reads a 32-bit float from buf at the specified offset with specified endian format (readFloatBE() returns big endian, readFloatLE() returns little endian).

                      Setting noAssert to true allows offset to be beyond the end of buf, but the resulting behavior is undefined.

                      (0,1,2,3) liest die Register aus dem Buffer jeweils 8 bit.

                      [{"id":"6f92b84.0ef3ac8","type":"modbus-read","z":"7d4de8d.1542118","name":"X320_Read","topic":"","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"272","quantity":"2","rate":"1","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"741a094c.1340b8","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":330,"y":260,"wires":[[],["3de8b140.13ce2e","cca0874c.f3d76"]]},{"id":"3de8b140.13ce2e","type":"function","z":"7d4de8d.1542118","name":" 32bit","func":"msg.payload=msg.payload.buffer.readFloatLE(0,1,2,3);\nreturn msg;\n","outputs":1,"noerr":0,"x":510,"y":400,"wires":[["f6427835.8241b"]]},{"id":"f6427835.8241b","type":"debug","z":"7d4de8d.1542118","name":"","active":true,"console":"false","complete":"false","x":690,"y":540,"wires":[]},{"id":"cca0874c.f3d76","type":"modbus-response","z":"7d4de8d.1542118","name":"","registerShowMax":20,"x":600,"y":260,"wires":[]},{"id":"741a094c.1340b8","type":"modbus-client","z":"","name":"X320","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"192.168.0.48","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"}]</number></boolean></integer>

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        JXA
                        schrieb am zuletzt editiert von
                        #24

                        Hallo Jean,

                        vielen Dank für deinen Flow,

                        Über den Modbus Response werden die Daten jetzt angezeigt.

                        Die Ausgabe ist jedoch noch nicht korrekt.

                        Ausgegeben wird aktuell : -1.7142884334298003e-13

                        Gruß

                        Bastian

                        1 Antwort Letzte Antwort
                        0
                        • J Offline
                          J Offline
                          JXA
                          schrieb am zuletzt editiert von
                          #25

                          Ich denke das ich den Grund für die fehlerhafte Anzeige gefunden habe.

                          Die Funktion nutzt 4 x 8 bit (0,1,2,3)

                          "32-bit sensor values are read from 16-bit register pairs. Consequently, senors addresses and registers

                          must be even numbers"

                          Es werden 2 Register ausgelesen die jedoch je 16 bit haben .

                          Gibt es eine Möglichkeit die Funktion anzupassen?

                          Gruß

                          Bastian

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            atelmblcd
                            schrieb am zuletzt editiert von
                            #26

                            @JXA:

                            Ich denke das ich den Grund für die fehlerhafte Anzeige gefunden habe.

                            Die Funktion nutzt 4 x 8 bit (0,1,2,3)

                            "32-bit sensor values are read from 16-bit register pairs. Consequently, senors addresses and registers

                            must be even numbers"

                            Es werden 2 Register ausgelesen die jedoch je 16 bit haben . `

                            genau wie du richtig erkannt hast

                            wenn du die ersten 16 Bit einlesen willst dann (0,1)

                            für die zweiten 16 bit (2,3)

                            Es gibt noch interessante Gratis Werkzeuge

                            ist schon 10 Jahre alt ob es mit win 10 läuft weis ich nicht

                            http://store.chipkin.com/products/tools … us-scanner

                            oder hier ein Modbus Simulator

                            https://sourceforge.net/projects/modrssim

                            in diesem Forum wird genau dein Problem besprochen

                            https://groups.google.com/forum/#!topic ... t_Y7egwuio

                            Csongor Varga hat die Antwort gepostet und einen Link reingeschrieben wo man einen Beispiel Flow laden kann.

                            https://flows.nodered.org/flow/75a4715f ... 92abc493e4

                            unten auf dem Forum hat Michael Hogan folgendes gepostet.

                            I have done a fair amount of this for interfacing to some brushless motor control stuff.

                            I initially used the Typed Array classes for my stuff, but then reverted to using the slightly older Buffer functions like buffer.readFloatLE() and so forth. Here's one reference:

                            https://millermedeiros.github.io/mdoc/e ... ffers.html

                            The reason that I did that is that we are using a Raspberry Pi as an edge gateway. While you can upgrade the Pi to use more recent versions of node.js and node-red, I found that it was dicey enough that it was better to use the versions that get installed with default Raspbian. Those versions do not support the typed array classes .. but they do support the various buffer.read* methods.

                            At any rate, figured I'd put that out there for whatever it might be worth to folks converting raw bytes to typed values.

                            Wenn du alte Software Versionen auf dem Raspi hast und die nicht geupdatet sind kann es sein dass die Array Methode nicht funzt.

                            1 Antwort Letzte Antwort
                            0
                            • J Offline
                              J Offline
                              JXA
                              schrieb am zuletzt editiert von
                              #27

                              Guten Abend Jean,

                              vielen Dank für die umfangreichen Informationen!

                              Du "steckst" ja richtig in der Materie! WoW!

                              Ich werde die Programme zeitnah testen, zuvor muss ich mir jedoch erst ein Win Rechner aufsetzen.

                              Node Red läuft bei mir auf einem Debian Rechner, und (noch) nicht auf einem Raspi.

                              15 Feb 19:47:25 - [info] Node-RED version: v0.17.5

                              15 Feb 19:47:25 - [info] Node.js version: v9.5.0

                              15 Feb 19:47:25 - [info] Linux 4.9.0-5-amd64 x64 LE

                              15 Feb 19:47:27 - [info] Loading palette nodes

                              15 Feb 19:47:37 - [info] Dashboard version 2.8.0 started at /ui

                              Mit dem geposteten Sketch komme ich aktuell nicht wirklich weiter….

                              Habe nochmal die beiden Register[272] für die Temperatur ausgelesen und über Modbus Response angezeigt.

                              Ausgabe: 32771,16806 diese 32bit float Zahl sollte einer Temperatur von 20,8xx°C entsprechen

                              Gruß

                              Bastian

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                atelmblcd
                                schrieb am zuletzt editiert von
                                #28

                                es müsste richtig eingelesen werden, nur muss der float von Hex oder bin nach dezimal umgerechnet werden.

                                was steht in dem Bufffer Modbusresponse, dies müsste im Hex Format vorlirgen

                                Hier ist ein Beispielcode zu finden

                                https://gist.github.com/faisalman/4213592

                                da muss aber ein Java Spezialist ran da ich die Hardware nicht habe kann ich nicht wirklich weiterhelfen aber ich bleibe dran.

                                ich mache das immer mit try and error bis ich die Lösung habe.

                                MfG

                                Jean

                                1 Antwort Letzte Antwort
                                0
                                • G Offline
                                  G Offline
                                  Garf
                                  schrieb am zuletzt editiert von
                                  #29

                                  @JXA:

                                  Mit dem geposteten Sketch komme ich aktuell nicht wirklich weiter….

                                  Habe nochmal die beiden Register[272] für die Temperatur ausgelesen und über Modbus Response angezeigt.

                                  Ausgabe: 32771,16806 diese 32bit float Zahl sollte einer Temperatur von 20,8xx°C entsprechen `
                                  Wenn man die beiden Werte aus den Modbusregistern richtig einliest und als Dezimalzahl umrechnet, dann kommen dabei genau 20.831 raus.

                                  Ergebnis für die Reihenfolge 32771, 16806: -0.531
                                  3639_screen1.jpg

                                  Ergebnis für die Reihenfolge 16806, 32771: 20.831
                                  3639_screen2.jpg

                                  Garf

                                  1 Antwort Letzte Antwort
                                  0
                                  • J Offline
                                    J Offline
                                    JXA
                                    schrieb am zuletzt editiert von
                                    #30

                                    Hallo "Graf" vielen Dank für deine Hilfe!

                                    Das auslesen der Register über node red funktioniert also "sauber",

                                    das Problem liegt also in der "Funktion" um die Werte Dezimal anzeigen zu können.

                                    Könntest Du die Funktion im Sample Code anpassen um die Sache besser zu verstehen?

                                    Nochmals vielen Dank an "Starter" dafür!!

                                    [{"id":"6f92b84.0ef3ac8","type":"modbus-read","z":"7d4de8d.1542118","name":"X320_Read","topic":"","showStatusActivities":false,"showErrors":false,"unitid":"","dataType":"HoldingRegister","adr":"272","quantity":"2","rate":"1","rateUnit":"s","delayOnStart":false,"startDelayTime":"","server":"741a094c.1340b8","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":330,"y":260,"wires":[[],["3de8b140.13ce2e","cca0874c.f3d76"]]},{"id":"3de8b140.13ce2e","type":"function","z":"7d4de8d.1542118","name":" 32bit","func":"msg.payload=msg.payload.buffer.readFloatLE(0,1,2,3);\nreturn msg;\n","outputs":1,"noerr":0,"x":510,"y":400,"wires":[["f6427835.8241b"]]},{"id":"f6427835.8241b","type":"debug","z":"7d4de8d.1542118","name":"","active":true,"console":"false","complete":"false","x":690,"y":540,"wires":[]},{"id":"cca0874c.f3d76","type":"modbus-response","z":"7d4de8d.1542118","name":"","registerShowMax":20,"x":600,"y":260,"wires":[]},{"id":"741a094c.1340b8","type":"modbus-client","z":"","name":"X320","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"192.168.0.48","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"}]

                                    1 Antwort Letzte Antwort
                                    0
                                    • G Offline
                                      G Offline
                                      Garf
                                      schrieb am zuletzt editiert von
                                      #31

                                      @JXA:

                                      Das auslesen der Register über node red funktioniert also "sauber",

                                      das Problem liegt also in der "Funktion" um die Werte Dezimal anzeigen zu können.

                                      Könntest Du die Funktion im Sample Code anpassen um die Sache besser zu verstehen?

                                      Nochmals vielen Dank an "Starter" dafür!! `

                                      Ich kopiere mir keine Flows mit IP-Adressen die es in meinem Netzwerk nicht gibt in meine laufenden Flows. Dies führt nur zu Problemen. Bitte poste doch einfach mal ein paar Screenshots vom Inhalt des Function Node und die Bufferwerte.

                                      Soviel ich aus dem Flow herauslesen kann, liest Du zwei Modbusregister in vier Buffer ein.

                                      dataType":"HoldingRegister","adr":"272","quantity":"2"

                                      "name":" 32bit","func":"msg.payload=msg.payload.buffer.readFloatLE(0,1,2,3);\nreturn msg

                                      Was steht denn in den Buffern 2 und 3?

                                      Ich kann es zwar nicht testen, aber wenn in den Buffern 0 und 1 die Werte 32771, 16806 stehen, dann müsttest Du nur die Reihenfolge des Einlesens ändern:

                                      msg.payload.buffer.readFloatLE(1,0)

                                      Dann sollte der gewünschte Wert richtig angezeigt werden. Ich kann dies leider nicht im wirklichen Wirkbetrieb testen, es sollte aber eigentlich so funktionieren.

                                      Garf

                                      1 Antwort Letzte Antwort
                                      0
                                      • J Offline
                                        J Offline
                                        JXA
                                        schrieb am zuletzt editiert von
                                        #32

                                        Hallo "Graf"

                                        vielen Dank für deine Antwort!

                                        Zur bisherigen Funktion:

                                        ""name":" 32bit","func":"msg.payload=msg.payload.buffer.readFloatLE(0,1,2,3);\nreturn msg"

                                        Der Gedanke die 16 bit je Register a 2x8Bit einzulesen…

                                        Also Register 272=(0,1) 273=( 2,3)

                                        Dank deiner Rechnung ist nun klar das dies nicht erforderlich ist!

                                        Ich habe die Funktion nun geändert:

                                        msg.payload.buffer.readFloatLE(1,0)

                                        Was zum exakt gleichen Ergebnis führt!

                                        Die Werte der Register werden im Screenshot im Modbus Response angezeigt.

                                        Ist die Funktion korrekt von mir übernommen? Habe ich einen Fehler gemacht?

                                        JXA
                                        5860_flow_1.png
                                        5860_funktion.png
                                        5860_funktion_neu.png

                                        1 Antwort Letzte Antwort
                                        0
                                        • G Offline
                                          G Offline
                                          Garf
                                          schrieb am zuletzt editiert von
                                          #33

                                          Hi JXA,

                                          da muss ich meine Aussage von vorhin wohl doch etwas revidieren. Deine Einstellungen im Function-Node waren absolut richtig. Ich hatte einfach vergessen, dass die Javafunktion ja mit den Buffer 8-bit Werten rechnet. Das heißt das Modbusregister 1 und 2 (je 16bit) werden in je zwei Hexzahlen zerlegt und dann als Dezimalzahl umgerechnet.

                                          Ich habe eben mal verucht die 8-bit Werte von der Reihenfolge 0,1,2,3 in 3,2,0,1 zu ändern. Dies funktioniert aber leider nicht.

                                          Somit haben wir jetzt zwar eine schöne Javafunktion die uns die Rechenarbeit abnimmt, aber keine Möglichkeit zur Verfügung stellt die Modbusregister von hinten nach vorne einzulesen und umzurechnen. Da müssen wir uns wohl noch etwas einfallen lassen. Ich habe vor einigen Wochen selbst ein Funktion-Node programmiert, welches die Einträge in den Modbusregistern einliest und wieder als Dezimalzahl ausgibt. Ich lese dafür allerdings die Datawerte in msg.payload als Arraywerte ein und kann da auch frei bestimmen in welcher Reihenfolge die Werte eingelesen und zurückgerechnet werden. Damit war es mir dann auch möglich deine geposteten Werte in beiden Varianten einmal zu rechnen.

                                          Garf

                                          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

                                          360

                                          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