Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON Daten auswerten und darauf reagieren

    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 Daten auswerten und darauf reagieren

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

      Moin Moin,

      ich bin dabei ein Script zu schreiben um meine HUE Lampen auslesen.

      Ich will JS lernen und da kommen mir die Lampen gerade recht.

      Antworten wie, nutzte doch den Adapter bringt mich nicht weiter.

      Ich habe die betroffenen Zeilen kommentiert.

      Bin über jede Hilfe dankbar die Zeilen zu vervollständigen.

      Wenn ich "if(JSON.parse(body)[0].error.type=='3'){" mache und das ist nicht vorhanden,

      stürzt alles ab.

      Kann mir einer sagen, wie ich dort das error handling am besten angehe ?

      Mein Code:

      //1234567345
      // ------------------------------------------------------------------------------------------
      var http = require('request');
      
      var options = {
          uri: "http://>ip>/api/>apikey>/lights/3",
          method: "GET",
          json: "",
      };
      
      request(options, function(error, response, body) {
      
      console.log('error Normal '+error);
      console.log('response Normal '+response); // Das ist JSON
      console.log('body Normal '+body); // Das ist ein String
      console.log('response STRING '+JSON.stringify(response)); // Umwandlung von JSON in String
      
          if(!error){
            console.log('Verbindung konnte aufgebaut werden');
              switch (response.statusCode){
      
              case 200: // OK
              console.log('Verbindung wurde akzeptiert');
      
      //Wenn ich einen Fehler bekomme, weil das nicht vorhanden ist, stürtz alles ab
      //        if(JSON.parse(body)[0].error.type=='3'){
      //          console.warn('Lampe nicht vorhanden');
      //        }
      //        else{
      //          console.log('Lampe vorhanden');
      //        }
      // Der Error wird als array ausgegeben
      // Dieser muss zuerst korrekt umgewandelt werden
      //        var errortyp = JSON.parse(body)[0].error.type;
      //        console.log('Error Type: '+errortyp);
              break;
      
              default:
              console.error('Verbindung wird NICHT akzeptiert!')
            }
          }
          else{
            console.error('Verbindung konnte NICHT aufgebaut werden!');
      }
      
      //var json = JSON.parse(body);
      //var name = (json.name);
      //var state = (json.state.on);
      //var bri = parseInt(json.state.bri);
      //var hue = parseInt(json.state.hue);
      //var sat = parseInt(json.state.sat);
      //var ct = parseInt(json.state.ct);
      //console.warn('Status von ' +name +' ist: ' +state);
      //console.warn('Helligkeit von ' +name +' ist: ' +bri);
      //console.warn('Hue von ' +name +' ist: ' +hue);
      //console.warn('Sat von ' +name +' ist: ' +sat);
      //console.warn('CT von ' +name +' ist: ' +ct);
      });
      
      // ------------------------------------------------------------------------------------------
      
      

      body bei einem error:

      [{"error":{"type":3,"address":"/lights/30","description":"resource, /lights/30, not available"}}]
      

      Mit freundlichen Grüßen

      Kevin

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

      Support us

      ioBroker
      Community Adapters
      Donate

      416
      Online

      31.8k
      Users

      79.9k
      Topics

      1.3m
      Posts

      1
      1
      537
      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