Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function CalcDew(fTemp, fHum) {
- var temp = -1.0 * fTemp;
- var es = 6.112 * Math.exp(-1.0 * 17.67 * temp / (243.5 - temp))
- var ed = fHum / 100.0 * es;
- var eln = Math.log(ed / 6.112);
- var td = -243.5 * eln / (eln - 17.67);
- var fDew = parseFloat(td.toFixed(1));
- return (fDew);
- }
- function CalcAF(fTemp, fHum) {
- var T = fTemp;
- var r = fHum;
- var a = 7.5;
- var b = 237.3;
- var RG = 8314.3;
- var mw = 18.016;
- var TK = T + 273.15;
- if (T <= 0) {
- a = 7.6;
- b = 240.7;
- }
- var SDDt = 6.1078 * Math.pow(10, ((a * T) / (b + T)));
- var DDrT = r / 100 * SDDt;
- var AF = parseFloat((Math.pow(10, 5) * mw / RG * DDrT / TK).toFixed(1) );
- return (AF);
- }
- var KnotenName = msg.topic;
- var varname = KnotenName + "-";
- var Temp = msg.payload.temp
- var Hum = "50"; // in case not supplied by Sensor
- if (msg.payload.hum === undefined) {
- Hum = 50;
- }
- else {
- Hum = msg.payload.hum
- }
- var Dew = CalcDew(Temp, Hum);
- var AF = CalcAF(Temp, Hum);
- global.set(varname + "Temp", Temp);
- global.set(varname + "Hum", Hum);
- global.set(varname + "Dew", Dew);
- global.set(varname + "AF", AF);
- var Influx = [{
- Room: KnotenName,
- Temp: Temp,
- Hum: Hum,
- Dew: Dew
- }]
- var time = Date.now();
- var Time1 = {payload:time};
- var Influx1 = {payload:Influx};
- node.status({
- fill: "blue", shape: "ring", text: KnotenName + ", Temp: " + Temp + "°C, Hum: " + Hum + "%, Dew: " + Dew + "°C, AF: " + AF + "g/m³" });
- return [Influx1, Time1];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement