var logging = false; var basePath = 'http://192.168.0.xx:4321/deinpasswort/'; // password unter ipconfig nach unten scrollen bis jason var allPath = basePath + 'all'; schedule("* * * * *", function () { if(logging) { log('Start Ökofen Daten einlesen')}; objekteAnlegen(); readAllAlues(); }); function readAllAlues() { if (logging) log('Start Ökofen Daten einlesen'); var request = require('request'); request(allPath, function (error, response, body) { if (!error && response.statusCode == 200) { var result; try{ result = JSON.parse(body); var data = JSON.stringify(result, null, 2); //if (logging) log(data); //if (logging) log('Kein Fehler :-D'); } catch (e) { if (logging) log('Parse Fehler:' + e); } if (result) { setState("Heizung.Pellematic.Ambient.Aussentemperatur", parseFloat((result.system.L_ambient * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Raumtemperatur_ist", parseFloat((result.hk1.L_roomtemp_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Raumtemperatur_soll", parseFloat((result.hk1.L_roomtemp_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Absenktemperatur_soll", parseFloat((result.hk1.temp_setback * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Vorlauftemperatur_ist", parseFloat((result.hk1.L_flowtemp_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Vorlauftemperatur_soll", parseFloat((result.hk1.L_flowtemp_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Heizkreis.Status", result.hk1.L_statetext); setState("Heizung.Pellematic.Puffer.Temperatur_oben_ist", parseFloat((result.pu1.L_tpo_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Puffer.Temperatur_oben_soll", parseFloat((result.pu1.L_tpo_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Puffer.Temperatur_unten_ist", parseFloat((result.pu1.L_tpm_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Puffer.Temperatur_unten_soll", parseFloat((result.pu1.L_tpm_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Puffer.Ladepumpe", parseFloat(result.pu1.L_pump)); setState("Heizung.Pellematic.Puffer.Status", result.pu1.L_statetext); setState("Heizung.Pellematic.Warmwasser.Temperatur_ist", parseFloat((result.ww1.L_ontemp_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Warmwasser.Temperatur_soll", parseFloat((result.ww1.L_temp_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Warmwasser.Pumpe_an", JSON.parse(result.ww1.L_pump)); setState("Heizung.Pellematic.Warmwasser.Status", result.ww1.L_statetext); setState("Heizung.Pellematic.Warmwasser.Modus", parseFloat(result.ww1.mode_auto)); setState("Heizung.Pellematic.Ofen.Modulation", parseFloat(result.pe1.L_modulation)); setState("Heizung.Pellematic.Ofen.Kesseltemperatur_ist", parseFloat((result.pe1.L_temp_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Ofen.Kesseltemperatur_soll", parseFloat((result.pe1.L_temp_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Ofen.Feuerraumtemperatur_ist", parseFloat((result.pe1.L_frt_temp_act * 0.1).toFixed(1))); setState("Heizung.Pellematic.Ofen.Feuerraumtemperatur_soll", parseFloat((result.pe1.L_frt_temp_set * 0.1).toFixed(1))); setState("Heizung.Pellematic.Ofen.Status", result.pe1.L_statetext); setState("Heizung.Pellematic.Ofen.Brennerstarts", parseFloat(result.pe1.L_starts)); setState("Heizung.Pellematic.Ofen.Brennerlaufzeit", parseFloat(result.pe1.L_runtime)); setState("Heizung.Pellematic.Ofen.Mittlere_Laufzeit", parseFloat(result.pe1.L_avg_runtime)); } } else { log('Fehler:' + error); } }); // Ende request if(logging) {log('Daten aus Ökofen eingelesen') }; } function objekteAnlegen () { createState('Heizung.Pellematic.Ambient.Aussentemperatur', {name: 'Außentemperatur', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Raumtemperatur_ist', {name: 'Raumtemperatur ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Raumtemperatur_soll', {name: 'Raumtemperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Absenktemperatur_soll', {name: 'Absenktemperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Vorlauftemperatur_ist', {name: 'Vorlauftemperatur ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Vorlauftemperatur_soll', {name: 'Vorlauftemperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Heizkreis.Status', {name: 'Status', type: 'string'}); createState('Heizung.Pellematic.Puffer.Temperatur_oben_ist', {name: 'Temperatur oben ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Puffer.Temperatur_oben_soll', {name: 'Temperatur oben soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Puffer.Temperatur_unten_ist', {name: 'Temperatur unten ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Puffer.Temperatur_unten_soll', {name: 'Temperatur unten soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Puffer.Ladepumpe', {name: 'Ladepumpe', type: 'number', unit:'%'}); createState('Heizung.Pellematic.Puffer.Status', {name: 'Status', type: 'string'}); createState('Heizung.Pellematic.Warmwasser.Temperatur_ist', {name: 'Temperatur ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Warmwasser.Temperatur_soll', {name: 'Temperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Warmwasser.Pumpe_an', {name: 'Pumpe an', type: 'boolean'}); createState('Heizung.Pellematic.Warmwasser.Status', {name: 'Status', type: 'string'}); createState('Heizung.Pellematic.Warmwasser.Modus', {name: 'Modus', type: 'number'}); createState('Heizung.Pellematic.Ofen.Modulation', {name: 'Modulation', type: 'number', unit:'%'}); createState('Heizung.Pellematic.Ofen.Kesseltemperatur_ist', {name: 'Kesseltemperatur ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Ofen.Kesseltemperatur_soll', {name: 'Kesseltemperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Ofen.Feuerraumtemperatur_ist', {name: 'Feuerraumtemperatur ist', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Ofen.Feuerraumtemperatur_soll', {name: 'Feuerraumtemperatur soll', type: 'number', unit:'°C'}); createState('Heizung.Pellematic.Ofen.Status', {name: 'Status', type: 'string'}); createState('Heizung.Pellematic.Ofen.Brennerstarts', {name: 'Brennerstarts', type: 'number'}); createState('Heizung.Pellematic.Ofen.Brennerlaufzeit', {name: 'Brennerlaufzeit', type: 'number', unit:'h'}); createState('Heizung.Pellematic.Ofen.Mittlere_Laufzeit', {name: 'Mittlere Laufzeit', type: 'number', unit:'min'}); }