var request1 = require('request'); var pfad1 = "EFR_PV."; var idPV = pfad1 + "PV_Wert"; var url1 = 'http://192.168.178.31/json.txt?LogName=user&LogPSWD=user'; var request2 = require('request'); var pfad2 = "EFR_Bz."; var idBZ = pfad2 + "BZ_Wert"; var url2 = 'http://192.168.178.32/json.txt?LogName=user&LogPSWD=user'; var iZwErg = 0; var fValue = 0.0; var fSumme = 0.0; var sValue1 = "0"; var sValue2 = "0"; var sValue3 = "0"; var fAvg = 0.0; var myTimer = setInterval(main, 15000); // alle 15 Sekunden die Werte abfragen createState(idPV, 0, { desc: 'PV-Wert', type: 'number', role: 'value', unit: 'W' }); createState(idBZ, 0, { desc: 'Bz-Wert', type: 'number', role: 'value', unit: 'W' }); function main() { request1(url1, function (err, state, body) { if(!err && state.statusCode == 200) { var PVvalues = JSON.parse(body)['billingData:'].values; log("PV-Wert: " + PVvalues[2].value,"info"); setState(idPV, PVvalues[2].value); sValue1 = PVvalues[2].value; } else { log("Fehler: " + err + " bei Abfrage von: " + url, "warn"); } }); request2(url2, function (err, state, body) { if(!err && state.statusCode == 200) { var BZvalues = JSON.parse(body)['billingData:'].values; log("Bz-Wert: " + BZvalues[4].value,"info"); sValue2 = BZvalues[4].value; setState(idBZ, sValue2); fValue = parseFloat(BZvalues[4].value); //*** Übernahme vom JSON-Wert } else { log("Fehler: " + err + " bei Abfrage von: " + url, "warn"); } }); if (iZaehler < iSchaltZeit) { fSumme += fValue; iZaehler++; fAvg = Math.abs(fSumme / iZaehler); if (iZaehler == iSchaltZeit) iZaehler = 0; } log(fValue,"info"); //*** Ausgabe vom Wert if (fValue < 0.0) { // weitere Auswertung } } setTimeout(main,500); // Beim Skriptstart die Werte abfragen