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. Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.

Geplant Angeheftet Gesperrt Verschoben Node-Red
23 Beiträge 4 Kommentatoren 2.4k Aufrufe 4 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.
  • F Offline
    F Offline
    fimoknete
    schrieb am zuletzt editiert von fimoknete
    #1

    Hallo alle,

    ich habe einen Datenstrom aus einem Websocket. Der läuft durch nodered und schreibt alles in einen Datenpunkt.

    Sieht so aus.

    791792ce-18a4-49fd-9cf4-e981f736710e-image.png ef58ad6a-6bfe-41d9-a40a-45d051e2faf4-image.png

    Der Datenpunkt wird also zugemüllt.
    5bc59580-a7a2-4714-9495-2ed8bf7f3bbb-image.png

    Im Datenpunkt sieht das so aus.
    086a9eed-ede8-4b16-b892-0a078aca50d2-image.png

    Wie bekomme ich das hin, das nur ein Wert aus dem Datenstream in den Datenpunkt geschrieben wird?

    31f5c488-c0d8-43f2-ba27-39cb039cee33-image.png

    Den Wert hätte ich gerne in meinem Datenpunkt.

    mickymM 1 Antwort Letzte Antwort
    0
    • F fimoknete

      Hallo alle,

      ich habe einen Datenstrom aus einem Websocket. Der läuft durch nodered und schreibt alles in einen Datenpunkt.

      Sieht so aus.

      791792ce-18a4-49fd-9cf4-e981f736710e-image.png ef58ad6a-6bfe-41d9-a40a-45d051e2faf4-image.png

      Der Datenpunkt wird also zugemüllt.
      5bc59580-a7a2-4714-9495-2ed8bf7f3bbb-image.png

      Im Datenpunkt sieht das so aus.
      086a9eed-ede8-4b16-b892-0a078aca50d2-image.png

      Wie bekomme ich das hin, das nur ein Wert aus dem Datenstream in den Datenpunkt geschrieben wird?

      31f5c488-c0d8-43f2-ba27-39cb039cee33-image.png

      Den Wert hätte ich gerne in meinem Datenpunkt.

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

      @fimoknete Hatte ich gerade in dem anderen Thread geschrieben:

      f6895d12-685b-4796-8d45-8002cf7f49f0-image.png

      Nächstes mal bitte Daten hier in Code-Tags einpacken.

      EDIT: Ich sehe gerade data - ist eine Eigenschaft der payload - Flow ist korrigiert:

      Hier der Import:

      [
         {
             "id": "4f2962744d91d210",
             "type": "json",
             "z": "83a67ac0fc354489",
             "name": "",
             "property": "payload.data",
             "action": "",
             "pretty": false,
             "x": 530,
             "y": 1820,
             "wires": [
                 [
                     "c79ffe10b6b6c17b",
                     "cc8a204124cc7b0a"
                 ]
             ]
         },
         {
             "id": "cc8a204124cc7b0a",
             "type": "change",
             "z": "83a67ac0fc354489",
             "name": "",
             "rules": [
                 {
                     "t": "set",
                     "p": "payload",
                     "pt": "msg",
                     "to": "payload.data.SoC",
                     "tot": "msg"
                 }
             ],
             "action": "",
             "property": "",
             "from": "",
             "to": "",
             "reg": false,
             "x": 730,
             "y": 1820,
             "wires": [
                 [
                     "b59f6a84e86153a5"
                 ]
             ]
         }
      ]
      

      Ach so und dann hinter meine Nodes halt die payload noch über eine iobroker-out in einen Datenpunkt ausgeben.

      Wenn Du alle Daten in einzelnen Datenpunkten haben willst, dann schau Dir meinen Flow an.

      https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

      Aber schreib das Ergebnis bitte unter 0_userdata.0 und nicht in den node-red Adapter!!!!

      DAS MACHT MAN NICHT:

      401442b7-506b-444e-98c2-bfde6f4d7155-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.

      F 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @fimoknete Hatte ich gerade in dem anderen Thread geschrieben:

        f6895d12-685b-4796-8d45-8002cf7f49f0-image.png

        Nächstes mal bitte Daten hier in Code-Tags einpacken.

        EDIT: Ich sehe gerade data - ist eine Eigenschaft der payload - Flow ist korrigiert:

        Hier der Import:

        [
           {
               "id": "4f2962744d91d210",
               "type": "json",
               "z": "83a67ac0fc354489",
               "name": "",
               "property": "payload.data",
               "action": "",
               "pretty": false,
               "x": 530,
               "y": 1820,
               "wires": [
                   [
                       "c79ffe10b6b6c17b",
                       "cc8a204124cc7b0a"
                   ]
               ]
           },
           {
               "id": "cc8a204124cc7b0a",
               "type": "change",
               "z": "83a67ac0fc354489",
               "name": "",
               "rules": [
                   {
                       "t": "set",
                       "p": "payload",
                       "pt": "msg",
                       "to": "payload.data.SoC",
                       "tot": "msg"
                   }
               ],
               "action": "",
               "property": "",
               "from": "",
               "to": "",
               "reg": false,
               "x": 730,
               "y": 1820,
               "wires": [
                   [
                       "b59f6a84e86153a5"
                   ]
               ]
           }
        ]
        

        Ach so und dann hinter meine Nodes halt die payload noch über eine iobroker-out in einen Datenpunkt ausgeben.

        Wenn Du alle Daten in einzelnen Datenpunkten haben willst, dann schau Dir meinen Flow an.

        https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

        Aber schreib das Ergebnis bitte unter 0_userdata.0 und nicht in den node-red Adapter!!!!

        DAS MACHT MAN NICHT:

        401442b7-506b-444e-98c2-bfde6f4d7155-image.png

        F Offline
        F Offline
        fimoknete
        schrieb am zuletzt editiert von
        #3

        @mickym
        Nicht so schnell. Ich habe mit Programmieren nix am Hut. Ich habe mich nur durch die Sachverhalte logisch durchgefrickelt und habe erst mal Datenmüll in meinen Datenpunkt bekommen.
        Wo kommt denn dein Quelltext rein?

        mickymM 1 Antwort Letzte Antwort
        0
        • F fimoknete

          @mickym
          Nicht so schnell. Ich habe mit Programmieren nix am Hut. Ich habe mich nur durch die Sachverhalte logisch durchgefrickelt und habe erst mal Datenmüll in meinen Datenpunkt bekommen.
          Wo kommt denn dein Quelltext rein?

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

          @fimoknete Du importierst die beiden Nodes:

          Öffne den Spoiler -

          3c664c34-a7da-44ab-bc6b-ac3ba709f70f-image.png

          mit Select all - alles markieren und dann mit Strg +C in die Zwischenablage damit.

          dann in NodeRed importieren:

          b5346696-ad99-4475-ad51-984b1ca2abec-image.png

          den Text in das rosa Fenster:
          5eb88a4b-893d-4d98-84c0-b4c8686cf167-image.png

          und dann auf Import

          und wie gesagt nicht in den Node-Red Adapter schreiben, sondern in Datenpunkte unter 0_userdata.0

          In der Changenode nheißt es wahrscheinlich nicht SoC sondern SOC

          6a86d9b4-44e1-4177-8bda-286c42db278d-image.png

          Das kommt leider davon, dass ich die Originaldaten nicht habe sondern nur vom Bildschirm ablesen kann.

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

          F 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @fimoknete Du importierst die beiden Nodes:

            Öffne den Spoiler -

            3c664c34-a7da-44ab-bc6b-ac3ba709f70f-image.png

            mit Select all - alles markieren und dann mit Strg +C in die Zwischenablage damit.

            dann in NodeRed importieren:

            b5346696-ad99-4475-ad51-984b1ca2abec-image.png

            den Text in das rosa Fenster:
            5eb88a4b-893d-4d98-84c0-b4c8686cf167-image.png

            und dann auf Import

            und wie gesagt nicht in den Node-Red Adapter schreiben, sondern in Datenpunkte unter 0_userdata.0

            In der Changenode nheißt es wahrscheinlich nicht SoC sondern SOC

            6a86d9b4-44e1-4177-8bda-286c42db278d-image.png

            Das kommt leider davon, dass ich die Originaldaten nicht habe sondern nur vom Bildschirm ablesen kann.

            F Offline
            F Offline
            fimoknete
            schrieb am zuletzt editiert von fimoknete
            #5

            @mickym
            Jetzt sieht das so aus am ende des debug.
            ebb482f4-dd5b-4195-ac4e-a390292e6d86-image.png

            er legt auch keinen Datenpunkt im root unter batterie an.

            mickymM 1 Antwort Letzte Antwort
            0
            • F fimoknete

              @mickym
              Jetzt sieht das so aus am ende des debug.
              ebb482f4-dd5b-4195-ac4e-a390292e6d86-image.png

              er legt auch keinen Datenpunkt im root unter batterie an.

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

              @fimoknete OK also das Problem ist, dass mir die Screenshots nichts nutzen.

              Kopiere mir mal bitte Deine Daten hier in CodeTags rein.

              Code-Tags.gif

              Geh bitte im Debugfenster der debug1 Node und kopiere das gesamte Objekt in die Zwischenablage

              919471d6-f1cf-4797-b859-8afcb3fa24f5-image.png

              c7716cbb-84ee-4bee-8ce3-3cf8067942c4-image.png

              Den Datenpunkt legst Du bitte selbst in 0_userdata.0 an oder Du nimmst meinen Flow.

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

              F 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @fimoknete OK also das Problem ist, dass mir die Screenshots nichts nutzen.

                Kopiere mir mal bitte Deine Daten hier in CodeTags rein.

                Code-Tags.gif

                Geh bitte im Debugfenster der debug1 Node und kopiere das gesamte Objekt in die Zwischenablage

                919471d6-f1cf-4797-b859-8afcb3fa24f5-image.png

                c7716cbb-84ee-4bee-8ce3-3cf8067942c4-image.png

                Den Datenpunkt legst Du bitte selbst in 0_userdata.0 an oder Du nimmst meinen Flow.

                F Offline
                F Offline
                fimoknete
                schrieb am zuletzt editiert von fimoknete
                #7

                @mickym

                {"Result":true,"code":"200","msg":"Success","data":"{\r\n "Addr": 1,\r\n "Result": true,\r\n "Cid2": "42",\r\n "D0WarningFlag": true,\r\n "D4SwitchFlag": false,\r\n "SOC": "33,98",\r\n "TOT_Vs": "52,75",\r\n "num_of_cells": "16",\r\n "cell_list": [\r\n "3,300",\r\n "3,297",\r\n "3,293",\r\n "3,296",\r\n "3,299",\r\n "3,296",\r\n "3,295",\r\n "3,297",\r\n "3,298",\r\n "3,296",\r\n "3,300",\r\n "3,295",\r\n "3,299",\r\n "3,295",\r\n "3,299",\r\n "3,297"\r\n ],\r\n "ENV_TEMP": "20,0",\r\n "pack_TEMP": "18,0",\r\n "MOS_TEMP": "19,0",\r\n "TOT_TEMPs": "4",\r\n "TEMP_list": [\r\n "18,0",\r\n "18,0",\r\n "18,0",\r\n "18,0"\r\n ],\r\n "TOT_C": "4,04",\r\n "pack_inter_RES": "0,0",\r\n "SOH": "100",\r\n ...

                kommt so aus debug1

                7089de86-fb0c-421d-a725-5e579cfd711d-image.png

                132e12fe-af77-49ad-86b8-f6a0a3d25bbd-image.png

                mickymM 1 Antwort Letzte Antwort
                0
                • F fimoknete

                  @mickym

                  {"Result":true,"code":"200","msg":"Success","data":"{\r\n "Addr": 1,\r\n "Result": true,\r\n "Cid2": "42",\r\n "D0WarningFlag": true,\r\n "D4SwitchFlag": false,\r\n "SOC": "33,98",\r\n "TOT_Vs": "52,75",\r\n "num_of_cells": "16",\r\n "cell_list": [\r\n "3,300",\r\n "3,297",\r\n "3,293",\r\n "3,296",\r\n "3,299",\r\n "3,296",\r\n "3,295",\r\n "3,297",\r\n "3,298",\r\n "3,296",\r\n "3,300",\r\n "3,295",\r\n "3,299",\r\n "3,295",\r\n "3,299",\r\n "3,297"\r\n ],\r\n "ENV_TEMP": "20,0",\r\n "pack_TEMP": "18,0",\r\n "MOS_TEMP": "19,0",\r\n "TOT_TEMPs": "4",\r\n "TEMP_list": [\r\n "18,0",\r\n "18,0",\r\n "18,0",\r\n "18,0"\r\n ],\r\n "TOT_C": "4,04",\r\n "pack_inter_RES": "0,0",\r\n "SOH": "100",\r\n ...

                  kommt so aus debug1

                  7089de86-fb0c-421d-a725-5e579cfd711d-image.png

                  132e12fe-af77-49ad-86b8-f6a0a3d25bbd-image.png

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

                  @fimoknete Ja Du hast aber nicht so in CodeTags kopiert wie ich Dir das gesagt habe.

                  Dann hänge bitte meine beiden Nodes hinter eine JSON Node - also parallel zu debug4. Meine beiden Nodes setzen die Ausgabe aus debug 4 voraus. Also 2 JSON Nodes hintereinander.

                  Alternativ bitte Daten nach meiner Anleitung aus dem letzten Post rauskopieren - so nützt das nichts.

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

                  1 Antwort Letzte Antwort
                  0
                  • mickymM Online
                    mickymM Online
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    Na das kann doch nicht so ewig dauern. Dann sag womit Du mit meiner Anleitung nicht klar kommst.

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

                    F 1 Antwort Letzte Antwort
                    1
                    • mickymM mickym

                      Na das kann doch nicht so ewig dauern. Dann sag womit Du mit meiner Anleitung nicht klar kommst.

                      F Offline
                      F Offline
                      fimoknete
                      schrieb am zuletzt editiert von
                      #10

                      @mickym Ich muss nebenbei arbeiten und habe Kinder. Daher der Verzug. Ich kümmere mich heute Abend drum. Auf jeden Fall danke für deine Mühe.

                      1 Antwort Letzte Antwort
                      0
                      • mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #11

                        @fimoknete

                        So wie gesagt in Ermangelung der Originaldaten habe ich mal versucht das zu rekonstruieren, aber wie gesagt so nutzen mir die Daten nichts.

                        3846f6eb-5ee7-4b72-8c28-105b78b74052-image.png

                        1. Die Inject Node versucht also Deinen Input zu simulieren (wie gesagt wenn das nicht hinhaut - bitte Originaldaten in CodeTags hier rein). Debugausgabe ist: JSON String gesamt

                        2. Anschließend wird der gesamte JSON in ein Objekt gewandelt - data enthält aber immer noch JSON String. Deswegen die Ausgabe Data JSON String (data ist also immer noch String - der Rest bereits Objekt)

                        3. Die 2. JSON Node konvertiert dann den JSON String unter Data in ein Objekt. Ausgabe Data in Object.

                        4. payload auf SOC extrahiert Dir den Wert - der ist aber ein String.

                        5. Die Kommas werden nun in Punkte ersetzt, damit man den String (in US Schreibweise gibt es nur Punkte als Dezimalzeichen) und dann in eine Zahl umgewandelt. Diese Debugausgabe ist Zahl.

                        Die iobroker-Out Node erstellt zwar den Datenpunkt für Dich - aber normalerweise erstellst Du den bitte selbst unter 0_userdata.0

                        e29b4443-54ec-4de3-a20d-7f8059d2f2fe-image.png

                        Das Ergebnis ist also eine Zahl mit dem SOC Wert.

                        Und hier alles zum Import:

                        [
                           {
                               "id": "4ad4b1f0f8b21ae9",
                               "type": "inject",
                               "z": "83a67ac0fc354489",
                               "name": "Input aus serial",
                               "props": [
                                   {
                                       "p": "payload"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "",
                               "payload": "{\"Result\":true,\"code\":\"200\",\"msg\":\"Success\",\"data\":\"{\\n    \\\"Addr\\\": 1,\\n    \\\"Result\\\": true,\\n    \\\"Cid2\\\": \\\"42\\\",\\n    \\\"D0WarningFlag\\\": true,\\n    \\\"D4SwitchFlag\\\": false,\\n    \\\"SOC\\\": \\\"33,98\\\",\\n    \\\"TOT_}Vs\\\": \\\"52,75\\\",\\n    \\\"num_of_cells\\\": \\\"16\\\",\\n    \\\"cell_list\\\": [\\n      \\\"3,300\\\",\\n      \\\"3,297\\\",\\n      \\\"3,293\\\",\\n      \\\"3,296\\\",\\n      \\\"3,299\\\",\\n      \\\"3,296\\\",\\n      \\\"3,295\\\",\\n      \\\"3,297\\\",\\n      \\\"3,298\\\",\\n      \\\"3,296\\\",\\n      \\\"3,300\\\",\\n      \\\"3,295\\\",\\n      \\\"3,299\\\",\\n      \\\"3,295\\\",\\n      \\\"3,299\\\",\\n      \\\"3,297\\\"\\n    ],\\n    \\\"ENV_TEMP\\\": \\\"20,0\\\"\\n  }\"}",
                               "payloadType": "str",
                               "x": 180,
                               "y": 860,
                               "wires": [
                                   [
                                       "eb8c41fcae2e31cd",
                                       "4b041b2e16586a71"
                                   ]
                               ]
                           },
                           {
                               "id": "eb8c41fcae2e31cd",
                               "type": "json",
                               "z": "83a67ac0fc354489",
                               "name": "",
                               "property": "payload",
                               "action": "",
                               "pretty": false,
                               "x": 370,
                               "y": 860,
                               "wires": [
                                   [
                                       "88d9263d1238b437",
                                       "9559be6a7758e0f3"
                                   ]
                               ]
                           },
                           {
                               "id": "4b041b2e16586a71",
                               "type": "debug",
                               "z": "83a67ac0fc354489",
                               "name": "JSON String gesamt",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 420,
                               "y": 820,
                               "wires": []
                           },
                           {
                               "id": "88d9263d1238b437",
                               "type": "json",
                               "z": "83a67ac0fc354489",
                               "name": "",
                               "property": "payload.data",
                               "action": "",
                               "pretty": false,
                               "x": 530,
                               "y": 860,
                               "wires": [
                                   [
                                       "bc0dd3898aa15346",
                                       "2af2a89fce5606f7"
                                   ]
                               ]
                           },
                           {
                               "id": "bc0dd3898aa15346",
                               "type": "change",
                               "z": "83a67ac0fc354489",
                               "name": "",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "payload.data.SOC",
                                       "tot": "msg"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 710,
                               "y": 860,
                               "wires": [
                                   [
                                       "45bf928b09d927ea",
                                       "2c9621ee4f796f7f"
                                   ]
                               ]
                           },
                           {
                               "id": "45bf928b09d927ea",
                               "type": "debug",
                               "z": "83a67ac0fc354489",
                               "name": "payload auf SoC",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 950,
                               "y": 820,
                               "wires": []
                           },
                           {
                               "id": "9559be6a7758e0f3",
                               "type": "debug",
                               "z": "83a67ac0fc354489",
                               "name": "Objekt - Data JSON String",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 600,
                               "y": 900,
                               "wires": []
                           },
                           {
                               "id": "2af2a89fce5606f7",
                               "type": "debug",
                               "z": "83a67ac0fc354489",
                               "name": "data in Object",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 700,
                               "y": 820,
                               "wires": []
                           },
                           {
                               "id": "2c9621ee4f796f7f",
                               "type": "change",
                               "z": "83a67ac0fc354489",
                               "name": ".. in Zahl ",
                               "rules": [
                                   {
                                       "t": "change",
                                       "p": "payload",
                                       "pt": "msg",
                                       "from": ",",
                                       "fromt": "str",
                                       "to": ".",
                                       "tot": "str"
                                   },
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "$number(payload)",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 900,
                               "y": 860,
                               "wires": [
                                   [
                                       "4a46ea7520b2d897",
                                       "c8f5d47e31a8d16d"
                                   ]
                               ]
                           },
                           {
                               "id": "4a46ea7520b2d897",
                               "type": "debug",
                               "z": "83a67ac0fc354489",
                               "name": "Zahl",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 1050,
                               "y": 920,
                               "wires": []
                           },
                           {
                               "id": "c8f5d47e31a8d16d",
                               "type": "ioBroker out",
                               "z": "83a67ac0fc354489",
                               "name": "",
                               "topic": "0_userdata.0.Test.Batterie",
                               "ack": "true",
                               "autoCreate": "true",
                               "stateName": "",
                               "role": "",
                               "payloadType": "",
                               "readonly": "false",
                               "stateUnit": "",
                               "stateMin": "",
                               "stateMax": "",
                               "x": 1110,
                               "y": 860,
                               "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.

                        F 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @fimoknete

                          So wie gesagt in Ermangelung der Originaldaten habe ich mal versucht das zu rekonstruieren, aber wie gesagt so nutzen mir die Daten nichts.

                          3846f6eb-5ee7-4b72-8c28-105b78b74052-image.png

                          1. Die Inject Node versucht also Deinen Input zu simulieren (wie gesagt wenn das nicht hinhaut - bitte Originaldaten in CodeTags hier rein). Debugausgabe ist: JSON String gesamt

                          2. Anschließend wird der gesamte JSON in ein Objekt gewandelt - data enthält aber immer noch JSON String. Deswegen die Ausgabe Data JSON String (data ist also immer noch String - der Rest bereits Objekt)

                          3. Die 2. JSON Node konvertiert dann den JSON String unter Data in ein Objekt. Ausgabe Data in Object.

                          4. payload auf SOC extrahiert Dir den Wert - der ist aber ein String.

                          5. Die Kommas werden nun in Punkte ersetzt, damit man den String (in US Schreibweise gibt es nur Punkte als Dezimalzeichen) und dann in eine Zahl umgewandelt. Diese Debugausgabe ist Zahl.

                          Die iobroker-Out Node erstellt zwar den Datenpunkt für Dich - aber normalerweise erstellst Du den bitte selbst unter 0_userdata.0

                          e29b4443-54ec-4de3-a20d-7f8059d2f2fe-image.png

                          Das Ergebnis ist also eine Zahl mit dem SOC Wert.

                          Und hier alles zum Import:

                          [
                             {
                                 "id": "4ad4b1f0f8b21ae9",
                                 "type": "inject",
                                 "z": "83a67ac0fc354489",
                                 "name": "Input aus serial",
                                 "props": [
                                     {
                                         "p": "payload"
                                     }
                                 ],
                                 "repeat": "",
                                 "crontab": "",
                                 "once": false,
                                 "onceDelay": 0.1,
                                 "topic": "",
                                 "payload": "{\"Result\":true,\"code\":\"200\",\"msg\":\"Success\",\"data\":\"{\\n    \\\"Addr\\\": 1,\\n    \\\"Result\\\": true,\\n    \\\"Cid2\\\": \\\"42\\\",\\n    \\\"D0WarningFlag\\\": true,\\n    \\\"D4SwitchFlag\\\": false,\\n    \\\"SOC\\\": \\\"33,98\\\",\\n    \\\"TOT_}Vs\\\": \\\"52,75\\\",\\n    \\\"num_of_cells\\\": \\\"16\\\",\\n    \\\"cell_list\\\": [\\n      \\\"3,300\\\",\\n      \\\"3,297\\\",\\n      \\\"3,293\\\",\\n      \\\"3,296\\\",\\n      \\\"3,299\\\",\\n      \\\"3,296\\\",\\n      \\\"3,295\\\",\\n      \\\"3,297\\\",\\n      \\\"3,298\\\",\\n      \\\"3,296\\\",\\n      \\\"3,300\\\",\\n      \\\"3,295\\\",\\n      \\\"3,299\\\",\\n      \\\"3,295\\\",\\n      \\\"3,299\\\",\\n      \\\"3,297\\\"\\n    ],\\n    \\\"ENV_TEMP\\\": \\\"20,0\\\"\\n  }\"}",
                                 "payloadType": "str",
                                 "x": 180,
                                 "y": 860,
                                 "wires": [
                                     [
                                         "eb8c41fcae2e31cd",
                                         "4b041b2e16586a71"
                                     ]
                                 ]
                             },
                             {
                                 "id": "eb8c41fcae2e31cd",
                                 "type": "json",
                                 "z": "83a67ac0fc354489",
                                 "name": "",
                                 "property": "payload",
                                 "action": "",
                                 "pretty": false,
                                 "x": 370,
                                 "y": 860,
                                 "wires": [
                                     [
                                         "88d9263d1238b437",
                                         "9559be6a7758e0f3"
                                     ]
                                 ]
                             },
                             {
                                 "id": "4b041b2e16586a71",
                                 "type": "debug",
                                 "z": "83a67ac0fc354489",
                                 "name": "JSON String gesamt",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 420,
                                 "y": 820,
                                 "wires": []
                             },
                             {
                                 "id": "88d9263d1238b437",
                                 "type": "json",
                                 "z": "83a67ac0fc354489",
                                 "name": "",
                                 "property": "payload.data",
                                 "action": "",
                                 "pretty": false,
                                 "x": 530,
                                 "y": 860,
                                 "wires": [
                                     [
                                         "bc0dd3898aa15346",
                                         "2af2a89fce5606f7"
                                     ]
                                 ]
                             },
                             {
                                 "id": "bc0dd3898aa15346",
                                 "type": "change",
                                 "z": "83a67ac0fc354489",
                                 "name": "",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "payload.data.SOC",
                                         "tot": "msg"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 710,
                                 "y": 860,
                                 "wires": [
                                     [
                                         "45bf928b09d927ea",
                                         "2c9621ee4f796f7f"
                                     ]
                                 ]
                             },
                             {
                                 "id": "45bf928b09d927ea",
                                 "type": "debug",
                                 "z": "83a67ac0fc354489",
                                 "name": "payload auf SoC",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 950,
                                 "y": 820,
                                 "wires": []
                             },
                             {
                                 "id": "9559be6a7758e0f3",
                                 "type": "debug",
                                 "z": "83a67ac0fc354489",
                                 "name": "Objekt - Data JSON String",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 600,
                                 "y": 900,
                                 "wires": []
                             },
                             {
                                 "id": "2af2a89fce5606f7",
                                 "type": "debug",
                                 "z": "83a67ac0fc354489",
                                 "name": "data in Object",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 700,
                                 "y": 820,
                                 "wires": []
                             },
                             {
                                 "id": "2c9621ee4f796f7f",
                                 "type": "change",
                                 "z": "83a67ac0fc354489",
                                 "name": ".. in Zahl ",
                                 "rules": [
                                     {
                                         "t": "change",
                                         "p": "payload",
                                         "pt": "msg",
                                         "from": ",",
                                         "fromt": "str",
                                         "to": ".",
                                         "tot": "str"
                                     },
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "$number(payload)",
                                         "tot": "jsonata"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 900,
                                 "y": 860,
                                 "wires": [
                                     [
                                         "4a46ea7520b2d897",
                                         "c8f5d47e31a8d16d"
                                     ]
                                 ]
                             },
                             {
                                 "id": "4a46ea7520b2d897",
                                 "type": "debug",
                                 "z": "83a67ac0fc354489",
                                 "name": "Zahl",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 1050,
                                 "y": 920,
                                 "wires": []
                             },
                             {
                                 "id": "c8f5d47e31a8d16d",
                                 "type": "ioBroker out",
                                 "z": "83a67ac0fc354489",
                                 "name": "",
                                 "topic": "0_userdata.0.Test.Batterie",
                                 "ack": "true",
                                 "autoCreate": "true",
                                 "stateName": "",
                                 "role": "",
                                 "payloadType": "",
                                 "readonly": "false",
                                 "stateUnit": "",
                                 "stateMin": "",
                                 "stateMax": "",
                                 "x": 1110,
                                 "y": 860,
                                 "wires": []
                             }
                          ]
                          

                          F Offline
                          F Offline
                          fimoknete
                          schrieb am zuletzt editiert von
                          #12

                          @mickym Unfassbar wie engagiert du bist.

                          Also ich versuche dir so wenig wie möglich als DAU auf die Nerven zu gehen.

                          Erstmal der Überblick. Es werden in gleicher Reihenfolge diese Outputs generiert. Ein Datensatz ohne SOC drin, nur Bat Infos, dann auch undefind output. Dann folgt der Datensatz mit SOC drin und generiert eine Zahl.

                          e94ab48c-b8f1-4d5d-a753-47023413a817-image.png

                          Dementsprechend kommt auch nur SOC Zahl oder nichts am IObroker Terminal an.
                          16f746e0-cbdb-4661-b68a-23c5b40e3f17-image.png

                          9ee7b6b9-4cc3-46c7-b2fb-2dd36947accc-image.png

                          Zahl steht jetzt in IOBroker.

                          d7acd1eb-93d6-4544-8ab5-8f2f0cfbbde3-image.png

                          Welche Infos brauchst du, damit er nur das eine Feld mit SOC drin ausspuckt?

                          mickymM OliverIOO 2 Antworten Letzte Antwort
                          0
                          • F fimoknete

                            @mickym Unfassbar wie engagiert du bist.

                            Also ich versuche dir so wenig wie möglich als DAU auf die Nerven zu gehen.

                            Erstmal der Überblick. Es werden in gleicher Reihenfolge diese Outputs generiert. Ein Datensatz ohne SOC drin, nur Bat Infos, dann auch undefind output. Dann folgt der Datensatz mit SOC drin und generiert eine Zahl.

                            e94ab48c-b8f1-4d5d-a753-47023413a817-image.png

                            Dementsprechend kommt auch nur SOC Zahl oder nichts am IObroker Terminal an.
                            16f746e0-cbdb-4661-b68a-23c5b40e3f17-image.png

                            9ee7b6b9-4cc3-46c7-b2fb-2dd36947accc-image.png

                            Zahl steht jetzt in IOBroker.

                            d7acd1eb-93d6-4544-8ab5-8f2f0cfbbde3-image.png

                            Welche Infos brauchst du, damit er nur das eine Feld mit SOC drin ausspuckt?

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

                            @fimoknete Du musst filtern. Nimm eine switch Node nach dem Du das data Objekt hast und lasse nur durch, wenn SOC nicht null ist.

                            Du prüfst also ab, ob der SOC Wert existiert.

                            53272fc0-4d70-4f18-a30c-269cd6329ba0-image.png

                            Also mit dieser Node filtern:

                            db33abda-094e-4876-9319-3902115f53d2-image.png

                            a1719751-e130-4a09-9420-be5b400d34c8-image.png

                            und halt erst nach dem data in ein Objekt gewandelt wurde.

                            Hier die switch Node:

                            [
                               {
                                   "id": "12f9a8ebe70c03e6",
                                   "type": "switch",
                                   "z": "22493068e4df6fb8",
                                   "name": "nur wenn SOC?",
                                   "property": "payload.data.SOC",
                                   "propertyType": "msg",
                                   "rules": [
                                       {
                                           "t": "nnull"
                                       }
                                   ],
                                   "checkall": "true",
                                   "repair": false,
                                   "outputs": 1,
                                   "x": 760,
                                   "y": 240,
                                   "wires": [
                                       [
                                           "bc0dd3898aa15346"
                                       ]
                                   ]
                               }
                            ]
                            

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

                            F 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @fimoknete Du musst filtern. Nimm eine switch Node nach dem Du das data Objekt hast und lasse nur durch, wenn SOC nicht null ist.

                              Du prüfst also ab, ob der SOC Wert existiert.

                              53272fc0-4d70-4f18-a30c-269cd6329ba0-image.png

                              Also mit dieser Node filtern:

                              db33abda-094e-4876-9319-3902115f53d2-image.png

                              a1719751-e130-4a09-9420-be5b400d34c8-image.png

                              und halt erst nach dem data in ein Objekt gewandelt wurde.

                              Hier die switch Node:

                              [
                                 {
                                     "id": "12f9a8ebe70c03e6",
                                     "type": "switch",
                                     "z": "22493068e4df6fb8",
                                     "name": "nur wenn SOC?",
                                     "property": "payload.data.SOC",
                                     "propertyType": "msg",
                                     "rules": [
                                         {
                                             "t": "nnull"
                                         }
                                     ],
                                     "checkall": "true",
                                     "repair": false,
                                     "outputs": 1,
                                     "x": 760,
                                     "y": 240,
                                     "wires": [
                                         [
                                             "bc0dd3898aa15346"
                                         ]
                                     ]
                                 }
                              ]
                              

                              F Offline
                              F Offline
                              fimoknete
                              schrieb am zuletzt editiert von
                              #14

                              @mickym
                              Ich weis nicht was ich sagen soll. Kaum spricht man mal mit nen Fachmann geht das auch. Ich versuche mich schon seit Monaten da ohne Kenntnisse durch zu frickeln.
                              Eigentlich super interessante Materie aber leider hab ich keine Zeit mich damit zu beschäftigen. Vielleicht als Rentner.

                              Auf jeden Fall viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeellllllllllllllllllllllllllllllen Dank für deine Hilfe.
                              Ich werde jetzt noch versuchen, die Ladeleistung und Entladeleistung raus zu frickeln.

                              mickymM 2 Antworten Letzte Antwort
                              0
                              • F fimoknete

                                @mickym
                                Ich weis nicht was ich sagen soll. Kaum spricht man mal mit nen Fachmann geht das auch. Ich versuche mich schon seit Monaten da ohne Kenntnisse durch zu frickeln.
                                Eigentlich super interessante Materie aber leider hab ich keine Zeit mich damit zu beschäftigen. Vielleicht als Rentner.

                                Auf jeden Fall viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeellllllllllllllllllllllllllllllen Dank für deine Hilfe.
                                Ich werde jetzt noch versuchen, die Ladeleistung und Entladeleistung raus zu frickeln.

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

                                @fimoknete Na ja mit NodeRed geht halt vieles einfacher - als mit puzzeln. ;)

                                Wenn Du Objekte in Deinem Debugfenster hast kannst Du Werte oder auch den Pfad kopieren.

                                copy path.gif

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

                                F 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @fimoknete Na ja mit NodeRed geht halt vieles einfacher - als mit puzzeln. ;)

                                  Wenn Du Objekte in Deinem Debugfenster hast kannst Du Werte oder auch den Pfad kopieren.

                                  copy path.gif

                                  F Offline
                                  F Offline
                                  fimoknete
                                  schrieb am zuletzt editiert von
                                  #16

                                  @mickym Das wollte ich vorhin schon fragen, was meinst du mit puzzlen??? Ist das irgendein iobroker gag?

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • F fimoknete

                                    @mickym Das wollte ich vorhin schon fragen, was meinst du mit puzzlen??? Ist das irgendein iobroker gag?

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

                                    @fimoknete Na die Blocklies sind doch alles Puzzleteile? :grin:

                                    https://de.wikipedia.org/wiki/Blockly

                                    Du kannst natürlich wie in wikipedia die von Google entwickelten Teile als:

                                    Der Blockly-Editor verwendet verzahnte, grafische Blöcke zur Darstellung von Programmierkonzepten wie Variablen, logischen Ausdrücken,

                                    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
                                    • F fimoknete

                                      @mickym Unfassbar wie engagiert du bist.

                                      Also ich versuche dir so wenig wie möglich als DAU auf die Nerven zu gehen.

                                      Erstmal der Überblick. Es werden in gleicher Reihenfolge diese Outputs generiert. Ein Datensatz ohne SOC drin, nur Bat Infos, dann auch undefind output. Dann folgt der Datensatz mit SOC drin und generiert eine Zahl.

                                      e94ab48c-b8f1-4d5d-a753-47023413a817-image.png

                                      Dementsprechend kommt auch nur SOC Zahl oder nichts am IObroker Terminal an.
                                      16f746e0-cbdb-4661-b68a-23c5b40e3f17-image.png

                                      9ee7b6b9-4cc3-46c7-b2fb-2dd36947accc-image.png

                                      Zahl steht jetzt in IOBroker.

                                      d7acd1eb-93d6-4544-8ab5-8f2f0cfbbde3-image.png

                                      Welche Infos brauchst du, damit er nur das eine Feld mit SOC drin ausspuckt?

                                      OliverIOO Offline
                                      OliverIOO Offline
                                      OliverIO
                                      schrieb am zuletzt editiert von
                                      #18

                                      @fimoknete sagte in Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.:

                                      @mickym Unfassbar wie engagiert du bist.

                                      er freut sich so weil endlich jemand mal eine frage zu node red hat

                                      Meine Adapter und Widgets
                                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                      Links im Profil

                                      mickymM F 2 Antworten Letzte Antwort
                                      1
                                      • OliverIOO OliverIO

                                        @fimoknete sagte in Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.:

                                        @mickym Unfassbar wie engagiert du bist.

                                        er freut sich so weil endlich jemand mal eine frage zu node red hat

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

                                        @oliverio sagte in Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.:

                                        @fimoknete sagte in Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.:

                                        @mickym Unfassbar wie engagiert du bist.

                                        er freut sich so weil endlich jemand mal eine frage zu node red hat

                                        Tja weil immer mehr Anfänger gleich zum puzzeln animiert werden. :face_with_rolling_eyes:

                                        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
                                        • OliverIOO OliverIO

                                          @fimoknete sagte in Datenstrom aus Nodered filtern und in Datenpunkt ausgeben.:

                                          @mickym Unfassbar wie engagiert du bist.

                                          er freut sich so weil endlich jemand mal eine frage zu node red hat

                                          F Offline
                                          F Offline
                                          fimoknete
                                          schrieb am zuletzt editiert von
                                          #20

                                          @oliverio na ja, node red hat geliefert, was ich seit Monaten gesucht habe.

                                          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

                                          739

                                          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