Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Lightmanager, (v9.x) json Datei auslesen und DP erzeugen

    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

    Lightmanager, (v9.x) json Datei auslesen und DP erzeugen

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

      Hallo,

      das Thema wurde bereits in der Vergangenheit erfolgreich gelöst und lief auch hervorragend.
      Alter Thread

      Allerdings hat JBMedia den Lightmanager upgedatet (v9.x) und die json Datei hat sich verändert. Das Script kann die json Datei nicht mehr korrekt auslesen.

      könnte sich das jemand anschauen.

      die neue json Datei, welche ausgelesen werden soll.

      {
        "chenabled": "4095",
        "chhead": "0",
        "channel0": {
          "temperature": "24.6",
          "humidity": "0"    
        },
        "channel1": {
          "temperature": "",
          "humidity": ""
        },
        "channel2": {
          "temperature": "24.6",
          "humidity": "35"
        },
        "channel3": {
          "temperature": "",
          "humidity": ""
        },
        "channel4": {
          "temperature": "",
          "humidity": ""
        },
        "channel5": {
          "temperature": "",
          "humidity": ""
        },
        "channel6": {
          "temperature": "24.6",
          "humidity": "43"
        },
        "channel7": {
          "temperature": "24.5",
          "humidity": "39"
        },
        "channel8": {
          "temperature": "23.6",
          "humidity": "47"
        },
        "channel9": {
          "temperature": "23.8",
          "humidity": "41"
        },
        "channel10": {
          "temperature": "23.9",
          "humidity": "40"
        },
        "channel11": {
          "temperature": "17.3",
          "humidity": "45",
          "weather id": "801"
        }
      }
      

      und hier das alte Script, welches bis vor dem Update die Daten lesen konnte.

      var logOn           = false;     // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
      var forecreation    = true;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
      var http = require('http');     // Node Module http verwenden
      var RQoptions = {             // URL, die abgefragt, bzw. gesendet werden soll
            host: '192.168.10.71',
            path: '/weather.json',
            method: 'GET',
            headers: {
              'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
              'content-Type': 'text/plain',
              'Accept' : 'application/json, text/javascript'
            }
      };
      
      // Datenpunkte anlegen:
      // -----------------------------------------------------------------------------
      	// Datenpunkt-Variablen:
      	// -------------------------------------------------------------------------
      	var idVariablenDP;
      	var dpGruppe;
      	var dpPunkt;
      	// -------------------------------------------------------------------------
      // --- GRUPPE "os selected"
      var dpGruppe = "os_selected";
      var dpPunkt = "inside";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "outside";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "internal"
      var dpGruppe = "internal";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel1"
      var dpGruppe = "channel1";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel2"
      var dpGruppe = "channel2-bad";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel3"
      var dpGruppe = "channel3";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel4"
      var dpGruppe = "channel4";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel5"
      var dpGruppe = "channel5";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel6"
      var dpGruppe = "channel6-daniel";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel7"
      var dpGruppe = "channel7-jessica";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel8"
      var dpGruppe = "channel8-schlafzimmer";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel9"
      var dpGruppe = "channel9-kueche";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "channel10"
      var dpGruppe = "channel10-wohnzimmer";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      // --- GRUPPE "owm"
      var dpGruppe = "owm";
      var dpPunkt = "temperature";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "humidity";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "wind";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "rain";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      var dpPunkt = "weather_id";
      var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
      createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
           name: dpPunkt,               // <-- !!!!!
           desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
           type: 'number',
           def:  0.0,
           role: 'value'
      });
      
      // Funktionen:
      // -----------------------------------------------------------------------------
      function DatenAuslesen() {
          var req = http.get(RQoptions, function(res) {
          if(logOn) log('STATUS: ' + res.statusCode);               // Statuscode
          if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
          // Buffer the body entirely for processing as a whole.
          var bodyChunks  = [];
          var chunkLine   = 0;
          res.on('data', function(chunk) {
              chunkLine = chunkLine + 1;
              if(logOn)  log("Zeilennummer: " + chunkLine+ " ,Inhalt: " +  chunk);
              // Hier können die einzelnen Zeilen verarbeitet werden...
              bodyChunks.push(chunk);
          }).on('end', function() {
              if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
              if(logOn) log("ARRAY Länge: " + bodyChunks.length);
      
              var body = Buffer.concat(bodyChunks);// erhaltene Daten
      
              if(logOn) log('BODY: ' + body);     // ...und/oder das Gesamtergebnis.
              DatenVerarbeiten(body);				// Abrufen der Bearbeitungs-Funktion
              });
          });
          req.on('error', function(e) { // Fehler abfangen
              log('ERROR: ' + e.message,"warn");
              return("error");
          });
      }
      // -----------------------------------------------------------------------------
      function DatenVerarbeiten(result) {
          var json = JSON.parse(result);
      	
      	if (json !== null) {
      		// GRUPPE "os selected"
      		setState("javascript.0.lmair.temp-sensoren.os_selected.inside", parseFloat(json["os selected"].inside));
      		setState("javascript.0.lmair.temp-sensoren.os_selected.outside", parseFloat(json["os selected"].outside));
      		// GRUPPE "internal"
      		setState("javascript.0.lmair.temp-sensoren.internal.temperature", parseFloat(json.internal.temperature));
      		// GRUPPE "channel1"
      		setState("javascript.0.lmair.temp-sensoren.channel1.temperature", parseFloat(json.channel1.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel1.humidity", parseFloat(json.channel1.humidity));
      		// GRUPPE "channel2"
      		setState("javascript.0.lmair.temp-sensoren.channel2-bad.temperature", parseFloat(json.channel2.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel2-bad.humidity", parseFloat(json.channel2.humidity));
      		// GRUPPE "channel3"
      		setState("javascript.0.lmair.temp-sensoren.channel3.temperature", parseFloat(json.channel3.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel3.humidity", parseFloat(json.channel3.humidity));
      		// GRUPPE "channel4"
      		setState("javascript.0.lmair.temp-sensoren.channel4.temperature", parseFloat(json.channel4.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel4.humidity", parseFloat(json.channel4.humidity));
      		// GRUPPE "channel5"
      		setState("javascript.0.lmair.temp-sensoren.channel5.temperature", parseFloat(json.channel5.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel5.humidity", parseFloat(json.channel5.humidity));
      		// GRUPPE "channel6"
      		setState("javascript.0.lmair.temp-sensoren.channel6-daniel.temperature", parseFloat(json.channel6.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel6-daniel.humidity", parseFloat(json.channel6.humidity));
      		// GRUPPE "channel7"
      		setState("javascript.0.lmair.temp-sensoren.channel7-jessica.temperature", parseFloat(json.channel7.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel7-jessica.humidity", parseFloat(json.channel7.humidity));
      		// GRUPPE "channel8"
      		setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.temperature", parseFloat(json.channel8.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.humidity", parseFloat(json.channel8.humidity));
      		// GRUPPE "channel9"
      		setState("javascript.0.lmair.temp-sensoren.channel9-kueche.temperature", parseFloat(json.channel9.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel9-kueche.humidity", parseFloat(json.channel9.humidity));
      		// GRUPPE "channel10"
      		setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.temperature", parseFloat(json.channel10.temperature));
      		setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.humidity", parseFloat(json.channel10.humidity));
      		// GRUPPE "owm"
      		setState("javascript.0.lmair.temp-sensoren.owm.temperature", parseFloat(json.owm.temperature));
      		setState("javascript.0.lmair.temp-sensoren.owm.humidity", parseFloat(json.owm.humidity));
      		setState("javascript.0.lmair.temp-sensoren.owm.wind", parseFloat(json.owm.wind));
      		setState("javascript.0.lmair.temp-sensoren.owm.rain", parseFloat(json.owm.rain));
      		setState("javascript.0.lmair.temp-sensoren.owm.weather_id", parseFloat(json.owm["weather id"]));
      	} else {
      		log ("Fehler beim Einlesen der Daten.");
      	}
      }
      
      // Beim Skriptstart die Werte auslesen:
      // --------------------------------------------------------------------------
      setTimeout(DatenAuslesen, 1000);
      
      // Werte automatisch aktualisieren:
      // --------------------------------------------------------------------------
      schedule('*/30 * * * * *', DatenAuslesen);  // alle 30 sekunden 
      //
      

      Fehler mit dem jetzigen Script

      2.5.2019, 18:47:52.000	[info ]: javascript.0 Stop script script.js.Lightmanager.json_Abruf.weather_json
      2.5.2019, 18:47:52.068	[info ]: javascript.0 Start javascript script.js.Lightmanager.json_Abruf.weather_json
      2.5.2019, 18:47:52.068	[info ]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: registered 0 subscriptions and 1 schedule
      2.5.2019, 18:47:53.146	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:47:53.146	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:47:53.146	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:48:00.123	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:48:00.123	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:48:00.123	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:48:30.155	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:48:30.156	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:48:30.156	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:49:00.091	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:49:00.091	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:49:00.091	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:49:30.293	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:49:30.293	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:49:30.293	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:50:00.074	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:50:00.074	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:50:00.075	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:50:30.148	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:50:30.149	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:50:30.149	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:51:00.091	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:51:00.091	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:51:00.091	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:51:30.154	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:51:30.154	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:51:30.154	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:52:00.106	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:52:00.107	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:52:00.107	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:52:30.144	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:52:30.144	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:52:30.144	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:53:00.081	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:53:00.082	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:53:00.082	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:53:30.143	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:53:30.143	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:53:30.143	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:54:00.080	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:54:00.081	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:54:00.082	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:54:30.142	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:54:30.143	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:54:30.143	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:55:00.080	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:55:00.081	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:55:00.081	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:55:30.146	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:55:30.148	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:55:30.148	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:56:00.123	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:56:00.124	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:56:00.124	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:56:30.146	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:56:30.147	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:56:30.147	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      2.5.2019, 18:57:00.099	[error]: javascript.0 script.js.Lightmanager.json_Abruf.weather_json: TypeError: Cannot read property 'inside' of undefined
      2.5.2019, 18:57:00.099	[error]: javascript.0     at DatenVerarbeiten (script.js.Lightmanager.json_Abruf.weather_json:337:98)
      2.5.2019, 18:57:00.099	[error]: javascript.0     at IncomingMessage.<anonymous> (script.js.Lightmanager.json_Abruf.weather_json:323:9)
      

      Vielen Dank im voraus.

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        na so wie es aussieht sind die Datenpunkte

        inside
        outside
        

        ausgefallen

        kommentiere die zeilen 337 und 338 aus

        // setState("javascript.0.lmair.temp-sensoren.os_selected.inside", parseFloat(json["os selected"].inside));
        // setState("javascript.0.lmair.temp-sensoren.os_selected.outside", parseFloat(json["os selected"].outside));
        
        1 Reply Last reply Reply Quote 1
        • D
          dos1973 last edited by

          Danke Arteck, ich habe etwas weiter "auskommentiert und via copy/ paste 🙂 auch die Änderungen eingefügt...

          das Script funktioniert mit dem LightManager Air Version 9.1

          var logOn           = false;     // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
          var forecreation    = true;    // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
          var http = require('http');     // Node Module http verwenden
          var RQoptions = {             // URL, die abgefragt, bzw. gesendet werden soll
                host: '192.168.10.71',
                path: '/weather.json',
                method: 'GET',
                headers: {
                  'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
                  'content-Type': 'text/plain',
                  'Accept' : 'application/json, text/javascript'
                }
          };
          
          // Datenpunkte anlegen:
          // -----------------------------------------------------------------------------
          	// Datenpunkt-Variablen:
          	// -------------------------------------------------------------------------
          	var idVariablenDP;
          	var dpGruppe;
          	var dpPunkt;
          	// -------------------------------------------------------------------------
          
          // --- GRUPPE "channel0"
          var dpGruppe = "channel0";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          
          // --- GRUPPE "channel1"
          var dpGruppe = "channel1";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel2"
          var dpGruppe = "channel2-bad";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel3"
          var dpGruppe = "channel3";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel4"
          var dpGruppe = "channel4";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel5"
          var dpGruppe = "channel5";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel6"
          var dpGruppe = "channel6-daniel";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel7"
          var dpGruppe = "channel7-jessica";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel8"
          var dpGruppe = "channel8-schlafzimmer";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel9"
          var dpGruppe = "channel9-kueche";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          // --- GRUPPE "channel10"
          var dpGruppe = "channel10-wohnzimmer";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          
          // --- GRUPPE "channel11"
          var dpGruppe = "channel11";
          var dpPunkt = "temperature";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          var dpPunkt = "humidity";
          var idVariablenDP = "lmair.temp-sensoren." + dpGruppe + "." + dpPunkt;     // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idVariablenDP, 0, forecreation, {                        // Datenpunkt wird angelegt
               name: dpPunkt,               // <-- !!!!!
               desc: dpPunkt + ' von ' + dpGruppe,      // <-- !!!!!
               type: 'number',
               def:  0.0,
               role: 'value'
          });
          
          
          // Funktionen:
          // -----------------------------------------------------------------------------
          function DatenAuslesen() {
              var req = http.get(RQoptions, function(res) {
              if(logOn) log('STATUS: ' + res.statusCode);               // Statuscode
              if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
              // Buffer the body entirely for processing as a whole.
              var bodyChunks  = [];
              var chunkLine   = 0;
              res.on('data', function(chunk) {
                  chunkLine = chunkLine + 1;
                  if(logOn)  log("Zeilennummer: " + chunkLine+ " ,Inhalt: " +  chunk);
                  // Hier können die einzelnen Zeilen verarbeitet werden...
                  bodyChunks.push(chunk);
              }).on('end', function() {
                  if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
                  if(logOn) log("ARRAY Länge: " + bodyChunks.length);
          
                  var body = Buffer.concat(bodyChunks);// erhaltene Daten
          
                  if(logOn) log('BODY: ' + body);     // ...und/oder das Gesamtergebnis.
                  DatenVerarbeiten(body);				// Abrufen der Bearbeitungs-Funktion
                  });
              });
              req.on('error', function(e) { // Fehler abfangen
                  log('ERROR: ' + e.message,"warn");
                  return("error");
              });
          }
          // -----------------------------------------------------------------------------
          function DatenVerarbeiten(result) {
              var json = JSON.parse(result);
          	
          	if (json !== null) {
          		// GRUPPE "channel0"
          		setState("javascript.0.lmair.temp-sensoren.channel0.temperature", parseFloat(json.channel0.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel0.humidity", parseFloat(json.channel0.humidity));
                  // GRUPPE "channel1"
          		setState("javascript.0.lmair.temp-sensoren.channel1.temperature", parseFloat(json.channel1.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel1.humidity", parseFloat(json.channel1.humidity));
          		// GRUPPE "channel2"
          		setState("javascript.0.lmair.temp-sensoren.channel2-bad.temperature", parseFloat(json.channel2.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel2-bad.humidity", parseFloat(json.channel2.humidity));
          		// GRUPPE "channel3"
          		setState("javascript.0.lmair.temp-sensoren.channel3.temperature", parseFloat(json.channel3.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel3.humidity", parseFloat(json.channel3.humidity));
          		// GRUPPE "channel4"
          		setState("javascript.0.lmair.temp-sensoren.channel4.temperature", parseFloat(json.channel4.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel4.humidity", parseFloat(json.channel4.humidity));
          		// GRUPPE "channel5"
          		setState("javascript.0.lmair.temp-sensoren.channel5.temperature", parseFloat(json.channel5.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel5.humidity", parseFloat(json.channel5.humidity));
          		// GRUPPE "channel6"
          		setState("javascript.0.lmair.temp-sensoren.channel6-daniel.temperature", parseFloat(json.channel6.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel6-daniel.humidity", parseFloat(json.channel6.humidity));
          		// GRUPPE "channel7"
          		setState("javascript.0.lmair.temp-sensoren.channel7-jessica.temperature", parseFloat(json.channel7.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel7-jessica.humidity", parseFloat(json.channel7.humidity));
          		// GRUPPE "channel8"
          		setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.temperature", parseFloat(json.channel8.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel8-schlafzimmer.humidity", parseFloat(json.channel8.humidity));
          		// GRUPPE "channel9"
          		setState("javascript.0.lmair.temp-sensoren.channel9-kueche.temperature", parseFloat(json.channel9.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel9-kueche.humidity", parseFloat(json.channel9.humidity));
          		// GRUPPE "channel10"
          		setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.temperature", parseFloat(json.channel10.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel10-wohnzimmer.humidity", parseFloat(json.channel10.humidity));
          		// GRUPPE "channel11"
          		setState("javascript.0.lmair.temp-sensoren.channel11.temperature", parseFloat(json.channel11.temperature));
          		setState("javascript.0.lmair.temp-sensoren.channel11.humidity", parseFloat(json.channel11.humidity));
          	} else {
          		log ("Fehler beim Einlesen der Daten.");
          	}
          }
          
          // Beim Skriptstart die Werte auslesen:
          // --------------------------------------------------------------------------
          setTimeout(DatenAuslesen, 1000);
          
          // Werte automatisch aktualisieren:
          // --------------------------------------------------------------------------
          schedule('*/30 * * * * *', DatenAuslesen);  // alle 30 sekunden 
          //
          
          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          778
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          2
          3
          357
          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