Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. (Gelöst) JSON und Javascript

    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

    (Gelöst) JSON und Javascript

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Langer last edited by Langer

      Hallo zusammen,

      let fenster = JSON.parse(getState("0_userdata.0.vis.StatusHaus.Sensoren.BSH.Fenster.jsonSensoren").val);
      
      let dpFensterStatus = "0_userdata.0.vis.StatusHaus.Sensoren.BSH.Fenster.";
      
      on(/^bshb\.0\.hdm:HomeMaticIP:.*\.ShutterContact.value/, function(dp) {findeSensor(dp)});
      on(/^bshb\.1\.hdm:HomeMaticIP:.*\.ShutterContact.value/, function(dp) {findeSensor(dp)});
      
      function findeSensor(dp) {
          let sensor = dp.name;  //F_Wohnzimmer
          let result = JSON.stringify(fenster.find( ({ name }) => name === sensor ));
      
          let links = JSON.parse(result).links;
          
          log((links[0].unten)) //Ausgabe bshb.0.hdm:HomeMaticIP:3014F711A000009D58599964
      
      };
      
      /*
      Auszug Struktur JSON "fenster"
      [
        {
          "name": "F-Wohnzimmer",
          "links": [
            {
              "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18590405",
              "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009D58599964"
            }
          ]
        },
        {
          "name": "F-Schlafzimmer",
          "links": [
            {
              "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18592597",
              "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009BB85FD526"
            }
          ],
          "rechts": [
            {
              "oben": "bshb.0.hdm:HomeMaticIP:3014F711A000009A18592781",
              "unten": "bshb.0.hdm:HomeMaticIP:3014F711A000009BB85FD559"
            }
          ]
        } und so weiter
      ]
      */
      

      hier der Anfang eines Javascript um einen Datenpunkt "json" auszulesen:
      unten ein Teil der Struktur des Json.
      Das Script funktioniert, aber was muß ich machen um z.B. bei "F-Schlafzimmer" zu erkennen es gibt "links" und "rechts" bzw. bei "F-Wohnzimmer" gibt es nur "links".

      Für Eure Hilfe wie immer vielen Dank im voraus.

      MfG
      Wastl

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Langer last edited by

        @langer

        evtl hilft :

        xxxx.hasOwnProperty("rechts")
        

        in einer if abfrage

        L 1 Reply Last reply Reply Quote 1
        • L
          Langer @liv-in-sky last edited by

          @liv-in-sky

          vielen Dank!!! Super!!!

          MfG
          Wastl

          T 1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer @Langer last edited by ticaki

            @langer

            nur der vollständigkeithalber:

            let test = {"a":1, "b":2} 
            if (test["a"] !== undefined) {}
            if (test.b !== undefined) {}
            
            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            911
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            3
            4
            195
            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