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. String Werte von Payload Gesamtwert extrahieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

String Werte von Payload Gesamtwert extrahieren

Geplant Angeheftet Gesperrt Verschoben Node-Red
10 Beiträge 3 Kommentatoren 607 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.
  • _ Offline
    _ Offline
    _R_A_L_F_
    schrieb am zuletzt editiert von _R_A_L_F_
    #1

    Hallo,

    ich habe einen Payload Wert als String der eine gewisse Gesamtlänge hat (wie in dem Beispiel 21 Zeichen).
    a6f5d6a1-9684-42e0-86bd-4112e311b6d6-grafik.png

    Problem daran ist, dass diverse Werte in einem String enthalten sind. Diese möchte ich aber einzeln filtern. Die einzelnen Werte haben aber eine bestimmte Länge: Von 0 bis Zeichen 8 = Wert1, Zeichen 9 bis 16 = Wert 2, 17 bis 23 = Wert 3 usw.

    Wie extrahiere ich hier die Werte heraus um sie danach als einzelnen Payload Wert zu haben?
    Muss ich dies über eine Function machen (und wenn ja, wie?) oder gibt es hier auch eine andere Möglichkeit?

    Anbei der Flow:

    [
        {
            "id": "a55fe9ca249ccdfc",
            "type": "tab",
            "label": "Flow 2",
            "disabled": false,
            "info": "",
            "env": []
        },
        {
            "id": "6bc19d64a873f88d",
            "type": "inject",
            "z": "a55fe9ca249ccdfc",
            "name": "",
            "props": [
                {
                    "p": "payload"
                },
                {
                    "p": "topic",
                    "vt": "str"
                }
            ],
            "repeat": "",
            "crontab": "",
            "once": false,
            "onceDelay": 0.1,
            "topic": "Teststring",
            "payload": "AAA     50     909   ",
            "payloadType": "str",
            "x": 380,
            "y": 260,
            "wires": [
                [
                    "aba432bff1dc6402"
                ]
            ]
        },
        {
            "id": "aba432bff1dc6402",
            "type": "debug",
            "z": "a55fe9ca249ccdfc",
            "name": "debug 21",
            "active": true,
            "tosidebar": true,
            "console": false,
            "tostatus": false,
            "complete": "false",
            "statusVal": "",
            "statusType": "auto",
            "x": 580,
            "y": 260,
            "wires": []
        }
    ]
    

    So wäre zumindest mein Ansatz in einer Function Node. Aber wie gesagt, evtl. gibt es ja noch eine bessere/schönere Lösung.

    let test = msg.payload;
    test = test.substring(0, 3);
    
    msg.payload = test;
    
    return msg;
    

    Vielen Dank

    Marc BergM 1 Antwort Letzte Antwort
    0
    • _ _R_A_L_F_

      Hallo,

      ich habe einen Payload Wert als String der eine gewisse Gesamtlänge hat (wie in dem Beispiel 21 Zeichen).
      a6f5d6a1-9684-42e0-86bd-4112e311b6d6-grafik.png

      Problem daran ist, dass diverse Werte in einem String enthalten sind. Diese möchte ich aber einzeln filtern. Die einzelnen Werte haben aber eine bestimmte Länge: Von 0 bis Zeichen 8 = Wert1, Zeichen 9 bis 16 = Wert 2, 17 bis 23 = Wert 3 usw.

      Wie extrahiere ich hier die Werte heraus um sie danach als einzelnen Payload Wert zu haben?
      Muss ich dies über eine Function machen (und wenn ja, wie?) oder gibt es hier auch eine andere Möglichkeit?

      Anbei der Flow:

      [
          {
              "id": "a55fe9ca249ccdfc",
              "type": "tab",
              "label": "Flow 2",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "6bc19d64a873f88d",
              "type": "inject",
              "z": "a55fe9ca249ccdfc",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "Teststring",
              "payload": "AAA     50     909   ",
              "payloadType": "str",
              "x": 380,
              "y": 260,
              "wires": [
                  [
                      "aba432bff1dc6402"
                  ]
              ]
          },
          {
              "id": "aba432bff1dc6402",
              "type": "debug",
              "z": "a55fe9ca249ccdfc",
              "name": "debug 21",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "false",
              "statusVal": "",
              "statusType": "auto",
              "x": 580,
              "y": 260,
              "wires": []
          }
      ]
      

      So wäre zumindest mein Ansatz in einer Function Node. Aber wie gesagt, evtl. gibt es ja noch eine bessere/schönere Lösung.

      let test = msg.payload;
      test = test.substring(0, 3);
      
      msg.payload = test;
      
      return msg;
      

      Vielen Dank

      Marc BergM Offline
      Marc BergM Offline
      Marc Berg
      Most Active
      schrieb am zuletzt editiert von Marc Berg
      #2

      @_r_a_l_f_
      Ganz ohne Skripting ginge es so, vorausgesetzt, die Längen sind konstant:

      [
          {
              "id": "dbc903ba0c1b42de",
              "type": "inject",
              "z": "256f595eacfe9f56",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "   345    568    654",
              "payloadType": "str",
              "x": 330,
              "y": 220,
              "wires": [
                  [
                      "e58495251b0981a1"
                  ]
              ]
          },
          {
              "id": "24902cc7240130e1",
              "type": "change",
              "z": "256f595eacfe9f56",
              "name": "",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "$trim(payload)",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 670,
              "y": 220,
              "wires": [
                  [
                      "46871b01accaa1e7"
                  ]
              ]
          },
          {
              "id": "e58495251b0981a1",
              "type": "split",
              "z": "256f595eacfe9f56",
              "name": "",
              "splt": "8",
              "spltType": "len",
              "arraySplt": 1,
              "arraySpltType": "len",
              "stream": false,
              "addname": "",
              "x": 490,
              "y": 220,
              "wires": [
                  [
                      "24902cc7240130e1"
                  ]
              ]
          },
          {
              "id": "46871b01accaa1e7",
              "type": "debug",
              "z": "256f595eacfe9f56",
              "name": "debug 9",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "true",
              "targetType": "full",
              "statusVal": "",
              "statusType": "auto",
              "x": 860,
              "y": 220,
              "wires": []
          }
      ]
      

      e4f79f69-f892-4838-80d7-88973ebed31d-grafik.png

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      _ 1 Antwort Letzte Antwort
      0
      • Marc BergM Marc Berg

        @_r_a_l_f_
        Ganz ohne Skripting ginge es so, vorausgesetzt, die Längen sind konstant:

        [
            {
                "id": "dbc903ba0c1b42de",
                "type": "inject",
                "z": "256f595eacfe9f56",
                "name": "",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "   345    568    654",
                "payloadType": "str",
                "x": 330,
                "y": 220,
                "wires": [
                    [
                        "e58495251b0981a1"
                    ]
                ]
            },
            {
                "id": "24902cc7240130e1",
                "type": "change",
                "z": "256f595eacfe9f56",
                "name": "",
                "rules": [
                    {
                        "t": "set",
                        "p": "payload",
                        "pt": "msg",
                        "to": "$trim(payload)",
                        "tot": "jsonata"
                    }
                ],
                "action": "",
                "property": "",
                "from": "",
                "to": "",
                "reg": false,
                "x": 670,
                "y": 220,
                "wires": [
                    [
                        "46871b01accaa1e7"
                    ]
                ]
            },
            {
                "id": "e58495251b0981a1",
                "type": "split",
                "z": "256f595eacfe9f56",
                "name": "",
                "splt": "8",
                "spltType": "len",
                "arraySplt": 1,
                "arraySpltType": "len",
                "stream": false,
                "addname": "",
                "x": 490,
                "y": 220,
                "wires": [
                    [
                        "24902cc7240130e1"
                    ]
                ]
            },
            {
                "id": "46871b01accaa1e7",
                "type": "debug",
                "z": "256f595eacfe9f56",
                "name": "debug 9",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "true",
                "targetType": "full",
                "statusVal": "",
                "statusType": "auto",
                "x": 860,
                "y": 220,
                "wires": []
            }
        ]
        

        e4f79f69-f892-4838-80d7-88973ebed31d-grafik.png

        _ Offline
        _ Offline
        _R_A_L_F_
        schrieb am zuletzt editiert von
        #3

        @marc-berg Ok, Danke für den Ansatz aber leider sind die Werte unterschiedlich lang :(

        Marc BergM 1 Antwort Letzte Antwort
        0
        • _ _R_A_L_F_

          @marc-berg Ok, Danke für den Ansatz aber leider sind die Werte unterschiedlich lang :(

          Marc BergM Offline
          Marc BergM Offline
          Marc Berg
          Most Active
          schrieb am zuletzt editiert von Marc Berg
          #4

          @_r_a_l_f_ dann so, falls Leerzeichen dazwischen sein sollten

          [
              {
                  "id": "dbc903ba0c1b42de",
                  "type": "inject",
                  "z": "256f595eacfe9f56",
                  "name": "",
                  "props": [
                      {
                          "p": "payload"
                      }
                  ],
                  "repeat": "",
                  "crontab": "",
                  "once": false,
                  "onceDelay": 0.1,
                  "topic": "",
                  "payload": "   345    568    654",
                  "payloadType": "str",
                  "x": 550,
                  "y": 280,
                  "wires": [
                      [
                          "e58495251b0981a1"
                      ]
                  ]
              },
              {
                  "id": "e58495251b0981a1",
                  "type": "split",
                  "z": "256f595eacfe9f56",
                  "name": "",
                  "splt": " ",
                  "spltType": "str",
                  "arraySplt": 1,
                  "arraySpltType": "len",
                  "stream": false,
                  "addname": "",
                  "x": 710,
                  "y": 280,
                  "wires": [
                      [
                          "7411fd2b0d345418"
                      ]
                  ]
              },
              {
                  "id": "46871b01accaa1e7",
                  "type": "debug",
                  "z": "256f595eacfe9f56",
                  "name": "debug 9",
                  "active": true,
                  "tosidebar": true,
                  "console": false,
                  "tostatus": false,
                  "complete": "true",
                  "targetType": "full",
                  "statusVal": "",
                  "statusType": "auto",
                  "x": 1020,
                  "y": 280,
                  "wires": []
              },
              {
                  "id": "7411fd2b0d345418",
                  "type": "switch",
                  "z": "256f595eacfe9f56",
                  "name": "",
                  "property": "payload",
                  "propertyType": "msg",
                  "rules": [
                      {
                          "t": "neq",
                          "v": "",
                          "vt": "str"
                      }
                  ],
                  "checkall": "true",
                  "repair": false,
                  "outputs": 1,
                  "x": 850,
                  "y": 280,
                  "wires": [
                      [
                          "46871b01accaa1e7"
                      ]
                  ]
              }
          ]
          

          NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

          Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

          Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

          _ 1 Antwort Letzte Antwort
          0
          • mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #5

            Hier meine Lösung:

            92583597-886b-49bb-8307-75a888ff2a2b-image.png

            [
               {
                   "id": "6bc19d64a873f88d",
                   "type": "inject",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "props": [
                       {
                           "p": "payload"
                       },
                       {
                           "p": "topic",
                           "vt": "str"
                       }
                   ],
                   "repeat": "",
                   "crontab": "",
                   "once": false,
                   "onceDelay": 0.1,
                   "topic": "Teststring",
                   "payload": "AAA     50     909   ",
                   "payloadType": "str",
                   "x": 280,
                   "y": 4140,
                   "wires": [
                       [
                           "cc9364eb8e5dd8f0"
                       ]
                   ]
               },
               {
                   "id": "aba432bff1dc6402",
                   "type": "debug",
                   "z": "7e6af0015415146d",
                   "name": "debug 21",
                   "active": true,
                   "tosidebar": true,
                   "console": false,
                   "tostatus": false,
                   "complete": "false",
                   "statusVal": "",
                   "statusType": "auto",
                   "x": 860,
                   "y": 4140,
                   "wires": []
               },
               {
                   "id": "cc9364eb8e5dd8f0",
                   "type": "change",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "rules": [
                       {
                           "t": "set",
                           "p": "payload",
                           "pt": "msg",
                           "to": "$split($trim(payload), \" \")\t\t",
                           "tot": "jsonata"
                       }
                   ],
                   "action": "",
                   "property": "",
                   "from": "",
                   "to": "",
                   "reg": false,
                   "x": 530,
                   "y": 4140,
                   "wires": [
                       [
                           "d477d73f796189d7"
                       ]
                   ]
               },
               {
                   "id": "d477d73f796189d7",
                   "type": "split",
                   "z": "7e6af0015415146d",
                   "name": "",
                   "splt": "\\n",
                   "spltType": "str",
                   "arraySplt": 1,
                   "arraySpltType": "len",
                   "stream": false,
                   "addname": "",
                   "x": 710,
                   "y": 4140,
                   "wires": [
                       [
                           "aba432bff1dc6402"
                       ]
                   ]
               }
            ]
            

            Die Längen des Strings oder die Anzahl Leerzeichen ist egal.

            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
            • Marc BergM Marc Berg

              @_r_a_l_f_ dann so, falls Leerzeichen dazwischen sein sollten

              [
                  {
                      "id": "dbc903ba0c1b42de",
                      "type": "inject",
                      "z": "256f595eacfe9f56",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "   345    568    654",
                      "payloadType": "str",
                      "x": 550,
                      "y": 280,
                      "wires": [
                          [
                              "e58495251b0981a1"
                          ]
                      ]
                  },
                  {
                      "id": "e58495251b0981a1",
                      "type": "split",
                      "z": "256f595eacfe9f56",
                      "name": "",
                      "splt": " ",
                      "spltType": "str",
                      "arraySplt": 1,
                      "arraySpltType": "len",
                      "stream": false,
                      "addname": "",
                      "x": 710,
                      "y": 280,
                      "wires": [
                          [
                              "7411fd2b0d345418"
                          ]
                      ]
                  },
                  {
                      "id": "46871b01accaa1e7",
                      "type": "debug",
                      "z": "256f595eacfe9f56",
                      "name": "debug 9",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "true",
                      "targetType": "full",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 1020,
                      "y": 280,
                      "wires": []
                  },
                  {
                      "id": "7411fd2b0d345418",
                      "type": "switch",
                      "z": "256f595eacfe9f56",
                      "name": "",
                      "property": "payload",
                      "propertyType": "msg",
                      "rules": [
                          {
                              "t": "neq",
                              "v": "",
                              "vt": "str"
                          }
                      ],
                      "checkall": "true",
                      "repair": false,
                      "outputs": 1,
                      "x": 850,
                      "y": 280,
                      "wires": [
                          [
                              "46871b01accaa1e7"
                          ]
                      ]
                  }
              ]
              
              _ Offline
              _ Offline
              _R_A_L_F_
              schrieb am zuletzt editiert von
              #6

              @marc-berg Danke dir für den Lösungsansatz ;)

              1 Antwort Letzte Antwort
              0
              • mickymM mickym

                Hier meine Lösung:

                92583597-886b-49bb-8307-75a888ff2a2b-image.png

                [
                   {
                       "id": "6bc19d64a873f88d",
                       "type": "inject",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "Teststring",
                       "payload": "AAA     50     909   ",
                       "payloadType": "str",
                       "x": 280,
                       "y": 4140,
                       "wires": [
                           [
                               "cc9364eb8e5dd8f0"
                           ]
                       ]
                   },
                   {
                       "id": "aba432bff1dc6402",
                       "type": "debug",
                       "z": "7e6af0015415146d",
                       "name": "debug 21",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "false",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 860,
                       "y": 4140,
                       "wires": []
                   },
                   {
                       "id": "cc9364eb8e5dd8f0",
                       "type": "change",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$split($trim(payload), \" \")\t\t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 530,
                       "y": 4140,
                       "wires": [
                           [
                               "d477d73f796189d7"
                           ]
                       ]
                   },
                   {
                       "id": "d477d73f796189d7",
                       "type": "split",
                       "z": "7e6af0015415146d",
                       "name": "",
                       "splt": "\\n",
                       "spltType": "str",
                       "arraySplt": 1,
                       "arraySpltType": "len",
                       "stream": false,
                       "addname": "",
                       "x": 710,
                       "y": 4140,
                       "wires": [
                           [
                               "aba432bff1dc6402"
                           ]
                       ]
                   }
                ]
                

                Die Längen des Strings oder die Anzahl Leerzeichen ist egal.

                _ Offline
                _ Offline
                _R_A_L_F_
                schrieb am zuletzt editiert von
                #7

                @mickym Danke dir schon mal. Gibt es hier auch die Möglichkeit den einzelnen Werten einen separaten Topic zu vergeben?

                mickymM 1 Antwort Letzte Antwort
                0
                • _ _R_A_L_F_

                  @mickym Danke dir schon mal. Gibt es hier auch die Möglichkeit den einzelnen Werten einen separaten Topic zu vergeben?

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @_r_a_l_f_ sagte in String Werte von Payload Gesamtwert extrahieren:

                  @mickym Danke dir schon mal. Gibt es hier auch die Möglichkeit den einzelnen Werten einen separaten Topic zu vergeben?

                  Klar:

                  96ca3979-fec8-4a4f-b52a-666ee2511e46-image.png

                  [
                     {
                         "id": "6bc19d64a873f88d",
                         "type": "inject",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "Teststring",
                         "payload": "AAA     50                          909   ",
                         "payloadType": "str",
                         "x": 230,
                         "y": 4140,
                         "wires": [
                             [
                                 "cc9364eb8e5dd8f0"
                             ]
                         ]
                     },
                     {
                         "id": "aba432bff1dc6402",
                         "type": "debug",
                         "z": "7e6af0015415146d",
                         "name": "debug 21",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "false",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 860,
                         "y": 4140,
                         "wires": []
                     },
                     {
                         "id": "cc9364eb8e5dd8f0",
                         "type": "change",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "$split($trim(payload), \" \")\t\t",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\"Wert1\" : payload[0],\t\"Wert2\" : payload[1],\t\"Wert3\" : payload[2]}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 410,
                         "y": 4140,
                         "wires": [
                             [
                                 "d477d73f796189d7",
                                 "2145a3f7a983bbaf"
                             ]
                         ]
                     },
                     {
                         "id": "d477d73f796189d7",
                         "type": "split",
                         "z": "7e6af0015415146d",
                         "name": "",
                         "splt": "\\n",
                         "spltType": "str",
                         "arraySplt": 1,
                         "arraySpltType": "len",
                         "stream": false,
                         "addname": "topic",
                         "x": 650,
                         "y": 4140,
                         "wires": [
                             [
                                 "aba432bff1dc6402"
                             ]
                         ]
                     },
                     {
                         "id": "2145a3f7a983bbaf",
                         "type": "debug",
                         "z": "7e6af0015415146d",
                         "name": "Array",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 610,
                         "y": 4100,
                         "wires": []
                     }
                  ]
                  

                  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.

                  _ mickymM 2 Antworten Letzte Antwort
                  0
                  • mickymM mickym

                    @_r_a_l_f_ sagte in String Werte von Payload Gesamtwert extrahieren:

                    @mickym Danke dir schon mal. Gibt es hier auch die Möglichkeit den einzelnen Werten einen separaten Topic zu vergeben?

                    Klar:

                    96ca3979-fec8-4a4f-b52a-666ee2511e46-image.png

                    [
                       {
                           "id": "6bc19d64a873f88d",
                           "type": "inject",
                           "z": "7e6af0015415146d",
                           "name": "",
                           "props": [
                               {
                                   "p": "payload"
                               },
                               {
                                   "p": "topic",
                                   "vt": "str"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "Teststring",
                           "payload": "AAA     50                          909   ",
                           "payloadType": "str",
                           "x": 230,
                           "y": 4140,
                           "wires": [
                               [
                                   "cc9364eb8e5dd8f0"
                               ]
                           ]
                       },
                       {
                           "id": "aba432bff1dc6402",
                           "type": "debug",
                           "z": "7e6af0015415146d",
                           "name": "debug 21",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "false",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 860,
                           "y": 4140,
                           "wires": []
                       },
                       {
                           "id": "cc9364eb8e5dd8f0",
                           "type": "change",
                           "z": "7e6af0015415146d",
                           "name": "",
                           "rules": [
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "$split($trim(payload), \" \")\t\t",
                                   "tot": "jsonata"
                               },
                               {
                                   "t": "set",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "{\"Wert1\" : payload[0],\t\"Wert2\" : payload[1],\t\"Wert3\" : payload[2]}",
                                   "tot": "jsonata"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 410,
                           "y": 4140,
                           "wires": [
                               [
                                   "d477d73f796189d7",
                                   "2145a3f7a983bbaf"
                               ]
                           ]
                       },
                       {
                           "id": "d477d73f796189d7",
                           "type": "split",
                           "z": "7e6af0015415146d",
                           "name": "",
                           "splt": "\\n",
                           "spltType": "str",
                           "arraySplt": 1,
                           "arraySpltType": "len",
                           "stream": false,
                           "addname": "topic",
                           "x": 650,
                           "y": 4140,
                           "wires": [
                               [
                                   "aba432bff1dc6402"
                               ]
                           ]
                       },
                       {
                           "id": "2145a3f7a983bbaf",
                           "type": "debug",
                           "z": "7e6af0015415146d",
                           "name": "Array",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "payload",
                           "targetType": "msg",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 610,
                           "y": 4100,
                           "wires": []
                       }
                    ]
                    

                    _ Offline
                    _ Offline
                    _R_A_L_F_
                    schrieb am zuletzt editiert von
                    #9

                    @mickym Cool, das schaut doch prima aus. Danke euch @Marc-Berg beiden ;)

                    1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @_r_a_l_f_ sagte in String Werte von Payload Gesamtwert extrahieren:

                      @mickym Danke dir schon mal. Gibt es hier auch die Möglichkeit den einzelnen Werten einen separaten Topic zu vergeben?

                      Klar:

                      96ca3979-fec8-4a4f-b52a-666ee2511e46-image.png

                      [
                         {
                             "id": "6bc19d64a873f88d",
                             "type": "inject",
                             "z": "7e6af0015415146d",
                             "name": "",
                             "props": [
                                 {
                                     "p": "payload"
                                 },
                                 {
                                     "p": "topic",
                                     "vt": "str"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "Teststring",
                             "payload": "AAA     50                          909   ",
                             "payloadType": "str",
                             "x": 230,
                             "y": 4140,
                             "wires": [
                                 [
                                     "cc9364eb8e5dd8f0"
                                 ]
                             ]
                         },
                         {
                             "id": "aba432bff1dc6402",
                             "type": "debug",
                             "z": "7e6af0015415146d",
                             "name": "debug 21",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "false",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 860,
                             "y": 4140,
                             "wires": []
                         },
                         {
                             "id": "cc9364eb8e5dd8f0",
                             "type": "change",
                             "z": "7e6af0015415146d",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "$split($trim(payload), \" \")\t\t",
                                     "tot": "jsonata"
                                 },
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "{\"Wert1\" : payload[0],\t\"Wert2\" : payload[1],\t\"Wert3\" : payload[2]}",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 410,
                             "y": 4140,
                             "wires": [
                                 [
                                     "d477d73f796189d7",
                                     "2145a3f7a983bbaf"
                                 ]
                             ]
                         },
                         {
                             "id": "d477d73f796189d7",
                             "type": "split",
                             "z": "7e6af0015415146d",
                             "name": "",
                             "splt": "\\n",
                             "spltType": "str",
                             "arraySplt": 1,
                             "arraySpltType": "len",
                             "stream": false,
                             "addname": "topic",
                             "x": 650,
                             "y": 4140,
                             "wires": [
                                 [
                                     "aba432bff1dc6402"
                                 ]
                             ]
                         },
                         {
                             "id": "2145a3f7a983bbaf",
                             "type": "debug",
                             "z": "7e6af0015415146d",
                             "name": "Array",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 610,
                             "y": 4100,
                             "wires": []
                         }
                      ]
                      

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @mickym Falls keine Leerzeichen drin sind urn die Werte zu trennen, und die Positionen so fix sind, dann kannst natürlich auch die payload entsprechend splitten:

                      {"Wert1" : $trim($substring(payload, 0, 8)),
                      "Wert2" : $trim($substring(payload, 8, 8)),
                      "Wert3" : $trim($substring(payload, 16, 8))}
                      
                      

                      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

                      695

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      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