Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. JSON String zu Datenpunkten

    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

    JSON String zu Datenpunkten

    This topic has been deleted. Only users with topic management privileges can see it.
    • mayli01
      mayli01 @paul53 last edited by

      @paul53
      Der JSON Datenpunkt ändert sich alle 3 sec.
      Habs jetzt noch einmal neu gemacht aber trotzdem ohne erfolg 🙆‍♂️

      const idJson = 'mqtt.0.AMIS-Alex-Haushalt.Haushalt'/*AMIS-Alex-Haushalt/Haushalt*/; // ID eintragen
      const id180 = '0_userdata.0.AMIS.180'/*Amis 180*/; // eigener Datenpunkt vom Typ Zahl
      // usw.
       
      on(idJson, function(dp) {
         let obj = JSON.parse(dp.stat.val);
         setState(id180, obj['1.8.0'], true);
         // usw.
      });
      

      2020-09-17 15_39_13-objects - ioBroker.png
      2020-09-17 15_39_57-objects - ioBroker.png

      F 1 Reply Last reply Reply Quote 0
      • F
        fastfoot @mayli01 last edited by

        @mayli01 sagte in JSON String zu Datenpunkten:

        JSON.parse(dp.stat.val)

        schau doch mal was da falsch sein könnte 🙂

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @fastfoot last edited by

          @fastfoot sagte:

          Schau doch mal was da falsch sein könnte

          Sorry, ein e vergessen.

             let obj = JSON.parse(dp.state.val);
          
          mayli01 F 2 Replies Last reply Reply Quote 0
          • mayli01
            mayli01 @paul53 last edited by

            @paul53
            Danke! Wenn man keine Ahnung von Js hat fällt mir sowas bestimmt nicht auf🤦 👍

            1 Reply Last reply Reply Quote 0
            • F
              fastfoot @paul53 last edited by

              @paul53 sagte in JSON String zu Datenpunkten:

              Sorry, ein e vergessen.

              ich hatte das dem TE unterstellt, mir war nicht bewusst das das von Dir kam. Bei so vielen hilfreichen Beiträgen darf das aber schonmal passieren👍

              hanss 1 Reply Last reply Reply Quote 0
              • hanss
                hanss @fastfoot last edited by

                @paul53
                Hallo Paul,
                Wie bekomme ich die darunterliegende id von
                "javascript.0.haus.Heizung.OG_Kueche.FensterOffen"
                also
                "javascript.0.haus.Heizung.OG_Kueche"
                ohne einfach den String begrenzen, weil die Länge variabel ist.
                Vielen Dank.

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @hanss last edited by paul53

                  @hanss sagte in JSON String zu Datenpunkten:

                  Wie bekomme ich die darunterliegende id

                  function parentId(id) {
                     return id.substring(0, id.lastIndexOf('.'));
                  }
                  
                  hanss 1 Reply Last reply Reply Quote 0
                  • hanss
                    hanss @paul53 last edited by

                    @paul53
                    vielen Dank, Du bist wirklich eine große Hilfe.

                    1 Reply Last reply Reply Quote 0
                    • B
                      bjappler last edited by bjappler

                      Hallo, ich habe diesen Beitrag gefunden und nutze das hier erwähnte script bisher erfolgreich für Datenpunkte als Zahl .
                      Ich habe folgende Frage:

                      • Wie kann ich die Untervariablen "ble temp" und "ble hum" auszulesen?

                      Nachfolgend mein Datenpunkt (über MQTT JSON) :

                      {
                        
                        "temp": 19.5,
                        "demand": 40,
                        "fan": "1",
                        "ble": {
                          "temp": 21.11,
                          "hum": 76.86,
                          "bat": 2111
                        },
                        "autob": "A4C13885DD31",
                        "autor": 0,
                        "autot": 17.5,
                        "auto0": "00:00",
                        "auto1": "00:00",
                        "autop": false
                      }
                      

                      Die Haupvariablen z.B. "env" kann ich ohne Probleme wie folgt auslesen:

                      setState(id180, obj['env'], true);
                      

                      Wie müss der Code für "ble temp" aussehen?

                      Ich habe alles mögliche ausprobiert, leider klappt es z.B. mit dem nachfolgenden Code nicht

                      setState(id180, obj['ble.temp'], true);
                      

                      Ich freue mich auf Eure Antwort.

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @bjappler last edited by

                        @bjappler sagte: "ble temp" auszulesen?

                        setState(id180, obj.ble.temp, true);
                        
                        B 1 Reply Last reply Reply Quote 0
                        • B
                          bjappler @paul53 last edited by

                          @paul53 vielen Dank, das klappt! 🙂

                          Gibt es eigentlich eine Möglichkeit das o.g. Script auch als Blockly aufzubauen, um den Wert "ble temp" auszulesen? Habe viele Scripte probiert, es hatte aber dann letzendlich nur dieses hier geklappt.

                          Ansonsten werde ich dieses hier einfach weiter nutzen 😊

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @bjappler last edited by Homoran

                            @bjappler sagte in JSON String zu Datenpunkten:

                            um den Wert "ble temp" auszulesen?

                            der Block Attribut "ble.temp" von "json" liefert das
                            Screenshot_20240804-144357_Firefox.jpg

                            vorher Struktur ansehen
                            Screenshot_20240804-144521_Firefox.jpg

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            1.0k
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            6
                            16
                            2358
                            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