on({id: new RegExp('hm-rpc\\.0\\.JPTH10I010\\.1\\.HUMIDITY' + "|" + 'hm-rpc\\.0\\.JPTH10I010\\.1\\.TEMPERATURE' + "|" + 'hm-rpc\\.0\\.JPTH10I011\\.1\\.HUMIDITY' + "|" + 'hm-rpc\\.0\\.JPTH10I011\\.1\\.TEMPERATURE'), change: "ne"}, function (obj) { BerechnungKellerLueften(); }); function BerechnungKellerLueften() { // Außen und Innen Temperatur / Luftfeuchtigkeit ermitteln var tAussen = getState("hm-rpc.0.JPTH10I010.1.TEMPERATURE").val; var rAussen = getState("hm-rpc.0.JPTH10I010.1.HUMIDITY").val; var tInnen = getState("hm-rpc.0.JPTH10I011.1.TEMPERATURE").val; var rInnen = getState("hm-rpc.0.JPTH10I011.1.HUMIDITY").val; // Absolute Luftfeuchtigkeit ermitteln var tpAussen = taupunkt(tAussen, rAussen); var Aussen = tpAussen.af; var tpInnen = taupunkt(tInnen, rInnen); var Innen = tpInnen.af; setState("Datenpunkte.0.AbsoluteFeuchtigkeit.Aussen", Aussen, true); setState("Datenpunkte.0.AbsoluteFeuchtigkeit.Innen", Innen, true); var Offset = 2; Aussen = Aussen+Offset; if (Innen > Aussen ) { setState("Datenpunkte.0.Status.KellerLueften"/*KellerLueften*/, true, true); } else { setState("Datenpunkte.0.Status.KellerLueften"/*KellerLueften*/, false, true); } } function taupunkt(t, r) { // Konstanten var mw = 18.016; // Molekulargewicht des Wasserdampfes (kg/kmol) var gk = 8214.3; // universelle Gaskonstante (J/(kmol*K)) var t0 = 273.15; // Absolute Temperatur von 0 °C (Kelvin) var tk = t + t0; // Temperatur in Kelvin var a, b; if (t >= 0) { a = 7.5; b = 237.3; } else if (t < 0) { a = 7.6; b = 240.7; } // Sättigungsdampfdruck in hPa var sdd = 6.1078 * Math.pow(10, (a*t)/(b+t)); // Dampfdruck in hPa var dd = sdd * (r/100); // Wasserdampfdichte bzw. absolute Feuchte in g/m3 var af = Math.pow(10,5) * mw/gk * dd/tk; // v-Parameter var v = Math.log10(dd/6.1078); // Taupunkttemperatur (°C) var tt = (b*v) / (a-v); return { tt: tt, af: af, dd: dd }; } BerechnungKellerLueften();