Jump to content

How To: Automate a bathroom exhaust fan based on room humidity


Tim Wilson

Recommended Posts

Here are some of the results from using the tag.dewpoint. Formulas for below variables:


corrected_temp = Math.round((tag.temperature * 9 / 5 + 32)*10);


corrected_moisture = Math.round(tag.moisture*10);


dp_tag = tag.temperature - ((100-tag.moisture)/5);


dp_tagF = Math.round((dp_tag *9 / 5 + 32)*10);


 


 



Bathroom, Main tag.temp: 21.298350228203667

Bathroom, Main corrected_temp: 703


Bathroom, Main tag.moisture: 59.38548278808594


Bathroom, Main corrected_moisture: 594


Bathroom, Main dp_tag: 13.175446785820855

Bathroom, Main dp_tagF: 557

Bathroom, Main tag.dewpoint: 13.069799360247911

 


Outside tag.temp: 15.760338253445095

Outside corrected_temp: 604


Outside tag.moisture: 68.38311767578125

Outside corrected_moisture: 684

Outside dp_tag: 9.436961788601344

Outside dp_tagF: 490

Outside tag.dewpoint: 9.956201846912432

 


Bathroom, Master tag.temp: 20.301134533352318

Bathroom, Master corrected_temp: 685

Bathroom, Master tag.moisture: 62.70417022705078


Bathroom, Master corrected_moisture: 627

Bathroom, Master dp_tag: 12.841968578762474

Bathroom, Master dp_tagF: 551

Bathroom, Master tag.dewpoint: 12.962058872287656

 


Dining Room tag.temp: 20.13942527770996

Dining Room corrected_temp: 683


Dining Room tag.moisture: 60.44835662841797

Dining Room corrected_moisture: 604

Dining Room dp_tag: 12.229096603393554

Dining Room dp_tagF: 540

Dining Room tag.dewpoint: 12.2510262921782
Link to comment
  • 3 weeks later...

Nothing mentioned in their help docs. It still says only RH% is available for use in coding.

 

The app reporting and graphing implemented dewpoint about a year ago.

 

Well I have for the past few weeks been using the tag.dewpoint, and it pulls the dewpoint from the tag. It is not available for graphing, probably because I didn't request that feature. (I had gone to them asking for the particular .dewpoint to be added so that I could use all three in conjunction together.

Link to comment

Well I have for the past few weeks been using the tag.dewpoint, and it pulls the dewpoint from the tag. It is not available for graphing, probably because I didn't request that feature. (I had gone to them asking for the particular .dewpoint to be added so that I could use all three in conjunction together.

I have been graphing dewpoint in the app charting for about a year now but see no available function to get dewpoint sent with any available method???.

Exactly where are you using the dewpoint function and what does the code look like?

Link to comment

I have been graphing dewpoint in the app charting for about a year now but see no available function to get dewpoint.

Exactly where are you using the dewpoint function and what does the code look like?

 

In coding rather than use formulas to pull dewpoint I use the following tag properties to pull the various properties. (It likely has NOT been updated in the documentation, but it does indeed work)

 

tag.temperature = gives temperature in Celsius

tag.moisture = gives me relative humidity

tag.dewpoint = gives me dewpoint in Celsius 

Link to comment

In coding rather than use formulas to pull dewpoint I use the following tag properties to pull the various properties. (It likely has NOT been updated in the documentation, but it does indeed work)

 

tag.temperature = gives temperature in Celsius

tag.moisture = gives me relative humidity

tag.dewpoint = gives me dewpoint in Celsius 

OK. Is this in kumoapp coding, URLcalling or direct email notices or ....?

Link to comment

OK. Is this in kumoapp coding?

Yep. (Sorry I forgot to mention that.)

var tags = <#tags_[13]_N#>;
var isy_ip = <%ISY IP Address%>;
var isy_user = <%ISY username%>;
var isy_password = <%ISY password%>;
var isy_RESTcall = "http://"+isy_user+":"+isy_password+"@"+isy_ip+"/rest/vars/set/2/"

tags.forEach(
function (tag) {
    tag.updated = function () {
        var cur_name = tag.name
        var valid_device = true
        
        var corrected_temp = Math.round((tag.temperature * 9 / 5 + 32)*10);
        var corrected_rssi = Math.round(tag.rssi - 20 * Math.log(tag.txpwr/255));
        var corrected_batteryVolt = Math.round(tag.batteryVolt * 1000);
        var isy_corrected_moisture = 0
        var corrected_moisture = Math.round(tag.moisture*10);
        var corrected_dewpoint = tag.dewpoint;
        
        //KumoApp.Log(cur_name + " tag.temp: " + tag.temperature);
        //KumoApp.Log(cur_name + " tag.moisture: " + tag.moisture);
        var dp_tag = tag.temperature - ((100-tag.moisture)/5);
        //KumoApp.Log(cur_name + " dewpoint tag (C): " + dp_tag);
        var dp_tagF = Math.round((dp_tag *9 / 5 + 32)*10);
        //KumoApp.Log(cur_name + " dewpoint tag (F): " + dp_tagF);
        
        KumoApp.Log(cur_name + " tag.temp: " + tag.temperature);
        KumoApp.Log(cur_name + " corrected_temp: " + corrected_temp);
        KumoApp.Log(cur_name + " tag.moisture: " + tag.moisture);
        KumoApp.Log(cur_name + " corrected_moisture: " + corrected_moisture);
        KumoApp.Log(cur_name + " dp_tag: " + dp_tag);
        KumoApp.Log(cur_name + " dp_tagF: " + dp_tagF);
        KumoApp.Log(cur_name + " tag.dewpoint: " + tag.dewpoint);
        };
    }
);
Link to comment

Yep. (Sorry I forgot to mention that.)

LOL. OK. That could save me some ISY program complexities then.

 

Thanks!!

 

 

I see you are not using v5.0.10 yet. There is no coding required to have it communicate with ISY, all decimals perfectly placed.  Very nice.

 

I am finding my batteries need changing again but one voltage does not do it for all. 2.78 volts my one inside the house unit starting acting crazy. The other units are working well below that voltage. I think the voltage limits may be temperature dependant.  Colder seems to make the voltage drop but the Tag works fine.

Link to comment

LOL. OK. That could save me some ISY program complexities then.

 

Thanks!!

Yep, I use the ISY programming for analysis of data that is collected from multiple sources. But due to some limitations in how ISY does the programming, passing it on to KumoApps to give me final values is EXTREMELY helpful.

 

BTW, the above program was a test program that I ran for several days and looked at the logs, the dewpoint from tag.dewpoint and dp_tag were close enough that I felt good enough changing the coding in my actual program.

Link to comment

Yep, I use the ISY programming for analysis of data that is collected from multiple sources. But due to some limitations in how ISY does the programming, passing it on to KumoApps to give me final values is EXTREMELY helpful.

 

BTW, the above program was a test program that I ran for several days and looked at the logs, the dewpoint from tag.dewpoint and dp_tag were close enough that I felt good enough changing the coding in my actual program.

Nice.

 

 

...."I love it when a plan comes together!"

 

See my edit on last post. You're too fast for me. :)

Link to comment

LOL. OK. That could save me some ISY program complexities then.

 

Thanks!!

 

 

I see you are not using v5.0.10 yet. There is o coding required to have it communicate with ISY, all decimals perfectly placed.  Very nice.

 

I am finding my batteries need changing again but one voltage does not do it for all. 2.78 volts my one inside the house unit starting acting crazy. The other units are working well below that voltage. I think the voltage limits may be temperature dependant.  Colder seems to make the voltage drop but the Tag works fine.

Yeah, I am still using 4.xx but it works for me, so why change a good thing. I have been running the CAO tags for a little 1 month with them reporting in every 5 minutes, they are all reporting at about 2.95 to 3V. Except my outside tag REALLY fluctuates throughout the day.

Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...