I would really like to see dew point on emoncms from my emonTH. At the moment I’m fiddling with a process to approximate it from temperature and relative humidity, but it’s a bit of a pig. I’m using
$T_d = T - \frac{100 - H}{5}$
which is an approximation, allegedly valid above 50% humidity.
Dew point is much more useful to me as a measure of the absolute water content of the air, and should stay the same as the temperature varies. This is intuitively true: heating up the air doesn’t change the amount of water in it. It’s much harder to gauge how much moisture is in the air by looking at relative humidity.
Are you running node-red? if so, and alternative would be to pick up the temperature and humidity in node-red via MQTT, and pass it through a function node containing the code below. The resultant payload can be fed back by MQTT to emoncms for charting & storing.
// Replace these 2 example readings with inputs from your emonTH
var tem = "3";
var hum = "10";
// ...now to the maths...
var temp = -1.0*tem;
es = 6.112*Math.exp(-1.0*17.67*temp/(243.5 - temp));
ed = hum/100.0*es;
eln = Math.log(ed/6.112);
td = -243.5*eln/(eln - 17.67 );
msg.payload = td.toFixed(2);
return msg;
PS - I’m assuming you’ve already seen the dewpoint widget in the dashboard?
It might prove easier to modify the emonTH sketch to calculate and send the dewpoint rather than calculate it withing emoncms or farm it out to nodered etc.