[OBSOLETE] 3 Speed Ceiling Fan Thermostat

I use this app and have updated the code to allow for multiple instances without multiple installs in the SmartApp list. Basically a parent / child app. I’d prefer to not post it here as I don’t want to hijack @dalec app. If he is interested I’d send the code to him. It is based on his 2016-06-30 version so no code overwrite issues.

Thanks for the feedback. I will get a look into it because something has changed and I am having some difficulty getting answers on why from ST. I am troubleshooting a null exception errors in the app right now to see if that might be a cause.

[quote=“whoismoses, post:41, topic:47080”]
I use this app and have updated the code to allow for multiple instances without multiple installs in the SmartApp list. Basically a parent / child app. I’d prefer to not post it here as I don’t want to hijack @dalec app.
[/quote] Sounds interesting. Feel free to send it to me via PM if you prefer.

1 Like

Thank you so much for creating this app! It works great. I have been using it for several days now. I was just wondering if, whenever you update it, to possibly add the ability to have this run during certain times and certain days of the week. Thanks again.

I suppose you could do that using the mode setting? Create a unique mode for example called “FanRun” and schedule the mode to be triggered based on day and time using CoRE possibly then set the FanRun mode in the smartapp so the app only runs then.

I haven’t tried this out with the type of switch but cant you just use the
"Smart Lighting" app to schedule the fan to turn on and off like a light
switch during certain times and certain days of the week? I do this with a
standard GE relay switch to control my attic fan and the kids bathroom fan
and it works like a charm. An alternate approach would be to integrate
the control options from the "Smart Lighting " app into this app. Less
always seems to be more with ST to keep things working… and when it works
its awesome!

Hi,

With this app the fan starts with motion and temp input but when the motion stops it does not stop the fan. I have set it up to 4 min delay but it will run forever if I let it.

Any ideas.

Thanks

[quote=“turuncuoglu, post:46, topic:47080”]
With this app the fan starts with motion and temp input but when the motion stops it does not stop the fan. I have set it up to 4 min delay but it will run forever if I let it.

Any ideas.
[/quote] Can you tell me what products you are using for your device hardware: fan controller, temp sensor, motion detector? I ask because motion/temp detectors like the ecobee3 have polling delays.

Ohh sorry. I am using a GE fan dimmer. I have smartthings motion sensor which reports the temperature and the motion part comes from a fibro motion sensor.

Thanks

T

[quote=“turuncuoglu, post:49, topic:47080”]
I have smartthings motion sensor which reports the temperature and the motion part comes from a fibro motion sensor
[/quote] Thanks. did you just load this for the first time and have never been able to get it to run?

Yes I have just loaded it. And it starts fine it just does not stop when the motion stops.

Were you able to replicate this issue

Yes, I did see it not turn “off” after the timer expires on motion. It goes
on correctly but not off. That part of the code was right out of
SmartThings original thermostat app it seems you found a bug in their code.

I am sending a request in to them for assistance.

Dale Coffing

Thanks for the update. Cheers

Does this Smart App override all manual inputs?

@dalec I’m trying to resolve a WAF issue. She was expressing frustration that she had turned on the fan for circulation (not temperature reasons), and the thermostat turned it off because it was at defined temperature. I know this has been mentioned a few times in this thread, but we hadn’t come to a resolve for it yet. I was determined to work out a setup where I still get my thermostat functions, but she can use the fan “manually” and it work as desired. I think I have the start on the logic, but I’m not sure how one would codify it.

Here’s my suggestion:

  1. Setup a variable in the background to track whether the fan was turned on by the thermostat
  2. Adjust thermostat program to set variable to 1/yes, etc when it engages
  3. Adjust thermostat program to set variable to 0/no, etc when it disengages
  4. Set variable to 0/no, etc when fan is manually turned off also, in case thermostat is overridden with an off command (don’t want to break the logic here, trapping the program to never run again)
    ----4a. This would be a good place to insert a time delay, perhaps adjust variable to 0/No after X minutes, as someone obviously doesn’t want the fan on right then.
  5. Restrict thermostat program to run only when fan is OFF, AND variable is 0/No

I think this set of conditions will allow the thermostat AND manual control (other apps/triggers) to co-exist. If something turns on the fan manually, it would prevent the program from making any speed/on/off adjustments, as the fan would be on while variable is 0.

What do you think, am I crazy?

Also, the ability to restrict program run time by day of week and time of day would be awesome, as multiple instances with different settings could be put in place (perhaps a child app scenario?).

This is built in… sort of.

Create a new mode called something like AutoFanControl and assign that in your smartapp. That way your fan is always in manual control for your wife until you set the mode to AutoFanControl and the smartapp temp control takes over. She can control the fmode manually or automatically in another smartapp like CoRE for example.

Now CoRE if you are not familiar with it, is super flexible and able to accommodate just about anything you can dream up. So the logic scenario you are asking above can be built in CoRE pistons along with Time of day, or any kind of scheduling.

The parent-child functions are actually completed by another member @whoismoses here but I just totally forgot about implementing them because I haven’t been using the temp control over the cold months. I’ve just never done a merge of code from a fellow contributor in GitHub so I got to do some catchup reading.

Can you give me some details on how to create the 2nd mode for manual control only? Also, I just installed your app and wasn’t sure of the default behaviors. If the fan turns on automatically to low based on temperature, then I manually increase the fan to medium speed, does it stay at medium or will it reset to low in a few minutes?

If you do a search here in the forums for “add a new mode” you will see this informative FAQ by @JDRoberts

So think of this smartapp as a thermostat for automatic control only. If you don’t want automatic but want to override like in your example just disable the auto control.

But in your case you stated above yes the automatic will take back control on the next change in temperature at the sensor. If you want to increase the fan speed just lower the setpoint temp and automatic takes over at the new setpoint.

Hope that helps. I think I cover all this in the user manual that is built in to the smartapp? But if not it might be good for me to add it

Thanks for the reply. I apologize if I am asking questions that are covered in the user guide. One last question - if I manually change the fan speed, it will stay at the manually set speed until the reported temperature actually changes, correct? For example, if my sensor doesn’t report a change in temperature, the manually set speed will remain unchanged until the temperature does fluctuate.

Yes it takes some kind of change. …like the temperature increasing/decreasing or movement changing or if you are using motion

If you want to get something that this app can’t then take a look at CoRE which is totally flexible with almost anything you can dream up