Jump to content

Filtrete 3M-50 WiFi Thermostat


ResIpsa

Recommended Posts

Posted

Curious if anyone has looked at integrating this relatively new WiFi-enabled thermostat into their system. It appears to have some pretty robust features for a price that is hard to beat ($100 at Home Depot, and $85 at Amazon). I'm not a programmer, and I don't have the knowledge necessary to understand the API, but I am very good at incorporating other people's hard work into my own sytem. :wink:

 

Misterhouse Forum Thread:

http://tech.groups.yahoo.com/group/mist ... sage/41975

 

Product info:

http://www.radiothermostat.com/filtrete/products/3M-50/

 

API info:

http://central.isaroach.com/wiki/index.php/Main_Page

  • 2 weeks later...
Posted

Have you gotten any response to your email about this?

 

Hi Tim,

 

Looks good! Just sent them an email and hopefully we'll hear back soon.

 

With kind regards,

Michel

Posted

These units are basically a CT30 from Radio Thermostat.

Radio also makes a CT80 which includes a lot of extra features such as humidity control.

  • 1 month later...
Posted

I have one of these and have been able to use the ISY's network module to POST to the thermostat to turn the fan on and off (any control could be done, there are just the first I've wanted...).

 

I also have a script running separately on my PC that uses the thermostat's API to retrieve status and post current room temperature, operating mode (heat/cool/off), fan mode (on/auto), and current state (calling for heat, calling for cool, idle) to ISY variables using REST.

 

One of the first things I've done is set up a program that cycles the fan on for a few minutes if the thermostat is in cool mode but has not called for more than 20 minutes.

  • 5 months later...
Posted
Yes, and we ordered a couple and got their APIs ... I am not sure when this will be incorporated since ELK is our #1 priority right now.

Michel did you ever get these in to test? Are you still considering adding them to the ISY?

 

87squirrels,

 

I have been trying to send a command from the ISY to the thermostat all day. I cannot for the life of me get it setup straight in network resources. Can you help me out with the specifics in the resource editor?

 

I was trying something as simple as setting the heat to 78 using "t_heat":78 but it errors out using Post. If I use get it seems to send an ok to the ISY but never adjusts the temp.

 

Thanks in advance,

Tim

Posted

Hi Michel,

 

I am sorry I bothered you about it. I know you guys are very busy and if it were easy or you had time you would have already looked at it. Forget I even asked about it.

 

 

I am hoping someone, anyone out there can provide a little guidance in regard to using this thermostat with the network resources. I am still stuck on the specs for the proper setup of the network resource editor. I though perhaps if I were to post an example in curl programming someone might be able to tell me specifically how to order it properly into the editor.

 

The API lists this in curl as an example:

 

2.5.2 Set target heat temperature to 72 in HEAT mode

The following curl command will set the thermostat operating mode to HEAT and the target heat temperature to 72.
$ curl -d '{"tmode":1,"t_heat":72}' http://192.168.1.101/tstat
{“successâ€: 0}

This is one of the ways I have tried with the editor but something is missing or not formatted correctly:

POST /tstat/"tmode":1,"t_heat":72 HTTP/1.1
Host: 192.168.x.xxx:80
User-Agent: Mozilla/4.0
Connection: Close
Content-Type: application/x-www-form-urlencoded
Content-Length: 0

When I test the resource an error is returned "TCP client read response failed" "Net Module Rule: 148" 148 I am assuming is the ID number of the resource.

 

One thing I noticed was that in the curl example the port # wasn't used but in the resource editor a port has to be specified. I read somewhere in the api or forum for the thermostat that port 80 was used for the lan comm. Also as near as I can tell there is no authentication required.

 

Anyway, I would appreciate any and all suggestions.

 

Thanks,

Tim

Posted

Hi Tim,

 

If this is a POST (which I assume it is), then:

 

POST /tstat HTTP/1.1
Host: 192.168.x.xxx:80
User-Agent: Mozilla/4.0
Connection: Close
Content-Type: application/x-www-form-urlencoded
Content-Length: 

"tmode":1,"t_heat":72

 

In short, you want to put "tmode":1,"t_heat":72 in the BODY and not the path.

 

Hope this helps.

 

With kind regards,

Michel

Posted

Hi Michel,

 

Thanks for the help. That took care of the error but still won’t control the t-stat. I am about at my limit on this. Their developer guide doesn't go into really a lot of detail though I suppose they expect you to know coding, which I don't.

 

I am optimistic that once it is coded right it will work since 87squirrels stated he has had success. Hopefully he or someone who has successfully done it can chime in.

 

Thanks,

Tim

Posted

I don't have a Radio Therm to test, but the curl line you sent is standard JSON.

It would likely need a special POST to work.

 

Michel may be able to help on how to send JSON via ISY.

Posted

Try adding the {} to the post data in the body.

 

I would try '{"tmode":1,"t_heat":72}' first without the ' then with them just to make sure.

 

-Nick

Posted

I had tried every permutation in the past including the {}, some returned with TCP errors some didn’t. But this time with Nick’s suggestion and a lot more experimentation It does turn out that {“tmodeâ€:1,â€t_heatâ€:72} with Raw Text selected (without the ‘) returned the TCP error but DID change the t-stat! I tried increasing the timeout but it didn’t matter. I had been doing most of my testing with URL-Encoding but had switched between the various selections.

 

It turns out also that a single command like turn the circulation fan on {“fmodeâ€:2} in Raw Text does Not return a TCP error and Does turn the fan on. So I broke down the heat command to just {“t_heatâ€:72} in Raw Text and it did Not return TCP error and Did change the t-stat. So for the time being I will issue single commands, one to set the heat/cool to whichever is needed then just issue the temp changes as needed. Unless, do the TCP errors in this case really matter?

 

Nick, io_guy, Michel, thank you all for your help and suggestions without which I wouldn’t have gotten this far.

 

Tim

Posted
io_guy, are you saying that JSON post is different than HTTP post?

Michel,

My comment may have been a little confusing.

 

A standard POST should be able to handle JSON data, it's the formatting that always seems to be an issue (with any program language handling JSON really).

Not knowing the code behind the Network Module, some trial and error would be required - that's why I mentioned to ask you, in case you tried to send JSON previously.

Posted

Hi Nick, thanks so very much!

io_guy, no problem. Just wanted to make sure.

Tim, this is excellent! I wouldn't worry about the TCP error ... it just basically means that the tstat is not returning anything ... you might want to reduce the timeout so that ISY wouldn't be sitting there waiting for a response that may never come.

 

With kind regards,

Michel

  • 8 months later...
Posted

Hi - I'm interested to see if further progress is being made on adding ISY capability with these devices.

 

I have three of these thermostats that I have been using for several months (pre-ISY) and have found them to be highly cost effective ($99 each) and very functional compared to other remote capable thermostats (most $200 - $300 each). The free iphone/ipad app works great, but it would be nice to read/control the devices in to some programs on the ISY and to receive notifications.

 

Thanks!

Posted

austin_john,

 

Just wanted to let you know that while there is no direct support for the Filtrete thermostat it is possible to control it directly via ISY network resources.

It is also possible, with an outside source such as a pogoplug or other linux based machine, to run a program to get the info from the thermostat and send it to ISY variables for use in programs.

I have been meaning to post the program in the how to section in case any one might be interested but just haven't had the time. If you or anyone else is interested just let me know.

 

Tim

  • 1 month later...
Posted

I'd be interested, although it'll probably be over my head. I've installed 2 of these in my house in the last week because the darn Smarthome T1800 won't work with my setup and I'm loving them. The only thing that's killing me is the lack of ability to integrate with my rather large Insteon deployment.

  • 7 months later...
Posted

Hi,

I realise that I'm a bit late in the game on this one, but since the Filtrete/Radio Thermostat uses USNAP modules, has there been word on an Insteon USNAP module being released? I've only been able to find brief mentions of Insteon USNAPs online, but nothing to indicate production. If not an acutal USNAP, perhaps someone could bodge something together to replace the module that worked on Insteon's RF band? I have the 3M-50, and love its functionality. I just wish it could be integrated.

  • 2 weeks later...
Posted

I have been able to control the 3M-50 via the network module as described in this thread. However, what I'd like to do is set the thermostat set point to a value based on an ISY variable. This is what my POST looks like:

 

POST /tstat HTTP/1.1

Host: 192.168.1.106:80

User-Agent: Mozilla/4.0

Connection: Close

Content-Type: application/x-www-form-urlencoded

Content-Length: 21

 

{"t_cool":$t_cool_dw}

 

This does not work. Can I substitute a variable name for the setpoint value?

Archived

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

×
×
  • Create New...