Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Lightmanager, (v9.x) json Datei auslesen und DP erzeugen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 373 Aufrufe 4 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.
  • D Offline
    D Offline
    dos1973
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      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));
      

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Antwort Letzte Antwort
      1
      • D Offline
        D Offline
        dos1973
        schrieb am zuletzt editiert von
        #3

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

        774

        Online

        32.4k

        Benutzer

        81.4k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe