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.
    • paul53
      paul53 @mayli01 last edited by paul53

      @mayli01 sagte:

      Leider wird nichts ausgegeben...

      Der Wert vom Json-Datenpunkt muss sich erst ändern, damit getriggert wird.

      const id180 = ' mqtt.0.AMIS-Alex-Haushalt.180';
      

      Vor mqtt ist ein Leerzeichen im String !

      Eigene Datenpunkte sollte man nicht im Namensraum eines Adapters erstellen, da der Adapter die Objekte verwaltet, also auch löschen kann.

      mayli01 1 Reply Last reply Reply Quote 0
      • 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

                              809
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

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