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. Blockly
  5. Json korrekt parsen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    324

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Json korrekt parsen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
12 Beiträge 4 Kommentatoren 838 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.
  • HomoranH Homoran

    @joker971

    Was hast du bereits gemacht?
    Blockly oder js?

    Wenn ich mich jetzt in den Ebenen nicht verrant habe müüsste es sein:
    Attribut von: uplink_message.rx_metadata.0.rssi

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von Homoran
    #3

    @homoran sagte in Json korrekt parsen:

    @joker971

    Was hast du bereits gemacht?
    Blockly oder js?

    Wenn ich mich jetzt in den Ebenen nicht verrant habe müüsste es sein:
    Attribut von: uplink_message.rx_metadata.0.rssi

    @joker971 sagte in Json korrekt parsen:

    Das sollte er aber oder übersehe ich hier was ?

    keine Array-Klammern sondern Punkte zur Ebenentrennung

    json_rssi.png

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    J F 2 Antworten Letzte Antwort
    0
    • J Joker971

      Hi allerseits,
      ich bekomme folgende Payload von meinem Mqtt und muss hier ein paar Werte rausholen. Das klappt soweit auch aber bei einem Wert scheitere ich. Hier mal zunächst die Payload:

      {
        "end_device_ids": {
          "device_id": "bodensensor-hinten",
          "application_ids": {
            "application_id": "garden-soil-sensors"
          },
          "dev_eui": "",
          "join_eui": "",
          "dev_addr": ""
        },
        "correlation_ids": [
          "as:up:01FMJMEY3F4R8BRK933ZF831B8",
          "gs:conn:01FMHQKYR8ACAACXVMR5ETGBX0",
          "gs:up:host:01FMHQKYRRTNB1Y256R5BBFZ5B",
          "gs:uplink:01FMJMEXW5QENYW0X7ESBWKT7E",
          "ns:uplink:01FMJMEXW6V0WTERVH73FZ316Q",
          "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01FMJMEXW64H4ZYQGZ6JYFSBK3",
          "rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01FMJMEY3ETSZPN33KJ591WZ1K"
        ],
        "received_at": "2021-11-15T20:26:20.655807658Z",
        "uplink_message": {
          "session_key_id": "AX0kon3s3ubZFDDLFdgJEw==",
          "f_port": 2,
          "f_cnt": 9,
          "frm_payload": "DS4AAAAACLQAABA=",
          "decoded_payload": {
            "Bat": "3.374 V",
            "TempC_DS18B20": "0.00 °C",
            "conduct_SOIL": "0 uS/cm",
            "temp_SOIL": "22.28 °C",
            "water_SOIL": "0.00 %"
          },
          "rx_metadata": [
            {
              "gateway_ids": {
                "gateway_id": "myindoorgatewayhub",
                "eui": ""
              },
              "time": "2021-11-15T20:26:20.344300985Z",
              "timestamp": 177918228,
              "rssi": -63,
              "channel_rssi": -63,
              "snr": 10.75,
              "location": {
                "latitude": 51.7100722182447,
                "longitude": 7.923237383365632,
                "altitude": 5,
                "source": "SOURCE_REGISTRY"
              },
              "uplink_token": "CiAKHgoSbXlpbmRvb3JnYXRld2F5aHViEghYoMv//oBEFBCUoutUGgwI7ITLjAYQuPfgyAEgoOyC5pbwBioMCOyEy4wGELm7lqQB"
            }
          ],
          "settings": {
            "data_rate": {
              "lora": {
                "bandwidth": 125000,
                "spreading_factor": 7
              }
            },
            "coding_rate": "4/5",
            "frequency": "867900000",
            "timestamp": 177918228,
            "time": "2021-11-15T20:26:20.344300985Z"
          },
          "received_at": "2021-11-15T20:26:20.422462557Z",
          "consumed_airtime": "0.061696s",
          "locations": {
            "user": {
              "latitude": 51.71014867049504,
              "longitude": 7.923138141632081,
              "source": "SOURCE_REGISTRY"
            }
          },
          "version_ids": {
            "brand_id": "dragino",
            "model_id": "lse01",
            "hardware_version": "_unknown_hw_version_",
            "firmware_version": "1.3",
            "band_id": "EU_863_870"
          },
          "network_ids": {
            "net_id": "000013",
            "tenant_id": "ttn",
            "cluster_id": "ttn-eu1"
          }
        }
      }
      

      Ich bekomme die Werte indem ich die Payload mit dem "JSON nach Objekt" Baustein in ein Objekt umwandle und mit dem "ATTRIB" Baustein und der Pfadangabe bekomme ich die Werte bis auf einen!

      Folgende Pfade funktionieren super und ich kriege ein Ergebniss:

      uplink_message.decoded_payload.Bat
      uplink_message.decoded_payload.water_SOIL
      uplink_message.decoded_payload.conduct_SOIL
      uplink_message.decoded_payload.temp_SOIL
      

      Ich möchte aber noch den Wert rssi haben der in rx_metadata steckt. Vergeblich.
      Dieser Pfad funktioniert nicht:

      uplink_message.rx_metadata[0].rssi
      

      Das sollte er aber oder übersehe ich hier was ?
      Wenn ich nur uplink_message.rx_metadata verwende bekomme ich alles angezeigt was da drin steckt, darunter auch rssi aber ich kann nicht explizit darauf zugreifen.
      Jemand eine Idee ?

      F Offline
      F Offline
      fastfoot
      schrieb am zuletzt editiert von
      #4

      @joker971 sagte in Json korrekt parsen:

      uplink_message.rx_metadata[0].rssi

      versuche uplink_message.rx_metadata.0.rssi. getAttr() funktioniert hier nicht wie erwartet

      iobroker läuft unter Docker auf QNAP TS-451+
      SkriptRecovery: https://forum.iobroker.net/post/930558

      1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @homoran sagte in Json korrekt parsen:

        @joker971

        Was hast du bereits gemacht?
        Blockly oder js?

        Wenn ich mich jetzt in den Ebenen nicht verrant habe müüsste es sein:
        Attribut von: uplink_message.rx_metadata.0.rssi

        @joker971 sagte in Json korrekt parsen:

        Das sollte er aber oder übersehe ich hier was ?

        keine Array-Klammern sondern Punkte zur Ebenentrennung

        json_rssi.png

        J Offline
        J Offline
        Joker971
        schrieb am zuletzt editiert von
        #5

        @homoran
        :man-facepalming: :man-facepalming: :man-facepalming:
        Alles hab ich versucht, nur nicht die Klammern mal weg zu lassen :innocent:
        Daaaaanke für den Denkanstoss, das funktioniert jetzt :+1:

        :the_horns:

        1 Antwort Letzte Antwort
        0
        • J Joker971

          Hi allerseits,
          ich bekomme folgende Payload von meinem Mqtt und muss hier ein paar Werte rausholen. Das klappt soweit auch aber bei einem Wert scheitere ich. Hier mal zunächst die Payload:

          {
            "end_device_ids": {
              "device_id": "bodensensor-hinten",
              "application_ids": {
                "application_id": "garden-soil-sensors"
              },
              "dev_eui": "",
              "join_eui": "",
              "dev_addr": ""
            },
            "correlation_ids": [
              "as:up:01FMJMEY3F4R8BRK933ZF831B8",
              "gs:conn:01FMHQKYR8ACAACXVMR5ETGBX0",
              "gs:up:host:01FMHQKYRRTNB1Y256R5BBFZ5B",
              "gs:uplink:01FMJMEXW5QENYW0X7ESBWKT7E",
              "ns:uplink:01FMJMEXW6V0WTERVH73FZ316Q",
              "rpc:/ttn.lorawan.v3.GsNs/HandleUplink:01FMJMEXW64H4ZYQGZ6JYFSBK3",
              "rpc:/ttn.lorawan.v3.NsAs/HandleUplink:01FMJMEY3ETSZPN33KJ591WZ1K"
            ],
            "received_at": "2021-11-15T20:26:20.655807658Z",
            "uplink_message": {
              "session_key_id": "AX0kon3s3ubZFDDLFdgJEw==",
              "f_port": 2,
              "f_cnt": 9,
              "frm_payload": "DS4AAAAACLQAABA=",
              "decoded_payload": {
                "Bat": "3.374 V",
                "TempC_DS18B20": "0.00 °C",
                "conduct_SOIL": "0 uS/cm",
                "temp_SOIL": "22.28 °C",
                "water_SOIL": "0.00 %"
              },
              "rx_metadata": [
                {
                  "gateway_ids": {
                    "gateway_id": "myindoorgatewayhub",
                    "eui": ""
                  },
                  "time": "2021-11-15T20:26:20.344300985Z",
                  "timestamp": 177918228,
                  "rssi": -63,
                  "channel_rssi": -63,
                  "snr": 10.75,
                  "location": {
                    "latitude": 51.7100722182447,
                    "longitude": 7.923237383365632,
                    "altitude": 5,
                    "source": "SOURCE_REGISTRY"
                  },
                  "uplink_token": "CiAKHgoSbXlpbmRvb3JnYXRld2F5aHViEghYoMv//oBEFBCUoutUGgwI7ITLjAYQuPfgyAEgoOyC5pbwBioMCOyEy4wGELm7lqQB"
                }
              ],
              "settings": {
                "data_rate": {
                  "lora": {
                    "bandwidth": 125000,
                    "spreading_factor": 7
                  }
                },
                "coding_rate": "4/5",
                "frequency": "867900000",
                "timestamp": 177918228,
                "time": "2021-11-15T20:26:20.344300985Z"
              },
              "received_at": "2021-11-15T20:26:20.422462557Z",
              "consumed_airtime": "0.061696s",
              "locations": {
                "user": {
                  "latitude": 51.71014867049504,
                  "longitude": 7.923138141632081,
                  "source": "SOURCE_REGISTRY"
                }
              },
              "version_ids": {
                "brand_id": "dragino",
                "model_id": "lse01",
                "hardware_version": "_unknown_hw_version_",
                "firmware_version": "1.3",
                "band_id": "EU_863_870"
              },
              "network_ids": {
                "net_id": "000013",
                "tenant_id": "ttn",
                "cluster_id": "ttn-eu1"
              }
            }
          }
          

          Ich bekomme die Werte indem ich die Payload mit dem "JSON nach Objekt" Baustein in ein Objekt umwandle und mit dem "ATTRIB" Baustein und der Pfadangabe bekomme ich die Werte bis auf einen!

          Folgende Pfade funktionieren super und ich kriege ein Ergebniss:

          uplink_message.decoded_payload.Bat
          uplink_message.decoded_payload.water_SOIL
          uplink_message.decoded_payload.conduct_SOIL
          uplink_message.decoded_payload.temp_SOIL
          

          Ich möchte aber noch den Wert rssi haben der in rx_metadata steckt. Vergeblich.
          Dieser Pfad funktioniert nicht:

          uplink_message.rx_metadata[0].rssi
          

          Das sollte er aber oder übersehe ich hier was ?
          Wenn ich nur uplink_message.rx_metadata verwende bekomme ich alles angezeigt was da drin steckt, darunter auch rssi aber ich kann nicht explizit darauf zugreifen.
          Jemand eine Idee ?

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

          @joker971

          so müsste korrekt sein

          uplink_message.rx_metadata[0].rssi
          

          bei meinem test kam -63 raus

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

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @homoran sagte in Json korrekt parsen:

            @joker971

            Was hast du bereits gemacht?
            Blockly oder js?

            Wenn ich mich jetzt in den Ebenen nicht verrant habe müüsste es sein:
            Attribut von: uplink_message.rx_metadata.0.rssi

            @joker971 sagte in Json korrekt parsen:

            Das sollte er aber oder übersehe ich hier was ?

            keine Array-Klammern sondern Punkte zur Ebenentrennung

            json_rssi.png

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

            @homoran sagte in Json korrekt parsen:

            keine Array-Klammern sondern Punkte zur Ebenentrennung

            ja, in JS würde man es aber mit Klammer machen (müssen!)

            iobroker läuft unter Docker auf QNAP TS-451+
            SkriptRecovery: https://forum.iobroker.net/post/930558

            OliverIOO 1 Antwort Letzte Antwort
            0
            • F fastfoot

              @homoran sagte in Json korrekt parsen:

              keine Array-Klammern sondern Punkte zur Ebenentrennung

              ja, in JS würde man es aber mit Klammer machen (müssen!)

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

              @fastfoot
              ich habe es in JS getestet und eckige array-klammern verwendet
              am besten du schreibst deine version mal hin

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

              F 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @fastfoot
                ich habe es in JS getestet und eckige array-klammern verwendet
                am besten du schreibst deine version mal hin

                F Offline
                F Offline
                fastfoot
                schrieb am zuletzt editiert von
                #9

                @oliverio sagte in Json korrekt parsen:

                @fastfoot
                ich habe es in JS getestet und eckige array-klammern verwendet
                am besten du schreibst deine version mal hin

                ich gehe davo aus dass er es in Blockly probiert hat, welches getAttr() verwendet und dort klappt das mit Klammer eben nicht :-)

                iobroker läuft unter Docker auf QNAP TS-451+
                SkriptRecovery: https://forum.iobroker.net/post/930558

                J HomoranH 2 Antworten Letzte Antwort
                0
                • F fastfoot

                  @oliverio sagte in Json korrekt parsen:

                  @fastfoot
                  ich habe es in JS getestet und eckige array-klammern verwendet
                  am besten du schreibst deine version mal hin

                  ich gehe davo aus dass er es in Blockly probiert hat, welches getAttr() verwendet und dort klappt das mit Klammer eben nicht :-)

                  J Offline
                  J Offline
                  Joker971
                  schrieb am zuletzt editiert von
                  #10

                  Es geht jetzt, ohne Klammern !
                  Danke euch :smile:

                  1 Antwort Letzte Antwort
                  0
                  • F fastfoot

                    @oliverio sagte in Json korrekt parsen:

                    @fastfoot
                    ich habe es in JS getestet und eckige array-klammern verwendet
                    am besten du schreibst deine version mal hin

                    ich gehe davo aus dass er es in Blockly probiert hat, welches getAttr() verwendet und dort klappt das mit Klammer eben nicht :-)

                    HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von Homoran
                    #11

                    @fastfoot sagte in Json korrekt parsen:

                    ich gehe davo aus dass er es in Blockly probiert hat

                    ich auch, seine Formulierung:

                    @joker971 sagte in Json korrekt parsen:

                    mit dem "JSON nach Objekt" Baustein in ein Objekt umwandle und mit dem "ATTRIB" Baustein

                    waren ziemlich eindeutig.

                    und in Blockly muss man .0. sattt [0] nehmen, außer man geht mehrstufig vor indem man erst das Array zelegt und dann darin weitermacht

                    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                    J 1 Antwort Letzte Antwort
                    0
                    • HomoranH Homoran

                      @fastfoot sagte in Json korrekt parsen:

                      ich gehe davo aus dass er es in Blockly probiert hat

                      ich auch, seine Formulierung:

                      @joker971 sagte in Json korrekt parsen:

                      mit dem "JSON nach Objekt" Baustein in ein Objekt umwandle und mit dem "ATTRIB" Baustein

                      waren ziemlich eindeutig.

                      und in Blockly muss man .0. sattt [0] nehmen, außer man geht mehrstufig vor indem man erst das Array zelegt und dann darin weitermacht

                      J Offline
                      J Offline
                      Joker971
                      schrieb am zuletzt editiert von
                      #12

                      @homoran

                      Ja natürlich Blockly, das ist doch auch das Blockly-Forum :nerd_face:

                      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

                      606

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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