Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JSON String auswerten

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    353

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    317

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    935

JSON String auswerten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 1 Kommentatoren 327 Aufrufe 1 Beobachtet
  • Ä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.
  • Danny 0D Offline
    Danny 0D Offline
    Danny 0
    schrieb am zuletzt editiert von
    #1

    Hi Leute, ich weiß nicht mehr weiter....

    ich möchte gerne folgenden JSON String durchsuchen und dabei den Wert von TEMPS.0.Chip mit rund 80° finden.
    mit der Variante einen Festen "String" in den json_parsen zu schmeißen läuft alles.... wenn ich den String durch eine Variable ersetze klappt es nicht :(

    JSON String

    {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
    

    und habe dafür folgenden Code in Blockly erzeugt

    async function json_parser(input, json_path) {
        log(input);
        let obj = JSON.parse(input);
        let var_chip = getAttr(obj, 'TEMPS.0.Chip'); // designed for Blockly
        log(var_chip1 = getAttr(obj, json_path)); // designed for Blockly
        return var_chip;
    }
    
    exec('echo \'{"command":"temps"}\' | nc S9-2 4028', async function (error, result, stderr) {
        json_input = ('' + result);
      console.log((await json_parser('{"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}', 'TEMPS.0.Chip')));
      console.log((await json_parser(json_input, 'TEMPS.0.Chip')));
    });
    console.log("exec: " + 'echo \'{"command":"temps"}\' | nc S9-2 4028');
    

    dazu kommt der output

    00:14:38.412	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: registered 0 subscriptions and 0 schedules
    00:14:38.417	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
    00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
    00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
    00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639437278,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.125,"Chip":82.6875},{"TEMP":2,"ID":8,"Board":61.375,"Chip":84.0}],"id":1}
    00:14:38.419	error	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: SyntaxError: Unexpected token  in JSON at position 292
    00:14:38.419	error	javascript.1 (32412) at json_parser (script.js.Instanz_0_debug.miner_werte_auslesen:76:20)
    00:14:38.420	error	javascript.1 (32412) at script.js.Instanz_0_debug.miner_werte_auslesen:88:22
    

    Besten Dank schon mal für eure Hilfe!

    Danny 0D 1 Antwort Letzte Antwort
    0
    • Danny 0D Danny 0

      Hi Leute, ich weiß nicht mehr weiter....

      ich möchte gerne folgenden JSON String durchsuchen und dabei den Wert von TEMPS.0.Chip mit rund 80° finden.
      mit der Variante einen Festen "String" in den json_parsen zu schmeißen läuft alles.... wenn ich den String durch eine Variable ersetze klappt es nicht :(

      JSON String

      {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
      

      und habe dafür folgenden Code in Blockly erzeugt

      async function json_parser(input, json_path) {
          log(input);
          let obj = JSON.parse(input);
          let var_chip = getAttr(obj, 'TEMPS.0.Chip'); // designed for Blockly
          log(var_chip1 = getAttr(obj, json_path)); // designed for Blockly
          return var_chip;
      }
      
      exec('echo \'{"command":"temps"}\' | nc S9-2 4028', async function (error, result, stderr) {
          json_input = ('' + result);
        console.log((await json_parser('{"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}', 'TEMPS.0.Chip')));
        console.log((await json_parser(json_input, 'TEMPS.0.Chip')));
      });
      console.log("exec: " + 'echo \'{"command":"temps"}\' | nc S9-2 4028');
      

      dazu kommt der output

      00:14:38.412	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: registered 0 subscriptions and 0 schedules
      00:14:38.417	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639436873,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.0,"Chip":82.5625},{"TEMP":2,"ID":8,"Board":61.3125,"Chip":83.9375}],"id":1}
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: 80.25
      00:14:38.418	info	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: {"STATUS":[{"STATUS":"S","When":1639437278,"Code":201,"Msg":"3 Temp(s)","Description":"BOSminer bosminer-plus-am1-s9 0.7.0-52331c5f"}],"TEMPS":[{"TEMP":0,"ID":6,"Board":60.6875,"Chip":80.25},{"TEMP":1,"ID":7,"Board":61.125,"Chip":82.6875},{"TEMP":2,"ID":8,"Board":61.375,"Chip":84.0}],"id":1}
      00:14:38.419	error	javascript.1 (32412) script.js.Instanz_0_debug.miner_werte_auslesen: SyntaxError: Unexpected token  in JSON at position 292
      00:14:38.419	error	javascript.1 (32412) at json_parser (script.js.Instanz_0_debug.miner_werte_auslesen:76:20)
      00:14:38.420	error	javascript.1 (32412) at script.js.Instanz_0_debug.miner_werte_auslesen:88:22
      

      Besten Dank schon mal für eure Hilfe!

      Danny 0D Offline
      Danny 0D Offline
      Danny 0
      schrieb am zuletzt editiert von
      #2

      @danny-0 Habe das Problem in Griff bekommen... beim Auswerten über den exec Befehl war ein Leerzeichen am Ende. Das habe ich entfernt und schon läuft es :-)

      1 Antwort Letzte Antwort
      0

      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

      Registrieren Anmelden
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      277

      Online

      32.8k

      Benutzer

      82.8k

      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