Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Payload String zerlegen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Payload String zerlegen

    This topic has been deleted. Only users with topic management privileges can see it.
    • 1
      1984chris @1984chris last edited by

      @1984chris

      jetzt kommt ein Fehler

      Fehler_Token.jpg

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @1984chris last edited by

        @1984chris Nein eben nicht - hinter dem Tagstrom ist ein komisches Steuerzeichen und deswegen funktioniert der ganze JSON String nicht.

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @1984chris last edited by

          @1984chris

          @1984chris sagte in Payload String zerlegen:

          @1984chris

          jetzt kommt ein Fehler

          Fehler_Token.jpg

          Ja genau - und das ist die Ursache - dass das Objekt kaputt ist. 😉

          Das ist dieses komische Zeichen, was Du auch

          {"Time":"2023-05-16T19:45:29","Tagstrom":{"V_L1":233,"V_L3":236,"V_L3":236,"A_L1":0.63,"A_L2":2.33,"A_L3":0.32,"W_IN":590,"W_OUT":0,"kWh_total_IN":19147.756,"kWh_total_OUT":776.383},"WäPu":{"V_L1":232,"V_L3":236,"V_L3":235,"A_L1":0.48,"A_L2":0.00,"A_L3":0.02,"W_IN":112,"W_OUT":0,"kWh_total_IN":21698.535,"kWh_total_OUT":0.000}}
          

          https://forum.iobroker.net/post/992609

          gepostet hast. Also irgendwo - wo Du ggf. Tagstrom eingegeben hast - ist ein komisches Sonderzeichen drin.

          1 mickym 2 Replies Last reply Reply Quote 0
          • 1
            1984chris @mickym last edited by

            @mickym
            Das habe ich im Tasmota Script lese damit 2 Smartmeter Zähler aus.

            >D
            
            >B
            smlj=0
            =>sensor53 r
            >R
            smlj=0
            >S
            if upsecs>22
            then
            smlj|=1
            endif
            >M 2
            +1,16,r,0,2400,Tagstrom,
            1,=so3,512
            1,=so4,413F4428472B4B6150645367566B5970
            1,020Ex1UUuu@1,Spannung L1,V,V_L1,0
            1,020Ex4UUuu@1,Spannung L2,V,V_L3,0
            1,020Ex7UUuu@1,Spannung L3,V,V_L3,0
            1,020Ex10UUuu@100,Strom L1,A,A_L1,2
            1,020Ex13UUuu@100,Strom L2,A,A_L2,2
            1,020Ex16UUuu@100,Strom L3,A,A_L3,2
            1,020Ex19UUuuUUuu@1,Leistung +P,W,W_IN,0
            1,020Ex24UUuuUUuu@1,Leistung -P,W,W_OUT,0
            1,020Ex29UUuuUUuu@1000,Zählerstand +P,kWh,kWh_total_IN,3
            1,020Ex34UUuuUUuu@1000,Zählerstand -P,kWh,kWh_total_OUT,3
            
            +2,17,r,0,2400,WäPu,
            2,=so3,512
            2,=so4,6B58703273357638782F413F4428472B
            2,020Ex1UUuu@1,Spannung L1,V,V_L1,0
            2,020Ex4UUuu@1,Spannung L2,V,V_L3,0
            2,020Ex7UUuu@1,Spannung L3,V,V_L3,0
            2,020Ex10UUuu@100,Strom L1,A,A_L1,2
            2,020Ex13UUuu@100,Strom L2,A,A_L2,2
            2,020Ex16UUuu@100,Strom L3,A,A_L3,2
            2,020Ex19UUuuUUuu@1,Leistung +P,W,W_IN,0
            2,020Ex24UUuuUUuu@1,Leistung -P,W,W_OUT,0
            2,020Ex29UUuuUUuu@1000,Zählerstand +P,kWh,kWh_total_IN,3
            2,020Ex34UUuuUUuu@1000,Zählerstand -P,kWh,kWh_total_OUT,3
            #
            
            1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @mickym last edited by mickym

              @mickym Dann mach in Zeile 28 mal den Umlaut raus - und schreib die Zeile 14 neu - und lösch mal die Zeile 27 (oder mach auch ein #) - vielleicht ist das komisch. Du kannst das ja ggf. wieder rückgängig machen.

              Jedenfalls muss das Sonderzeichen nach dem Wort Tagstrom raus.

              1 1 Reply Last reply Reply Quote 0
              • 1
                1984chris @mickym last edited by

                @mickym

                Wenn ich statt Tagstrom nur Strom eingebe bekomme ich

                MQTTok.jpg

                so sollte es sein oder? verstehe ich nicht

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @1984chris last edited by mickym

                  @1984chris Ja so sollte es sein. 😉 . Du kannst ja nochmal Tagstrom hinschreiben - vielleicht war da ein komisches Zeichen vorher drin. Ansonsten schreib halt T-Strom - vielleicht liegt es an der Anzahl Zeichen. Und Umlaute solltest Du auch vermeiden. Aber jedenfalls sind wir nun auf der richtigen Spur. 😉

                  1 1 Reply Last reply Reply Quote 0
                  • 1
                    1984chris @mickym last edited by

                    @mickym

                    Danke. Bin jetzt am probieren das ich einen Wert in die influxDB bekomme.

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @1984chris last edited by mickym

                      @1984chris Kann Dir schon weiterhelfen. Wie sieht denn das Objekt jetzt aus?

                      Und warum nutzt Du eine alte Influx- DB Version?

                      1 1 Reply Last reply Reply Quote 0
                      • 1
                        1984chris @mickym last edited by

                        @mickym
                        Ich habs hinbekommen in Grafana Danke.
                        Da war eine Anleitung mit Docker und wie man die Programme instaliert da war diese influxDB Version verlinkt

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @1984chris last edited by mickym

                          gelöscht

                          1 Reply Last reply Reply Quote 0
                          • U
                            ursmii last edited by ursmii

                            ich möchte diesen älteren topic aufgreifen, den ich via gockel gefunden habe
                            ich will von standard TheThinkNet-nodes die Temperatur (später auch andere Werte) auslesen.
                            die daten kann ich empfangen und habe mich an das vorgehen von @mickym gehalten und den pfad kopiert
                            Anpassung.jpg
                            die ergebnisse mit den verschiedenen "to the value" habe ich beschrieben. keines ergibt den temperaturwert.
                            das json ist hier:
                            JSON_Inject.jpg
                            der ganze flow ist hier

                             [
                                {
                                    "id": "d02e3f7c2c9d8dc7",
                                    "type": "tab",
                                    "label": "Flow 1",
                                    "disabled": false,
                                    "info": "",
                                    "env": []
                                },
                                {
                                    "id": "9a80d4b9e8173efb",
                                    "type": "inject",
                                    "z": "d02e3f7c2c9d8dc7",
                                    "name": "",
                                    "props": [
                                        {
                                            "p": "payload"
                                        }
                                    ],
                                    "repeat": "",
                                    "crontab": "",
                                    "once": false,
                                    "onceDelay": 0.1,
                                    "topic": "",
                                    "payload": "{\"end_device_ids\":{\"device_id\":\"ttn-node-ursm-01\",\"application_ids\":{\"application_id\":\"ttn-node-ursm\"},\"dev_eui\":\"0000000000000001\",\"join_eui\":\"0000000000000002\",\"dev_addr\":\"26000000\"},\"correlation_ids\":[\"gs:uplink:01HYR5GS5DZX2DDNVX5215YAT6\"],\"received_at\":\"2024-05-25T15:22:14.265805009Z\",\"uplink_message\":{\"session_key_id\":\"AY2eG2Lo/G+V4WochCF2LA==\",\"f_port\":2,\"f_cnt\":28993,\"frm_payload\":\"AQAAAgAAAwAABAIBSwVnAOgGZQAAB3EA+fzy/2s=\",\"decoded_payload\":{\"accelerometer_7\":{\"x\":0.249,\"y\":-0.782,\"z\":-0.149},\"analog_in_4\":3.31,\"digital_in_1\":0,\"digital_in_2\":0,\"digital_in_3\":0,\"luminosity_6\":0,\"temperature_5\":23.2},\"rx_metadata\":[{\"gateway_ids\":{\"gateway_id\":\"ursmii-raspi-ic880a-02\",\"eui\":\"B8ABCDEFCDD390B0\"},\"time\":\"2024-05-25T15:22:14.045971Z\",\"timestamp\":7302939,\"rssi\":-119,\"channel_rssi\":-119,\"snr\":-2.5,\"location\":{\"latitude\":47,\"longitude\":8,\"altitude\":444,\"source\":\"SOURCE_REGISTRY\"},\"uplink_token\":\"CiQKIgoWdXJzbWlpLXJhc3BpLWljODgwYS0wMhIIuCfr//7TkLAQm969AxoLCKaEyLIGEPqY2hwg+IKompvbsgE=\",\"received_at\":\"2024-05-25T15:22:14.060198010Z\"},{\"gateway_ids\":{\"gateway_id\":\"ursmii-ttig01\",\"eui\":\"ABCDEFFFFE801065\"},\"time\":\"2024-05-25T15:22:14.015352010Z\",\"timestamp\":658488075,\"rssi\":-93,\"channel_rssi\":-93,\"snr\":8.5,\"location\":{\"latitude\":47,\"longitude\":8,\"altitude\":111,\"source\":\"SOURCE_REGISTRY\"},\"uplink_token\":\"ChsKGQoNdXJzbWlpLXR0aWcwMRIIWKDL//6AEGUQi/b+uQIaCwimhMiyBhDOrZ4kIPjFyoeVkAE=\",\"received_at\":\"2024-05-25T15:22:14.055845927Z\"}],\"settings\":{\"data_rate\":{\"lora\":{\"bandwidth\":125000,\"spreading_factor\":7,\"coding_rate\":\"4/5\"}},\"frequency\":\"868100000\",\"timestamp\":7302939,\"time\":\"2024-05-25T15:22:14.045971Z\"},\"received_at\":\"2024-05-25T15:22:14.062290457Z\",\"consumed_airtime\":\"0.087296s\",\"version_ids\":{\"brand_id\":\"the-things-products\",\"model_id\":\"the-things-node\",\"hardware_version\":\"1.0\",\"firmware_version\":\"1.0\",\"band_id\":\"EU_863_870\"},\"network_ids\":{\"net_id\":\"000111\",\"ns_id\":\"ABCDEF0000000181\",\"tenant_id\":\"ttn\",\"cluster_id\":\"eu1\",\"cluster_address\":\"eu1.cloud.thethings.network\"}}}",
                                    "payloadType": "json",
                                    "x": 450,
                                    "y": 300,
                                    "wires": [
                                        [
                                            "6e94662c29031b5b"
                                        ]
                                    ]
                                },
                                {
                                    "id": "6e94662c29031b5b",
                                    "type": "json",
                                    "z": "d02e3f7c2c9d8dc7",
                                    "name": "Data ttn-node-01",
                                    "property": "payload",
                                    "action": "str",
                                    "pretty": false,
                                    "x": 690,
                                    "y": 300,
                                    "wires": [
                                        [
                                            "96615256b6126e76"
                                        ]
                                    ]
                                },
                                {
                                    "id": "96615256b6126e76",
                                    "type": "change",
                                    "z": "d02e3f7c2c9d8dc7",
                                    "name": "",
                                    "rules": [
                                        {
                                            "t": "set",
                                            "p": "payload",
                                            "pt": "msg",
                                            "to": "uplink_message.decoded_payload.temperature_5",
                                            "tot": "msg"
                                        }
                                    ],
                                    "action": "",
                                    "property": "",
                                    "from": "",
                                    "to": "",
                                    "reg": false,
                                    "x": 920,
                                    "y": 300,
                                    "wires": [
                                        [
                                            "4042c08b38ba5fe9"
                                        ]
                                    ]
                                },
                                {
                                    "id": "4042c08b38ba5fe9",
                                    "type": "debug",
                                    "z": "d02e3f7c2c9d8dc7",
                                    "name": "debug 19",
                                    "active": true,
                                    "tosidebar": true,
                                    "console": false,
                                    "tostatus": false,
                                    "complete": "false",
                                    "statusVal": "",
                                    "statusType": "auto",
                                    "x": 1120,
                                    "y": 300,
                                    "wires": []
                                },
                                {
                                    "id": "875e4e72bbf6123d",
                                    "type": "comment",
                                    "z": "d02e3f7c2c9d8dc7",
                                    "name": "copied path",
                                    "info": "uplink_message.decoded_payload.temperature_5",
                                    "x": 690,
                                    "y": 420,
                                    "wires": []
                                }
                            ]
                            
                            

                            ich hoffe, dass ich hier eine antwort auf meinen sicher banalen fehler erhalte
                            besten dank!

                            mickym 2 Replies Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @ursmii last edited by mickym

                              @ursmii Ich kann so auf Anhieb nichts entdecken. Dein Flow lässt sich leider nicht importieren, da Du den Code nicht in CodeTags eingebunden hast.

                              Code-Tags.gif

                              Achte darauf dass in der ersten und letzten Zeile die

                              3 Zeichen `
                              erhalten bleiben

                              Ansonsten den Pfad aus dem Debugfenster kopieren:

                              copy path.gif

                              Eventuell hast Du auch Deine JSON Node falsch konfiguriert. Wenn Du in einen Objekt schon in deiner Inject Node hast und Du lässt die JSON Node auf automatisch, konvertiert Dir die JSON Node das Objekt wieder in einen String.

                              1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @ursmii last edited by mickym

                                In deiner Change Node hat payload gefehlt, Du hast den Pfad nicht kopiert. Ausserdem hättest Du gesehen, wenn Du eine Debug Node hinter Deine JSON Node gemacht hättest, dass das was aus Deiner JSON Node rauskommt, ein String ist. Du hast also das Objekt wieder in einen JSON String gewandelt. 😠 Das hatte ich ja bereits vermutet, aber wie gesagt, Du hast auch den Pfad nicht aus dem Objekt kopiert, wie ich das im letzten Post gepostet habe.

                                8dd24783-330d-4f3f-b05b-ee27f96c4cc2-image.png

                                Das Debug Fenster kann mehr, als vermutet. 😉

                                [{"id":"9a80d4b9e8173efb","type":"inject","z":"d02e3f7c2c9d8dc7","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"end_device_ids\":{\"device_id\":\"ttn-node-ursm-01\",\"application_ids\":{\"application_id\":\"ttn-node-ursm\"},\"dev_eui\":\"0000000000000001\",\"join_eui\":\"0000000000000002\",\"dev_addr\":\"26000000\"},\"correlation_ids\":[\"gs:uplink:01HYR5GS5DZX2DDNVX5215YAT6\"],\"received_at\":\"2024-05-25T15:22:14.265805009Z\",\"uplink_message\":{\"session_key_id\":\"AY2eG2Lo/G+V4WochCF2LA==\",\"f_port\":2,\"f_cnt\":28993,\"frm_payload\":\"AQAAAgAAAwAABAIBSwVnAOgGZQAAB3EA+fzy/2s=\",\"decoded_payload\":{\"accelerometer_7\":{\"x\":0.249,\"y\":-0.782,\"z\":-0.149},\"analog_in_4\":3.31,\"digital_in_1\":0,\"digital_in_2\":0,\"digital_in_3\":0,\"luminosity_6\":0,\"temperature_5\":23.2},\"rx_metadata\":[{\"gateway_ids\":{\"gateway_id\":\"ursmii-raspi-ic880a-02\",\"eui\":\"B8ABCDEFCDD390B0\"},\"time\":\"2024-05-25T15:22:14.045971Z\",\"timestamp\":7302939,\"rssi\":-119,\"channel_rssi\":-119,\"snr\":-2.5,\"location\":{\"latitude\":47,\"longitude\":8,\"altitude\":444,\"source\":\"SOURCE_REGISTRY\"},\"uplink_token\":\"CiQKIgoWdXJzbWlpLXJhc3BpLWljODgwYS0wMhIIuCfr//7TkLAQm969AxoLCKaEyLIGEPqY2hwg+IKompvbsgE=\",\"received_at\":\"2024-05-25T15:22:14.060198010Z\"},{\"gateway_ids\":{\"gateway_id\":\"ursmii-ttig01\",\"eui\":\"ABCDEFFFFE801065\"},\"time\":\"2024-05-25T15:22:14.015352010Z\",\"timestamp\":658488075,\"rssi\":-93,\"channel_rssi\":-93,\"snr\":8.5,\"location\":{\"latitude\":47,\"longitude\":8,\"altitude\":111,\"source\":\"SOURCE_REGISTRY\"},\"uplink_token\":\"ChsKGQoNdXJzbWlpLXR0aWcwMRIIWKDL//6AEGUQi/b+uQIaCwimhMiyBhDOrZ4kIPjFyoeVkAE=\",\"received_at\":\"2024-05-25T15:22:14.055845927Z\"}],\"settings\":{\"data_rate\":{\"lora\":{\"bandwidth\":125000,\"spreading_factor\":7,\"coding_rate\":\"4/5\"}},\"frequency\":\"868100000\",\"timestamp\":7302939,\"time\":\"2024-05-25T15:22:14.045971Z\"},\"received_at\":\"2024-05-25T15:22:14.062290457Z\",\"consumed_airtime\":\"0.087296s\",\"version_ids\":{\"brand_id\":\"the-things-products\",\"model_id\":\"the-things-node\",\"hardware_version\":\"1.0\",\"firmware_version\":\"1.0\",\"band_id\":\"EU_863_870\"},\"network_ids\":{\"net_id\":\"000111\",\"ns_id\":\"ABCDEF0000000181\",\"tenant_id\":\"ttn\",\"cluster_id\":\"eu1\",\"cluster_address\":\"eu1.cloud.thethings.network\"}}}","payloadType":"json","x":730,"y":300,"wires":[["96615256b6126e76"]]},{"id":"96615256b6126e76","type":"change","z":"d02e3f7c2c9d8dc7","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.uplink_message.decoded_payload.temperature_5","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":920,"y":300,"wires":[["4042c08b38ba5fe9"]]},{"id":"4042c08b38ba5fe9","type":"debug","z":"d02e3f7c2c9d8dc7","name":"debug 19","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1120,"y":300,"wires":[]}]
                                

                                U 1 Reply Last reply Reply Quote 0
                                • U
                                  ursmii @mickym last edited by

                                  @mickym danke für deine rasche hilfe
                                  eine anmerkung:

                                  • den pfad habe ich natürlich kopiert. "payload" kommt nicht automatisch mit rein und dass das notwendig ist, habe ich oben überlesen
                                  • der grobe fehler war, dass ich noch den json parser eingefügt habe.

                                  aber wieder viel dazu gelernt und nun folgt die einbindung in homeassistant, aber das ist kein topic für hier ...

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @ursmii last edited by

                                    @ursmii sagte in Payload String zerlegen:

                                    den pfad habe ich natürlich kopiert. "payload" kommt nicht automatisch mit rein

                                    Na wenn Du es über Pfad kopieren aus dem Debug Fenster gemacht hättest (wie in dem Screenshot gezeigt), wäre der vollständige Pfad schon mitgekommen

                                    payload.uplink_message.decoded_payload.temperature_5
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    691
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    77
                                    12541
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo