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. JavaScript
  5. (Gelöst) JSON und Javascript

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    958

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

(Gelöst) JSON und Javascript

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
4 Beiträge 3 Kommentatoren 426 Aufrufe 3 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.
  • L Online
    L Online
    Langer
    schrieb am zuletzt editiert von Langer
    #1

    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-skyL 1 Antwort Letzte Antwort
    0
    • L 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-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #2

      @langer

      evtl hilft :

      xxxx.hasOwnProperty("rechts")
      

      in einer if abfrage

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      L 1 Antwort Letzte Antwort
      1
      • liv-in-skyL liv-in-sky

        @langer

        evtl hilft :

        xxxx.hasOwnProperty("rechts")
        

        in einer if abfrage

        L Online
        L Online
        Langer
        schrieb am zuletzt editiert von
        #3

        @liv-in-sky

        vielen Dank!!! Super!!!

        MfG
        Wastl

        T 1 Antwort Letzte Antwort
        0
        • L Langer

          @liv-in-sky

          vielen Dank!!! Super!!!

          MfG
          Wastl

          T Nicht stören
          T Nicht stören
          ticaki
          schrieb am zuletzt editiert von ticaki
          #4

          @langer

          nur der vollständigkeithalber:

          let test = {"a":1, "b":2} 
          if (test["a"] !== undefined) {}
          if (test.b !== undefined) {}
          

          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

          Spenden

          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

          736

          Online

          32.6k

          Benutzer

          82.2k

          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