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. ioBroker Allgemein
  4. Red Node string aufteilen in Array und splitten

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

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

Red Node string aufteilen in Array und splitten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
red node array splitten
5 Beiträge 3 Kommentatoren 5.9k Aufrufe 2 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.
  • J Offline
    J Offline
    J.BORGER
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Seit 2 Tagen versuche ich eine Meldung (ein zusammengesetzter "String") mit Hilfe von Red Node zu Splitten und anschließend aufzuteilen.

    Bis jetzt ist es mit gelungen den String in Array´s aufzuteilen. Ein Array darf max. 32 String länge haben! Dann soll jeder Array weiter übergeben werden. Dieses wollte ich mit Splitten machen. Leider weiß ich nicht wie ich beim Splitten an die einzelnen Array´s komme???

    Ein Bild zum Stand was ich bis jetzt gemacht habe:

    1.jpg

    Ich selber bin totaler Anfänger was Red Node angeht! Hat jemand eine Idee wie ich die Arry´s mit Hausmitteln aufsplitten kann? Bzw. wie ich an die Information der einzelnen Arry´s als index kommen kann?

    haselchenH mickymM 2 Antworten Letzte Antwort
    0
    • J J.BORGER

      Hallo zusammen,

      Seit 2 Tagen versuche ich eine Meldung (ein zusammengesetzter "String") mit Hilfe von Red Node zu Splitten und anschließend aufzuteilen.

      Bis jetzt ist es mit gelungen den String in Array´s aufzuteilen. Ein Array darf max. 32 String länge haben! Dann soll jeder Array weiter übergeben werden. Dieses wollte ich mit Splitten machen. Leider weiß ich nicht wie ich beim Splitten an die einzelnen Array´s komme???

      Ein Bild zum Stand was ich bis jetzt gemacht habe:

      1.jpg

      Ich selber bin totaler Anfänger was Red Node angeht! Hat jemand eine Idee wie ich die Arry´s mit Hausmitteln aufsplitten kann? Bzw. wie ich an die Information der einzelnen Arry´s als index kommen kann?

      haselchenH Offline
      haselchenH Offline
      haselchen
      Most Active
      schrieb am zuletzt editiert von
      #2

      @mickym will help :)

      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

      1 Antwort Letzte Antwort
      0
      • J J.BORGER

        Hallo zusammen,

        Seit 2 Tagen versuche ich eine Meldung (ein zusammengesetzter "String") mit Hilfe von Red Node zu Splitten und anschließend aufzuteilen.

        Bis jetzt ist es mit gelungen den String in Array´s aufzuteilen. Ein Array darf max. 32 String länge haben! Dann soll jeder Array weiter übergeben werden. Dieses wollte ich mit Splitten machen. Leider weiß ich nicht wie ich beim Splitten an die einzelnen Array´s komme???

        Ein Bild zum Stand was ich bis jetzt gemacht habe:

        1.jpg

        Ich selber bin totaler Anfänger was Red Node angeht! Hat jemand eine Idee wie ich die Arry´s mit Hausmitteln aufsplitten kann? Bzw. wie ich an die Information der einzelnen Arry´s als index kommen kann?

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

        @j-borger Hallo - einfach die JOIN Node weglassen - dann wird Dein Array doch einfach in Einzelnachrichten aufgeteilt? Und es gibt keine Längenbegrenzungen - da können soviele Elemente in dem Array sein, wie JS erlaubt - also erstmal keine Begrenzung.

        Einen String brauchst, wenn Du ihn aufteilst doch erst mal nicht wieder in ein Array verfrachten, solange Du was analysieren willst - ausser Du willst irgendwas damit als Ganzes anfangen? Ich würde es nicht machen,

        Falls Du aber unbedingt wieder ein Array haben willst
        Wie gesagt ich müsste erst mal verstehen wofür Du das Array brauchst. Auf die Elemente des Array greifst Du wie üblich einfach via msg.payload[0], msg.payload[1],etc zu.

        Wie gesagt die JOIN Node kannst Dir sparen, um das wieder in einem Array zusammenzufassen. Wenn Du bestimmte Teile rausfiltern willst, kannst Du Dir die msg.parts.index Eigenschaft rauspicken um gezielt auf bestimmte Teile zuzugreifen.

        Nehmen wir mal an Du splittest einen String:

        Dies ist Parameter 1:Dies ist Parameter 2:Dies ist Parameter 3:Dies ist Parameter 4
        

        mit dem : als Trennzeichen:

        dann bekommst Du das:

        5fffcd26-1ec2-43b2-8673-67fff8919192-image.png

        Um dann mittels msg.parts Informationen auf ein gezieltes Element zuzugrifen an einer bestimmten Stelle zuzugreifen, nimmst Du

        bb3e0ae6-5da3-41d1-a1e5-bc56e50044f4-image.png

        Die switch Node sieht dann sehr einfach - aus - also wie gesagt dass zusammenfassen mit einer JOIN Node ist total überflüssig aber natürlich möglich.

        4dddaea7-30fe-41a4-b324-ca8c0791aece-image.png

        Falls Du aus welchen mir unbekannten Gründen auf ein Array bestehst, dann musst halt dann auch direkt darauf zugreifen. Aber um auf einzelne Elemente zuzugreifen, musst Du es immer aufgesplittet in Einzelteilen lassen. Du kannst natürlich das Array mit einer split Node wieder auseinander nehmen, so würde ich es machen, wenn der Input kein String sondern direkt ein Array wäre, um dann über die msg.parts.index Eigenschaft auf einzelne Elemente zuzugreifen.

        8fc3b285-4a1f-439b-a549-13d97e5b6337-image.png

        Hier der ganze Flow zum Ausprobieren:

        [{"id":"4875e6a71a1bf2ac","type":"inject","z":"97b73c5be4e86908","name":"String","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Dies ist Parameter 1:Dies ist Parameter 2:Dies ist Parameter 3:Dies ist Parameter 4","payloadType":"str","x":410,"y":2160,"wires":[["550dec84b2d79ea3","24208d73be6177fe"]]},{"id":"550dec84b2d79ea3","type":"split","z":"97b73c5be4e86908","name":"","splt":":","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":650,"y":2160,"wires":[["d43a26fc0978e30d","847deb3983fde709","1b22726c41ea9847"]]},{"id":"d43a26fc0978e30d","type":"debug","z":"97b73c5be4e86908","name":"Aufgeteilter Input ","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":2100,"wires":[]},{"id":"847deb3983fde709","type":"switch","z":"97b73c5be4e86908","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":4,"x":850,"y":2160,"wires":[["06b4478af03f3fda"],["9b8ee0de0c66edd6"],["494691c7226c3522"],["6e0577e5d8dca172"]]},{"id":"06b4478af03f3fda","type":"debug","z":"97b73c5be4e86908","name":"0","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2100,"wires":[]},{"id":"9b8ee0de0c66edd6","type":"debug","z":"97b73c5be4e86908","name":"1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2140,"wires":[]},{"id":"494691c7226c3522","type":"debug","z":"97b73c5be4e86908","name":"2","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2180,"wires":[]},{"id":"6e0577e5d8dca172","type":"debug","z":"97b73c5be4e86908","name":"3","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2220,"wires":[]},{"id":"24208d73be6177fe","type":"debug","z":"97b73c5be4e86908","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":610,"y":2100,"wires":[]},{"id":"1b22726c41ea9847","type":"join","z":"97b73c5be4e86908","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"1","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":840,"y":2280,"wires":[["d2ec9e3d1993689d","a062c9d4ab27f865","608fbff6e89e1664"]]},{"id":"d2ec9e3d1993689d","type":"debug","z":"97b73c5be4e86908","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1010,"y":2280,"wires":[]},{"id":"a062c9d4ab27f865","type":"change","z":"97b73c5be4e86908","name":"3. Parameter","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[2]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":2340,"wires":[["5abb34cbdb717919"]]},{"id":"5abb34cbdb717919","type":"debug","z":"97b73c5be4e86908","name":"3. Parameter","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1190,"y":2340,"wires":[]},{"id":"608fbff6e89e1664","type":"change","z":"97b73c5be4e86908","name":"1. Parameter","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.0","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":2400,"wires":[["c3921bf402679bb0"]]},{"id":"c3921bf402679bb0","type":"debug","z":"97b73c5be4e86908","name":"1. Parameter","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1190,"y":2400,"wires":[]}]
        

        Und noch was zur Ergänzung - um ein Array aus einem String mit einem Trennzeichen zu machen - nimmst Du nur ein ChangeNode mit JSONATA - das ist dann genauso einfach, wie JS oder Blockly ohne split und join. ;) Violetter Kasten.

        15a71a87-4691-47ae-98e1-1d8952a547ac-image.png

        [
           {
               "id": "40d1f081.f95a5",
               "type": "group",
               "z": "193aabb435e1f946",
               "name": "",
               "style": {
                   "fill": "#dbcbe7",
                   "label": true
               },
               "nodes": [
                   "e36107cc.1523e8",
                   "129122c2.7688ad",
                   "b2e90a86.7fc5d8",
                   "a135755.cc4aa88",
                   "8e88786d.566b08",
                   "74db2116.d66b4"
               ],
               "x": 314,
               "y": 1059,
               "w": 832,
               "h": 202
           },
           {
               "id": "e36107cc.1523e8",
               "type": "change",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "Array erstellen aus String mit : als Trennzeichen",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "$split(payload, ':')\t",
                       "tot": "jsonata"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 520,
               "y": 1120,
               "wires": [
                   [
                       "129122c2.7688ad",
                       "a135755.cc4aa88",
                       "74db2116.d66b4"
                   ]
               ]
           },
           {
               "id": "129122c2.7688ad",
               "type": "change",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "3. Parameter",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "payload[2]",
                       "tot": "msg"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 850,
               "y": 1100,
               "wires": [
                   [
                       "b2e90a86.7fc5d8"
                   ]
               ]
           },
           {
               "id": "b2e90a86.7fc5d8",
               "type": "debug",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "3. Parameter",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1030,
               "y": 1100,
               "wires": []
           },
           {
               "id": "a135755.cc4aa88",
               "type": "change",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "1. Parameter",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "payload.0",
                       "tot": "msg"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 850,
               "y": 1160,
               "wires": [
                   [
                       "8e88786d.566b08"
                   ]
               ]
           },
           {
               "id": "8e88786d.566b08",
               "type": "debug",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "1. Parameter",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 1030,
               "y": 1160,
               "wires": []
           },
           {
               "id": "74db2116.d66b4",
               "type": "debug",
               "z": "193aabb435e1f946",
               "g": "40d1f081.f95a5",
               "name": "Aufgeteilter Input ",
               "active": true,
               "tosidebar": true,
               "console": false,
               "tostatus": false,
               "complete": "payload",
               "targetType": "msg",
               "statusVal": "",
               "statusType": "auto",
               "x": 830,
               "y": 1220,
               "wires": []
           }
        ]
        

        Und: das nächste Mal meldest Du Dich früher. ;)

        @haselchen :grin:

        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.

        J 1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @j-borger Hallo - einfach die JOIN Node weglassen - dann wird Dein Array doch einfach in Einzelnachrichten aufgeteilt? Und es gibt keine Längenbegrenzungen - da können soviele Elemente in dem Array sein, wie JS erlaubt - also erstmal keine Begrenzung.

          Einen String brauchst, wenn Du ihn aufteilst doch erst mal nicht wieder in ein Array verfrachten, solange Du was analysieren willst - ausser Du willst irgendwas damit als Ganzes anfangen? Ich würde es nicht machen,

          Falls Du aber unbedingt wieder ein Array haben willst
          Wie gesagt ich müsste erst mal verstehen wofür Du das Array brauchst. Auf die Elemente des Array greifst Du wie üblich einfach via msg.payload[0], msg.payload[1],etc zu.

          Wie gesagt die JOIN Node kannst Dir sparen, um das wieder in einem Array zusammenzufassen. Wenn Du bestimmte Teile rausfiltern willst, kannst Du Dir die msg.parts.index Eigenschaft rauspicken um gezielt auf bestimmte Teile zuzugreifen.

          Nehmen wir mal an Du splittest einen String:

          Dies ist Parameter 1:Dies ist Parameter 2:Dies ist Parameter 3:Dies ist Parameter 4
          

          mit dem : als Trennzeichen:

          dann bekommst Du das:

          5fffcd26-1ec2-43b2-8673-67fff8919192-image.png

          Um dann mittels msg.parts Informationen auf ein gezieltes Element zuzugrifen an einer bestimmten Stelle zuzugreifen, nimmst Du

          bb3e0ae6-5da3-41d1-a1e5-bc56e50044f4-image.png

          Die switch Node sieht dann sehr einfach - aus - also wie gesagt dass zusammenfassen mit einer JOIN Node ist total überflüssig aber natürlich möglich.

          4dddaea7-30fe-41a4-b324-ca8c0791aece-image.png

          Falls Du aus welchen mir unbekannten Gründen auf ein Array bestehst, dann musst halt dann auch direkt darauf zugreifen. Aber um auf einzelne Elemente zuzugreifen, musst Du es immer aufgesplittet in Einzelteilen lassen. Du kannst natürlich das Array mit einer split Node wieder auseinander nehmen, so würde ich es machen, wenn der Input kein String sondern direkt ein Array wäre, um dann über die msg.parts.index Eigenschaft auf einzelne Elemente zuzugreifen.

          8fc3b285-4a1f-439b-a549-13d97e5b6337-image.png

          Hier der ganze Flow zum Ausprobieren:

          [{"id":"4875e6a71a1bf2ac","type":"inject","z":"97b73c5be4e86908","name":"String","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"Dies ist Parameter 1:Dies ist Parameter 2:Dies ist Parameter 3:Dies ist Parameter 4","payloadType":"str","x":410,"y":2160,"wires":[["550dec84b2d79ea3","24208d73be6177fe"]]},{"id":"550dec84b2d79ea3","type":"split","z":"97b73c5be4e86908","name":"","splt":":","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":650,"y":2160,"wires":[["d43a26fc0978e30d","847deb3983fde709","1b22726c41ea9847"]]},{"id":"d43a26fc0978e30d","type":"debug","z":"97b73c5be4e86908","name":"Aufgeteilter Input ","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":830,"y":2100,"wires":[]},{"id":"847deb3983fde709","type":"switch","z":"97b73c5be4e86908","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":4,"x":850,"y":2160,"wires":[["06b4478af03f3fda"],["9b8ee0de0c66edd6"],["494691c7226c3522"],["6e0577e5d8dca172"]]},{"id":"06b4478af03f3fda","type":"debug","z":"97b73c5be4e86908","name":"0","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2100,"wires":[]},{"id":"9b8ee0de0c66edd6","type":"debug","z":"97b73c5be4e86908","name":"1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2140,"wires":[]},{"id":"494691c7226c3522","type":"debug","z":"97b73c5be4e86908","name":"2","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2180,"wires":[]},{"id":"6e0577e5d8dca172","type":"debug","z":"97b73c5be4e86908","name":"3","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1050,"y":2220,"wires":[]},{"id":"24208d73be6177fe","type":"debug","z":"97b73c5be4e86908","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":610,"y":2100,"wires":[]},{"id":"1b22726c41ea9847","type":"join","z":"97b73c5be4e86908","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"1","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":840,"y":2280,"wires":[["d2ec9e3d1993689d","a062c9d4ab27f865","608fbff6e89e1664"]]},{"id":"d2ec9e3d1993689d","type":"debug","z":"97b73c5be4e86908","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1010,"y":2280,"wires":[]},{"id":"a062c9d4ab27f865","type":"change","z":"97b73c5be4e86908","name":"3. Parameter","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[2]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":2340,"wires":[["5abb34cbdb717919"]]},{"id":"5abb34cbdb717919","type":"debug","z":"97b73c5be4e86908","name":"3. Parameter","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1190,"y":2340,"wires":[]},{"id":"608fbff6e89e1664","type":"change","z":"97b73c5be4e86908","name":"1. Parameter","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.0","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":2400,"wires":[["c3921bf402679bb0"]]},{"id":"c3921bf402679bb0","type":"debug","z":"97b73c5be4e86908","name":"1. Parameter","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1190,"y":2400,"wires":[]}]
          

          Und noch was zur Ergänzung - um ein Array aus einem String mit einem Trennzeichen zu machen - nimmst Du nur ein ChangeNode mit JSONATA - das ist dann genauso einfach, wie JS oder Blockly ohne split und join. ;) Violetter Kasten.

          15a71a87-4691-47ae-98e1-1d8952a547ac-image.png

          [
             {
                 "id": "40d1f081.f95a5",
                 "type": "group",
                 "z": "193aabb435e1f946",
                 "name": "",
                 "style": {
                     "fill": "#dbcbe7",
                     "label": true
                 },
                 "nodes": [
                     "e36107cc.1523e8",
                     "129122c2.7688ad",
                     "b2e90a86.7fc5d8",
                     "a135755.cc4aa88",
                     "8e88786d.566b08",
                     "74db2116.d66b4"
                 ],
                 "x": 314,
                 "y": 1059,
                 "w": 832,
                 "h": 202
             },
             {
                 "id": "e36107cc.1523e8",
                 "type": "change",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "Array erstellen aus String mit : als Trennzeichen",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "$split(payload, ':')\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 520,
                 "y": 1120,
                 "wires": [
                     [
                         "129122c2.7688ad",
                         "a135755.cc4aa88",
                         "74db2116.d66b4"
                     ]
                 ]
             },
             {
                 "id": "129122c2.7688ad",
                 "type": "change",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "3. Parameter",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload[2]",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 850,
                 "y": 1100,
                 "wires": [
                     [
                         "b2e90a86.7fc5d8"
                     ]
                 ]
             },
             {
                 "id": "b2e90a86.7fc5d8",
                 "type": "debug",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "3. Parameter",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1030,
                 "y": 1100,
                 "wires": []
             },
             {
                 "id": "a135755.cc4aa88",
                 "type": "change",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "1. Parameter",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "payload.0",
                         "tot": "msg"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 850,
                 "y": 1160,
                 "wires": [
                     [
                         "8e88786d.566b08"
                     ]
                 ]
             },
             {
                 "id": "8e88786d.566b08",
                 "type": "debug",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "1. Parameter",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 1030,
                 "y": 1160,
                 "wires": []
             },
             {
                 "id": "74db2116.d66b4",
                 "type": "debug",
                 "z": "193aabb435e1f946",
                 "g": "40d1f081.f95a5",
                 "name": "Aufgeteilter Input ",
                 "active": true,
                 "tosidebar": true,
                 "console": false,
                 "tostatus": false,
                 "complete": "payload",
                 "targetType": "msg",
                 "statusVal": "",
                 "statusType": "auto",
                 "x": 830,
                 "y": 1220,
                 "wires": []
             }
          ]
          

          Und: das nächste Mal meldest Du Dich früher. ;)

          @haselchen :grin:

          J Offline
          J Offline
          J.BORGER
          schrieb am zuletzt editiert von
          #4

          @mickym Danke für die Erklärung.
          Hat alles so geklappt... hatte es schon mal so probiert aber es hatte nicht funktioniert. Hatte irgendwas dann falsch gemacht und mich total verrant.

          Was wollte ich...

          Ich habe in meiner CCU eine Fehlermeldungsspeicher der an den NEO übergeben wird. Dieses ist eine Verkettung einzelner Strings und Funktioniert super (Für Fehlermeldungen am Handy angezeigt zu bekommen).

          Seit neustem Experimentiere ich mit dem S7 (Siemens) Adapter und will den gebastelten Meldespeicher an die S7 300 weiterleiten (SPS). Leider kann ich nur max. 32 Strings auf einmal in den Datenbaustein der SPS übertragen. Die Strings sind oft viel länger und daher Splitte ich diese auf um sie anschließend in der SPS wieder zusammenzusetzen. Von dort aus geht es dann auf die HMI (Automatisierungspanel).

          Kurze Übersicht über den übertragungsweg:
          Daten --> CCU --> Iobroker --> S7 Adapter 4 x 32 byte --> Red Node (Splitten in 4 Byte) --> SPS (zusammenbasteln) --> an HMI (Anzeige)

          Gruß

          mickymM 1 Antwort Letzte Antwort
          0
          • J J.BORGER

            @mickym Danke für die Erklärung.
            Hat alles so geklappt... hatte es schon mal so probiert aber es hatte nicht funktioniert. Hatte irgendwas dann falsch gemacht und mich total verrant.

            Was wollte ich...

            Ich habe in meiner CCU eine Fehlermeldungsspeicher der an den NEO übergeben wird. Dieses ist eine Verkettung einzelner Strings und Funktioniert super (Für Fehlermeldungen am Handy angezeigt zu bekommen).

            Seit neustem Experimentiere ich mit dem S7 (Siemens) Adapter und will den gebastelten Meldespeicher an die S7 300 weiterleiten (SPS). Leider kann ich nur max. 32 Strings auf einmal in den Datenbaustein der SPS übertragen. Die Strings sind oft viel länger und daher Splitte ich diese auf um sie anschließend in der SPS wieder zusammenzusetzen. Von dort aus geht es dann auf die HMI (Automatisierungspanel).

            Kurze Übersicht über den übertragungsweg:
            Daten --> CCU --> Iobroker --> S7 Adapter 4 x 32 byte --> Red Node (Splitten in 4 Byte) --> SPS (zusammenbasteln) --> an HMI (Anzeige)

            Gruß

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

            gelöscht

            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
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            932

            Online

            32.5k

            Benutzer

            81.6k

            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