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. Json splitten in 4 Datenpunkten

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Json splitten in 4 Datenpunkten

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
24 Beiträge 3 Kommentatoren 2.7k 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.
  • R roland1000

    @mickym

    So sieht die Originale Mqtt nachricht aus

    mqtt.0.SmartZähler_4_1.Status None, 32766, 32766, 32766, 32766, C82B961DCB31, FRITZBOX, -64dB, 192.168.178.99, 5
    
    

    LG roland1000

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

    @roland1000 OK das ist kein JSON sondern Array.

    Das kannst Du über split in JS in ein Array über führen.

    Ansonsten mach ich Dir für dafür einen kleinen Flow,

    Wenn Du es in ein Array umwandels (erste Change Node)

    412a112d-7b9b-4035-8016-eb62a21da197-image.png

    Auf diese einzelnen Werte greifst Du dann einfach über payload.0 oder payload.1 zu - also IP ist payload.8

    ad53fc95-d76b-431a-ae96-73bf9731e625-image.png

    f8f12800-6962-424c-8543-7d623960d72d-image.png

    Mit meinem Subflow bekommst Du dies Ergebnis:

    60dba13a-7bf3-4cb6-92e1-76bebf391111-image.png

    Wenn Du den Flow implementierst - hast Du den Subflow mit implementiert - musst halt wieder löschen, wenn Du ihn nicht willst.

    [
       {
           "id": "c3403a60.92fbb8",
           "type": "subflow",
           "name": "JSON or Obj to IOBroker",
           "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs no `msg.top` property is defined, then you will get an error in the following iobroker-out node (key or topic does not exist) - if you append a debug node to the subflow node you will get the message: \n> Please define msg.top as root for the object structure \n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls in keine Angabe in msg.top definiert wurde, wird man in der darauffolgenden iobroker-out node den Fehler erhalten, dass kein key oder topic definiert ist. Falls eine debug Node an den Subflow angehängt wirde erhält man folgende Ausgabe:\n> Please define msg.top as root for the object structure ",
           "category": "",
           "in": [
               {
                   "x": 60,
                   "y": 160,
                   "wires": [
                       {
                           "id": "94876630.f71748"
                       }
                   ]
               }
           ],
           "out": [
               {
                   "x": 2280,
                   "y": 260,
                   "wires": [
                       {
                           "id": "74b0b536.02371c",
                           "port": 0
                       },
                       {
                           "id": "ab9b1e85.eea2a",
                           "port": 0
                       }
                   ]
               }
           ],
           "env": [],
           "color": "#E2D96E",
           "icon": "node-red/batch.svg"
       },
       {
           "id": "eea737e7.7e8fb8",
           "type": "split",
           "z": "c3403a60.92fbb8",
           "name": "split object",
           "splt": "\\n",
           "spltType": "str",
           "arraySplt": 1,
           "arraySpltType": "len",
           "stream": false,
           "addname": "key",
           "x": 1170,
           "y": 160,
           "wires": [
               [
                   "dc473616.c2b508"
               ]
           ]
       },
       {
           "id": "dc473616.c2b508",
           "type": "change",
           "z": "c3403a60.92fbb8",
           "name": "add key to topic",
           "rules": [
               {
                   "t": "set",
                   "p": "stateName",
                   "pt": "msg",
                   "to": "key",
                   "tot": "msg"
               },
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "topic  & '.' & key",
                   "tot": "jsonata"
               },
               {
                   "t": "change",
                   "p": "topic",
                   "pt": "msg",
                   "from": " ",
                   "fromt": "str",
                   "to": "_",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1360,
           "y": 160,
           "wires": [
               [
                   "78697695.9a72c8"
               ]
           ]
       },
       {
           "id": "78697695.9a72c8",
           "type": "switch",
           "z": "c3403a60.92fbb8",
           "name": "is type?",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "istype",
                   "v": "array",
                   "vt": "array"
               },
               {
                   "t": "istype",
                   "v": "object",
                   "vt": "object"
               },
               {
                   "t": "else"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 3,
           "x": 1540,
           "y": 160,
           "wires": [
               [
                   "d839cef8.577f1"
               ],
               [
                   "eea737e7.7e8fb8"
               ],
               [
                   "bdfdae99.f4d9d"
               ]
           ]
       },
       {
           "id": "d839cef8.577f1",
           "type": "split",
           "z": "c3403a60.92fbb8",
           "name": "split array",
           "splt": "\\n",
           "spltType": "str",
           "arraySplt": 1,
           "arraySpltType": "len",
           "stream": false,
           "addname": "",
           "x": 580,
           "y": 280,
           "wires": [
               [
                   "36327f2d.8efc3"
               ]
           ]
       },
       {
           "id": "36327f2d.8efc3",
           "type": "change",
           "z": "c3403a60.92fbb8",
           "name": "add index to topic",
           "rules": [
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "topic  & '.' & parts.index",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 770,
           "y": 280,
           "wires": [
               [
                   "d8f58d9b.b6a1"
               ]
           ]
       },
       {
           "id": "74b0b536.02371c",
           "type": "change",
           "z": "c3403a60.92fbb8",
           "name": "finalize msg.topic",
           "rules": [
               {
                   "t": "set",
                   "p": "top",
                   "pt": "msg",
                   "to": "'0_userdata.0.' & top",
                   "tot": "jsonata"
               },
               {
                   "t": "set",
                   "p": "topic",
                   "pt": "msg",
                   "to": "top & topic",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1970,
           "y": 240,
           "wires": [
               []
           ]
       },
       {
           "id": "4cdee7cb.910c38",
           "type": "switch",
           "z": "c3403a60.92fbb8",
           "name": "is type?",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "istype",
                   "v": "json",
                   "vt": "json"
               },
               {
                   "t": "istype",
                   "v": "object",
                   "vt": "object"
               },
               {
                   "t": "istype",
                   "v": "array",
                   "vt": "array"
               },
               {
                   "t": "else"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 4,
           "x": 400,
           "y": 160,
           "wires": [
               [
                   "c1c41535.17d3b8"
               ],
               [
                   "eea737e7.7e8fb8"
               ],
               [
                   "d839cef8.577f1"
               ],
               [
                   "d8f58d9b.b6a1"
               ]
           ]
       },
       {
           "id": "c1c41535.17d3b8",
           "type": "json",
           "z": "c3403a60.92fbb8",
           "name": "",
           "property": "payload",
           "action": "",
           "pretty": false,
           "x": 570,
           "y": 120,
           "wires": [
               [
                   "3ccd67db.375058"
               ]
           ]
       },
       {
           "id": "bdfdae99.f4d9d",
           "type": "switch",
           "z": "c3403a60.92fbb8",
           "name": "is msg.top != null",
           "property": "top",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "nnull"
               },
               {
                   "t": "null"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 2,
           "x": 1750,
           "y": 280,
           "wires": [
               [
                   "74b0b536.02371c"
               ],
               [
                   "7ba7dc21.fdb214"
               ]
           ]
       },
       {
           "id": "7ba7dc21.fdb214",
           "type": "change",
           "z": "c3403a60.92fbb8",
           "name": "payload = warning",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "Please define msg.top as root for the object structure",
                   "tot": "str"
               },
               {
                   "t": "delete",
                   "p": "topic",
                   "pt": "msg"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1970,
           "y": 300,
           "wires": [
               [
                   "ab9b1e85.eea2a"
               ]
           ]
       },
       {
           "id": "ab9b1e85.eea2a",
           "type": "rbe",
           "z": "c3403a60.92fbb8",
           "name": "",
           "func": "rbe",
           "gap": "",
           "start": "",
           "inout": "out",
           "septopics": true,
           "property": "payload",
           "x": 2130,
           "y": 300,
           "wires": [
               []
           ]
       },
       {
           "id": "94876630.f71748",
           "type": "change",
           "z": "c3403a60.92fbb8",
           "name": "",
           "rules": [
               {
                   "t": "delete",
                   "p": "topic",
                   "pt": "msg"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 210,
           "y": 160,
           "wires": [
               [
                   "4cdee7cb.910c38"
               ]
           ]
       },
       {
           "id": "3ccd67db.375058",
           "type": "switch",
           "z": "c3403a60.92fbb8",
           "name": "is array?",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "istype",
                   "v": "array",
                   "vt": "array"
               },
               {
                   "t": "else"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 2,
           "x": 700,
           "y": 120,
           "wires": [
               [
                   "d839cef8.577f1"
               ],
               [
                   "eea737e7.7e8fb8"
               ]
           ]
       },
       {
           "id": "80dde279.c28ec",
           "type": "comment",
           "z": "c3403a60.92fbb8",
           "name": "Array",
           "info": "",
           "x": 400,
           "y": 280,
           "wires": []
       },
       {
           "id": "95ee816e.68a16",
           "type": "comment",
           "z": "c3403a60.92fbb8",
           "name": "object",
           "info": "",
           "x": 1140,
           "y": 100,
           "wires": []
       },
       {
           "id": "d8f58d9b.b6a1",
           "type": "switch",
           "z": "c3403a60.92fbb8",
           "name": "is type?",
           "property": "payload",
           "propertyType": "msg",
           "rules": [
               {
                   "t": "istype",
                   "v": "object",
                   "vt": "object"
               },
               {
                   "t": "istype",
                   "v": "array",
                   "vt": "array"
               },
               {
                   "t": "else"
               }
           ],
           "checkall": "true",
           "repair": false,
           "outputs": 3,
           "x": 960,
           "y": 280,
           "wires": [
               [
                   "eea737e7.7e8fb8"
               ],
               [
                   "d839cef8.577f1"
               ],
               [
                   "bdfdae99.f4d9d"
               ]
           ]
       },
       {
           "id": "b1c7e4de.c5e3b8",
           "type": "change",
           "z": "6e170384.60c96c",
           "name": "",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "$split(payload, ',')\t",
                   "tot": "jsonata"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1770,
           "y": 4500,
           "wires": [
               [
                   "dbb1239.52cf7e",
                   "3b50374d.40bbc8",
                   "8f074db1.50967"
               ]
           ]
       },
       {
           "id": "8088f4f7.6eb0d8",
           "type": "inject",
           "z": "6e170384.60c96c",
           "name": "",
           "props": [
               {
                   "p": "payload"
               }
           ],
           "repeat": "",
           "crontab": "",
           "once": false,
           "onceDelay": 0.1,
           "topic": "",
           "payload": "mqtt.0.SmartZähler_4_1.Status None, 32766, 32766, 32766, 32766, C82B961DCB31, FRITZBOX, -64dB, 192.168.178.99, 5  ",
           "payloadType": "str",
           "x": 1580,
           "y": 4500,
           "wires": [
               [
                   "b1c7e4de.c5e3b8"
               ]
           ]
       },
       {
           "id": "dbb1239.52cf7e",
           "type": "debug",
           "z": "6e170384.60c96c",
           "name": "",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "false",
           "statusVal": "",
           "statusType": "auto",
           "x": 1990,
           "y": 4440,
           "wires": []
       },
       {
           "id": "3b50374d.40bbc8",
           "type": "change",
           "z": "6e170384.60c96c",
           "name": "",
           "rules": [
               {
                   "t": "set",
                   "p": "top",
                   "pt": "msg",
                   "to": "Example.roland1000",
                   "tot": "str"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1990,
           "y": 4500,
           "wires": [
               [
                   "c95221db.97524"
               ]
           ]
       },
       {
           "id": "c95221db.97524",
           "type": "subflow:c3403a60.92fbb8",
           "z": "6e170384.60c96c",
           "name": "",
           "x": 2220,
           "y": 4500,
           "wires": [
               [
                   "d51846e1.274e08"
               ]
           ]
       },
       {
           "id": "d51846e1.274e08",
           "type": "ioBroker out",
           "z": "6e170384.60c96c",
           "name": "",
           "topic": "",
           "ack": "false",
           "autoCreate": "true",
           "stateName": "",
           "role": "",
           "payloadType": "",
           "readonly": "",
           "stateUnit": "",
           "stateMin": "",
           "stateMax": "",
           "x": 2480,
           "y": 4500,
           "wires": []
       },
       {
           "id": "8f074db1.50967",
           "type": "change",
           "z": "6e170384.60c96c",
           "name": "IP Adress",
           "rules": [
               {
                   "t": "set",
                   "p": "payload",
                   "pt": "msg",
                   "to": "payload.8",
                   "tot": "msg"
               }
           ],
           "action": "",
           "property": "",
           "from": "",
           "to": "",
           "reg": false,
           "x": 1960,
           "y": 4580,
           "wires": [
               [
                   "440328e1.b3b188"
               ]
           ]
       },
       {
           "id": "440328e1.b3b188",
           "type": "debug",
           "z": "6e170384.60c96c",
           "name": "",
           "active": true,
           "tosidebar": true,
           "console": false,
           "tostatus": false,
           "complete": "false",
           "statusVal": "",
           "statusType": "auto",
           "x": 2140,
           "y": 4580,
           "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.

    R 1 Antwort Letzte Antwort
    1
    • mickymM mickym

      @roland1000 OK das ist kein JSON sondern Array.

      Das kannst Du über split in JS in ein Array über führen.

      Ansonsten mach ich Dir für dafür einen kleinen Flow,

      Wenn Du es in ein Array umwandels (erste Change Node)

      412a112d-7b9b-4035-8016-eb62a21da197-image.png

      Auf diese einzelnen Werte greifst Du dann einfach über payload.0 oder payload.1 zu - also IP ist payload.8

      ad53fc95-d76b-431a-ae96-73bf9731e625-image.png

      f8f12800-6962-424c-8543-7d623960d72d-image.png

      Mit meinem Subflow bekommst Du dies Ergebnis:

      60dba13a-7bf3-4cb6-92e1-76bebf391111-image.png

      Wenn Du den Flow implementierst - hast Du den Subflow mit implementiert - musst halt wieder löschen, wenn Du ihn nicht willst.

      [
         {
             "id": "c3403a60.92fbb8",
             "type": "subflow",
             "name": "JSON or Obj to IOBroker",
             "info": "# Creates an IOBroker tree\n\nThis node creates an IOBroker tree out of an Java-Object or JSON String.\n\nThe object tree will be created under 0_userdata.0\nIn addition to the JSON-String or Java Object as `msg.payload` it is necessary to specify a `msg.top` properity in addition to the msg-Object.\n\nThe object tree will be created under 0_userdata.0\n\nExisting `msg.topic` entries will be deleted.\nAn iobroker-out node has to be appended to this subflow node. It is not part of the subflow itself. No topic should be specified in the iobroker out node.\n\nIs no `msg.top` property is defined, then you will get an error in the following iobroker-out node (key or topic does not exist) - if you append a debug node to the subflow node you will get the message: \n> Please define msg.top as root for the object structure \n\n# Erstellt einen Objektbaum im ioBroker\n\nDiese Node erstellt einen Objektbaum im ioBroker aus einem JAVA Objekt bzw. einem JSON String. \n\nDer Baum wird in jedem Fall unter 0_userdata.0 erstellt und zwar unter dem Topic der in` msg.top` mitgegeben wurde. In der `msg.payload` befindet sich dann der JSON String oder das entsprechende Objekt.\n\nExistierende `msg.topic `Einträge werden gelöscht.\nEin entsprechende iobroker-out Node muss an den Flow angehängt werden. Sie ist nicht Bestandteil des Subflows. In dieser iobroker-out Node darf kein Topic angegeben werden. \n\nFalls in keine Angabe in msg.top definiert wurde, wird man in der darauffolgenden iobroker-out node den Fehler erhalten, dass kein key oder topic definiert ist. Falls eine debug Node an den Subflow angehängt wirde erhält man folgende Ausgabe:\n> Please define msg.top as root for the object structure ",
             "category": "",
             "in": [
                 {
                     "x": 60,
                     "y": 160,
                     "wires": [
                         {
                             "id": "94876630.f71748"
                         }
                     ]
                 }
             ],
             "out": [
                 {
                     "x": 2280,
                     "y": 260,
                     "wires": [
                         {
                             "id": "74b0b536.02371c",
                             "port": 0
                         },
                         {
                             "id": "ab9b1e85.eea2a",
                             "port": 0
                         }
                     ]
                 }
             ],
             "env": [],
             "color": "#E2D96E",
             "icon": "node-red/batch.svg"
         },
         {
             "id": "eea737e7.7e8fb8",
             "type": "split",
             "z": "c3403a60.92fbb8",
             "name": "split object",
             "splt": "\\n",
             "spltType": "str",
             "arraySplt": 1,
             "arraySpltType": "len",
             "stream": false,
             "addname": "key",
             "x": 1170,
             "y": 160,
             "wires": [
                 [
                     "dc473616.c2b508"
                 ]
             ]
         },
         {
             "id": "dc473616.c2b508",
             "type": "change",
             "z": "c3403a60.92fbb8",
             "name": "add key to topic",
             "rules": [
                 {
                     "t": "set",
                     "p": "stateName",
                     "pt": "msg",
                     "to": "key",
                     "tot": "msg"
                 },
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "topic  & '.' & key",
                     "tot": "jsonata"
                 },
                 {
                     "t": "change",
                     "p": "topic",
                     "pt": "msg",
                     "from": " ",
                     "fromt": "str",
                     "to": "_",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1360,
             "y": 160,
             "wires": [
                 [
                     "78697695.9a72c8"
                 ]
             ]
         },
         {
             "id": "78697695.9a72c8",
             "type": "switch",
             "z": "c3403a60.92fbb8",
             "name": "is type?",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "istype",
                     "v": "array",
                     "vt": "array"
                 },
                 {
                     "t": "istype",
                     "v": "object",
                     "vt": "object"
                 },
                 {
                     "t": "else"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 3,
             "x": 1540,
             "y": 160,
             "wires": [
                 [
                     "d839cef8.577f1"
                 ],
                 [
                     "eea737e7.7e8fb8"
                 ],
                 [
                     "bdfdae99.f4d9d"
                 ]
             ]
         },
         {
             "id": "d839cef8.577f1",
             "type": "split",
             "z": "c3403a60.92fbb8",
             "name": "split array",
             "splt": "\\n",
             "spltType": "str",
             "arraySplt": 1,
             "arraySpltType": "len",
             "stream": false,
             "addname": "",
             "x": 580,
             "y": 280,
             "wires": [
                 [
                     "36327f2d.8efc3"
                 ]
             ]
         },
         {
             "id": "36327f2d.8efc3",
             "type": "change",
             "z": "c3403a60.92fbb8",
             "name": "add index to topic",
             "rules": [
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "topic  & '.' & parts.index",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 770,
             "y": 280,
             "wires": [
                 [
                     "d8f58d9b.b6a1"
                 ]
             ]
         },
         {
             "id": "74b0b536.02371c",
             "type": "change",
             "z": "c3403a60.92fbb8",
             "name": "finalize msg.topic",
             "rules": [
                 {
                     "t": "set",
                     "p": "top",
                     "pt": "msg",
                     "to": "'0_userdata.0.' & top",
                     "tot": "jsonata"
                 },
                 {
                     "t": "set",
                     "p": "topic",
                     "pt": "msg",
                     "to": "top & topic",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1970,
             "y": 240,
             "wires": [
                 []
             ]
         },
         {
             "id": "4cdee7cb.910c38",
             "type": "switch",
             "z": "c3403a60.92fbb8",
             "name": "is type?",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "istype",
                     "v": "json",
                     "vt": "json"
                 },
                 {
                     "t": "istype",
                     "v": "object",
                     "vt": "object"
                 },
                 {
                     "t": "istype",
                     "v": "array",
                     "vt": "array"
                 },
                 {
                     "t": "else"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 4,
             "x": 400,
             "y": 160,
             "wires": [
                 [
                     "c1c41535.17d3b8"
                 ],
                 [
                     "eea737e7.7e8fb8"
                 ],
                 [
                     "d839cef8.577f1"
                 ],
                 [
                     "d8f58d9b.b6a1"
                 ]
             ]
         },
         {
             "id": "c1c41535.17d3b8",
             "type": "json",
             "z": "c3403a60.92fbb8",
             "name": "",
             "property": "payload",
             "action": "",
             "pretty": false,
             "x": 570,
             "y": 120,
             "wires": [
                 [
                     "3ccd67db.375058"
                 ]
             ]
         },
         {
             "id": "bdfdae99.f4d9d",
             "type": "switch",
             "z": "c3403a60.92fbb8",
             "name": "is msg.top != null",
             "property": "top",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "nnull"
                 },
                 {
                     "t": "null"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 1750,
             "y": 280,
             "wires": [
                 [
                     "74b0b536.02371c"
                 ],
                 [
                     "7ba7dc21.fdb214"
                 ]
             ]
         },
         {
             "id": "7ba7dc21.fdb214",
             "type": "change",
             "z": "c3403a60.92fbb8",
             "name": "payload = warning",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "Please define msg.top as root for the object structure",
                     "tot": "str"
                 },
                 {
                     "t": "delete",
                     "p": "topic",
                     "pt": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1970,
             "y": 300,
             "wires": [
                 [
                     "ab9b1e85.eea2a"
                 ]
             ]
         },
         {
             "id": "ab9b1e85.eea2a",
             "type": "rbe",
             "z": "c3403a60.92fbb8",
             "name": "",
             "func": "rbe",
             "gap": "",
             "start": "",
             "inout": "out",
             "septopics": true,
             "property": "payload",
             "x": 2130,
             "y": 300,
             "wires": [
                 []
             ]
         },
         {
             "id": "94876630.f71748",
             "type": "change",
             "z": "c3403a60.92fbb8",
             "name": "",
             "rules": [
                 {
                     "t": "delete",
                     "p": "topic",
                     "pt": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 210,
             "y": 160,
             "wires": [
                 [
                     "4cdee7cb.910c38"
                 ]
             ]
         },
         {
             "id": "3ccd67db.375058",
             "type": "switch",
             "z": "c3403a60.92fbb8",
             "name": "is array?",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "istype",
                     "v": "array",
                     "vt": "array"
                 },
                 {
                     "t": "else"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 2,
             "x": 700,
             "y": 120,
             "wires": [
                 [
                     "d839cef8.577f1"
                 ],
                 [
                     "eea737e7.7e8fb8"
                 ]
             ]
         },
         {
             "id": "80dde279.c28ec",
             "type": "comment",
             "z": "c3403a60.92fbb8",
             "name": "Array",
             "info": "",
             "x": 400,
             "y": 280,
             "wires": []
         },
         {
             "id": "95ee816e.68a16",
             "type": "comment",
             "z": "c3403a60.92fbb8",
             "name": "object",
             "info": "",
             "x": 1140,
             "y": 100,
             "wires": []
         },
         {
             "id": "d8f58d9b.b6a1",
             "type": "switch",
             "z": "c3403a60.92fbb8",
             "name": "is type?",
             "property": "payload",
             "propertyType": "msg",
             "rules": [
                 {
                     "t": "istype",
                     "v": "object",
                     "vt": "object"
                 },
                 {
                     "t": "istype",
                     "v": "array",
                     "vt": "array"
                 },
                 {
                     "t": "else"
                 }
             ],
             "checkall": "true",
             "repair": false,
             "outputs": 3,
             "x": 960,
             "y": 280,
             "wires": [
                 [
                     "eea737e7.7e8fb8"
                 ],
                 [
                     "d839cef8.577f1"
                 ],
                 [
                     "bdfdae99.f4d9d"
                 ]
             ]
         },
         {
             "id": "b1c7e4de.c5e3b8",
             "type": "change",
             "z": "6e170384.60c96c",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "$split(payload, ',')\t",
                     "tot": "jsonata"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1770,
             "y": 4500,
             "wires": [
                 [
                     "dbb1239.52cf7e",
                     "3b50374d.40bbc8",
                     "8f074db1.50967"
                 ]
             ]
         },
         {
             "id": "8088f4f7.6eb0d8",
             "type": "inject",
             "z": "6e170384.60c96c",
             "name": "",
             "props": [
                 {
                     "p": "payload"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": false,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "mqtt.0.SmartZähler_4_1.Status None, 32766, 32766, 32766, 32766, C82B961DCB31, FRITZBOX, -64dB, 192.168.178.99, 5  ",
             "payloadType": "str",
             "x": 1580,
             "y": 4500,
             "wires": [
                 [
                     "b1c7e4de.c5e3b8"
                 ]
             ]
         },
         {
             "id": "dbb1239.52cf7e",
             "type": "debug",
             "z": "6e170384.60c96c",
             "name": "",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "statusVal": "",
             "statusType": "auto",
             "x": 1990,
             "y": 4440,
             "wires": []
         },
         {
             "id": "3b50374d.40bbc8",
             "type": "change",
             "z": "6e170384.60c96c",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "top",
                     "pt": "msg",
                     "to": "Example.roland1000",
                     "tot": "str"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1990,
             "y": 4500,
             "wires": [
                 [
                     "c95221db.97524"
                 ]
             ]
         },
         {
             "id": "c95221db.97524",
             "type": "subflow:c3403a60.92fbb8",
             "z": "6e170384.60c96c",
             "name": "",
             "x": 2220,
             "y": 4500,
             "wires": [
                 [
                     "d51846e1.274e08"
                 ]
             ]
         },
         {
             "id": "d51846e1.274e08",
             "type": "ioBroker out",
             "z": "6e170384.60c96c",
             "name": "",
             "topic": "",
             "ack": "false",
             "autoCreate": "true",
             "stateName": "",
             "role": "",
             "payloadType": "",
             "readonly": "",
             "stateUnit": "",
             "stateMin": "",
             "stateMax": "",
             "x": 2480,
             "y": 4500,
             "wires": []
         },
         {
             "id": "8f074db1.50967",
             "type": "change",
             "z": "6e170384.60c96c",
             "name": "IP Adress",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.8",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 1960,
             "y": 4580,
             "wires": [
                 [
                     "440328e1.b3b188"
                 ]
             ]
         },
         {
             "id": "440328e1.b3b188",
             "type": "debug",
             "z": "6e170384.60c96c",
             "name": "",
             "active": true,
             "tosidebar": true,
             "console": false,
             "tostatus": false,
             "complete": "false",
             "statusVal": "",
             "statusType": "auto",
             "x": 2140,
             "y": 4580,
             "wires": []
         }
      ]
      

      R Offline
      R Offline
      roland1000
      schrieb am zuletzt editiert von
      #9

      @mickym

      Im array Modus hab ich nur die Sonderzeichen gehabt. A B C D sind an einen ADS1115 angeschlossen der liefert werte von 4 Stromwandler habe mich deswegen entschieden weil ich dann nur einen ESP8266 verbauen muste.

      R mickymM 2 Antworten Letzte Antwort
      0
      • R roland1000

        @mickym

        Im array Modus hab ich nur die Sonderzeichen gehabt. A B C D sind an einen ADS1115 angeschlossen der liefert werte von 4 Stromwandler habe mich deswegen entschieden weil ich dann nur einen ESP8266 verbauen muste.

        R Offline
        R Offline
        roland1000
        schrieb am zuletzt editiert von
        #10

        @roland1000

        Denke mal muss noch einiges lernen mit node red. Dem Hauptteil meiner scripte ist in Blockly weil diese der S7 ähnlich ist .

        1 Antwort Letzte Antwort
        0
        • R roland1000

          @mickym

          Im array Modus hab ich nur die Sonderzeichen gehabt. A B C D sind an einen ADS1115 angeschlossen der liefert werte von 4 Stromwandler habe mich deswegen entschieden weil ich dann nur einen ESP8266 verbauen muste.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #11

          @roland1000 Bis auf das erste Zeichen in dem String sehe ich zumindest nichts ausgewöhnliches - das kann man ggf. noch mit einem Change rausfiltern - aber ich seh sonst keine Sonderzeichen???

          Ich hab mal die Leerzeichen eliminiert:

          27bd9ae3-ebe0-44d4-9d5c-27c46f7ce0e4-image.png

          Dann kommt das eigentlich sehr sauber raus:

          186f54c5-70df-4ae1-90d7-21c1291570ca-image.png

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

          R 2 Antworten Letzte Antwort
          1
          • mickymM mickym

            @roland1000 Bis auf das erste Zeichen in dem String sehe ich zumindest nichts ausgewöhnliches - das kann man ggf. noch mit einem Change rausfiltern - aber ich seh sonst keine Sonderzeichen???

            Ich hab mal die Leerzeichen eliminiert:

            27bd9ae3-ebe0-44d4-9d5c-27c46f7ce0e4-image.png

            Dann kommt das eigentlich sehr sauber raus:

            186f54c5-70df-4ae1-90d7-21c1291570ca-image.png

            R Offline
            R Offline
            roland1000
            schrieb am zuletzt editiert von
            #12

            @mickym

            Dann hab ich Node red noch nicht ganz verstanden wie gesagt der Datenpunkt wurde zugeordnet aber mit Sonderzeichen die ständig gewechselt haben

            mickymM 1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @roland1000 Bis auf das erste Zeichen in dem String sehe ich zumindest nichts ausgewöhnliches - das kann man ggf. noch mit einem Change rausfiltern - aber ich seh sonst keine Sonderzeichen???

              Ich hab mal die Leerzeichen eliminiert:

              27bd9ae3-ebe0-44d4-9d5c-27c46f7ce0e4-image.png

              Dann kommt das eigentlich sehr sauber raus:

              186f54c5-70df-4ae1-90d7-21c1291570ca-image.png

              R Offline
              R Offline
              roland1000
              schrieb am zuletzt editiert von
              #13

              @mickym

              Ich danke dir 1000mal für deine Hilfe. Ich hab mir echt einen Abgebrochen .

              LG
              Roland1000

              1 Antwort Letzte Antwort
              0
              • R roland1000

                @mickym

                Dann hab ich Node red noch nicht ganz verstanden wie gesagt der Datenpunkt wurde zugeordnet aber mit Sonderzeichen die ständig gewechselt haben

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #14

                @roland1000 sagte in Json splitten in 4 Datenpunkten:

                @mickym

                Dann hab ich Node red noch nicht ganz verstanden wie gesagt der Datenpunkt wurde zugeordnet aber mit Sonderzeichen die ständig gewechselt haben

                Da kann ich Dir nur helfen, wenn Du Deinen Flow veröffentlichst und in eine InjectNode - den Quellstring einsetzt, der aus mqtt rauskommt.

                Aber wenn es so für Dich funktioniert ist ja alles gut.

                Nur wenn man um Hilfe bittet, dann ist es halt wichtig zu sehen, was ist die Ausgangslage und wieviel von dem ist da drin, was man schon selbst versucht hat. ;)

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

                R 1 Antwort Letzte Antwort
                0
                • mickymM mickym

                  @roland1000 sagte in Json splitten in 4 Datenpunkten:

                  @mickym

                  Dann hab ich Node red noch nicht ganz verstanden wie gesagt der Datenpunkt wurde zugeordnet aber mit Sonderzeichen die ständig gewechselt haben

                  Da kann ich Dir nur helfen, wenn Du Deinen Flow veröffentlichst und in eine InjectNode - den Quellstring einsetzt, der aus mqtt rauskommt.

                  Aber wenn es so für Dich funktioniert ist ja alles gut.

                  Nur wenn man um Hilfe bittet, dann ist es halt wichtig zu sehen, was ist die Ausgangslage und wieviel von dem ist da drin, was man schon selbst versucht hat. ;)

                  R Offline
                  R Offline
                  roland1000
                  schrieb am zuletzt editiert von
                  #15

                  @mickym

                  Hab bis jetzt immer wieder alles verworfen dann wieder von vorne angefangen. Mein erstes Projekt hat ungefähr ein halbes Jahr gebraucht um zu funktionieren .

                  mickymM 1 Antwort Letzte Antwort
                  0
                  • R roland1000

                    @mickym

                    Hab bis jetzt immer wieder alles verworfen dann wieder von vorne angefangen. Mein erstes Projekt hat ungefähr ein halbes Jahr gebraucht um zu funktionieren .

                    mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #16

                    @roland1000 Wie gesagt ich helfe Dir gerne - und ich bin ein NodeRed Fan. wie Du wahrscheinlich schon festgestellt hast. Ich muss halt immer nur alle Fakten und die Zielsetzung vor Augen haben, nur dann kann ich halt effizient helfen.

                    Im Übrigen schon im Standard - kannst in NodeRed sowohl über die iobroker NOdes - als auch über mqtt-Nodes auf mqtt Daten zugreifen. ;)

                    und noch ein Tipp: Mach in Deinem NodeRed Adapter gleich die unselige Option aus, dass alles in Strings umgewandelt wird. Das macht nur Verdruss.

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

                    R 1 Antwort Letzte Antwort
                    1
                    • mickymM mickym

                      @roland1000 Wie gesagt ich helfe Dir gerne - und ich bin ein NodeRed Fan. wie Du wahrscheinlich schon festgestellt hast. Ich muss halt immer nur alle Fakten und die Zielsetzung vor Augen haben, nur dann kann ich halt effizient helfen.

                      Im Übrigen schon im Standard - kannst in NodeRed sowohl über die iobroker NOdes - als auch über mqtt-Nodes auf mqtt Daten zugreifen. ;)

                      und noch ein Tipp: Mach in Deinem NodeRed Adapter gleich die unselige Option aus, dass alles in Strings umgewandelt wird. Das macht nur Verdruss.

                      R Offline
                      R Offline
                      roland1000
                      schrieb am zuletzt editiert von
                      #17

                      @mickym

                      Absolut Genial das script dann kann ich endlich den Aufbau starten. Dann wünsche ich dir erstmal ein schönes Wochenende
                      und Danke nochmal für deine Hilfe.

                      LG
                      Roland1000

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        smartnoob
                        schrieb am zuletzt editiert von smartnoob
                        #18

                        So. Habe gerade nochmal ein bisschen mit blockly rumgespielt. Damit geht es eigentlich ganz einfach über den Baustein
                        Attribut "" von Object XY. Damit einfach den gewünschten Datenpunkt aktualisieren, ggf. vorher noch in gewünschten Datentyp konvertieren, fertig. LG.

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • S smartnoob

                          So. Habe gerade nochmal ein bisschen mit blockly rumgespielt. Damit geht es eigentlich ganz einfach über den Baustein
                          Attribut "" von Object XY. Damit einfach den gewünschten Datenpunkt aktualisieren, ggf. vorher noch in gewünschten Datentyp konvertieren, fertig. LG.

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #19

                          @smartnoob du meinst wohl

                          f497a6a7-4f87-4b20-b807-b54bb583c9ec-image.png

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

                          R S 3 Antworten Letzte Antwort
                          0
                          • mickymM mickym

                            @smartnoob du meinst wohl

                            f497a6a7-4f87-4b20-b807-b54bb583c9ec-image.png

                            R Offline
                            R Offline
                            roland1000
                            schrieb am zuletzt editiert von
                            #20

                            @mickym

                            Hallo erstmal .Funktioniert super mit dem Node red . Wirklich super das ihr mir hilft hab aber heute Post vom Stromversorger
                            bekommen jetzt wird unser alter Zähler gewechselt auf Digital. Hab noch gehofft das ich den noch 2 Jahre benutzten kann.

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @smartnoob du meinst wohl

                              f497a6a7-4f87-4b20-b807-b54bb583c9ec-image.png

                              S Offline
                              S Offline
                              smartnoob
                              schrieb am zuletzt editiert von smartnoob
                              #21

                              @mickym Ja, genau. Damit hat sich das Konvertieren einzelner Attributen meines JSON Objekts in einzelne Datenpunkte relativ einfach bewerkstelligen lassen.

                              1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @smartnoob du meinst wohl

                                f497a6a7-4f87-4b20-b807-b54bb583c9ec-image.png

                                R Offline
                                R Offline
                                roland1000
                                schrieb am zuletzt editiert von
                                #22

                                @mickym

                                Hi vielleicht kannst du mir dabei ein tipp geben. Node red macht Probleme generell , bei einen Neustart des ioBrokers mußte ich danach alle Skripte bei Node red wieder manuell starten vorher hatte ich nicht das Problem. Die Programme liefen sonst automatisch an. Das system läuft sehr stabil auf einen Raspberry Pi4 mit 8gb Ram und ssd Platte 120GB.

                                LG
                                Roland1000

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • R roland1000

                                  @mickym

                                  Hi vielleicht kannst du mir dabei ein tipp geben. Node red macht Probleme generell , bei einen Neustart des ioBrokers mußte ich danach alle Skripte bei Node red wieder manuell starten vorher hatte ich nicht das Problem. Die Programme liefen sonst automatisch an. Das system läuft sehr stabil auf einen Raspberry Pi4 mit 8gb Ram und ssd Platte 120GB.

                                  LG
                                  Roland1000

                                  mickymM Online
                                  mickymM Online
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #23

                                  @roland1000 Nee - bei allgemeinen Systemfragen bin ich eher selbst überfragt. Wenn ich hier so manches lesen, gibt es leute mit falscher npm oder node.js version. Gibts denn im Log einträge.

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

                                  R 1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @roland1000 Nee - bei allgemeinen Systemfragen bin ich eher selbst überfragt. Wenn ich hier so manches lesen, gibt es leute mit falscher npm oder node.js version. Gibts denn im Log einträge.

                                    R Offline
                                    R Offline
                                    roland1000
                                    schrieb am zuletzt editiert von
                                    #24

                                    @mickym

                                    Eigentlich nicht läuft sonst super das system. War auch passiert nachdem ich das update gemacht hatte in stables werde mal irgendwann mal das system mal neu einspielen .Vielleicht hängt es nur irgendwo

                                    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

                                    277

                                    Online

                                    32.6k

                                    Benutzer

                                    82.0k

                                    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