[Release] Fan Thermostat with manual override

Great app. Thanks for writing and sharing this. Quick question...is there a threshold for the set point like a real thermostat? i.e. if I set it to 80 it will cool to 78 before shutting off the fan. That way it doesn’t go on/off when it is 80, 79, 80 etc. I think this is called a “swing” in thermostat terms?

No, the fan will turn off as soon as the temperature drops below the set-point. There is a retrigger time setting though. That prevents the app from turning the fan back on for a given time after it's turned off. You can set that to prevent it from bouncing on/off more often than the configured time.

Okay great. The retrigger option sounds perfect. Thanks again.

This is a great app and exactly what I was looking for. Any chance you can add it to the Hubitat Package Manager?

EDIT: Nevermind I see it's in there already

I ran into an issue where after I rebooted my hub the thermostatSetpoint was set to 78 even though I had previously set it to 70. In the initialize() function of the driver the values for currentThermostatMode and currentThermostatSetpoint will always be null after a hub restart/reboot. In order to fix the issue I initialized the values as follows:

currentThermostatMode = device.currentValue("thermostatMode")
currentThermostatSetpoint = device.currentValue("thermostatSetpoint")

After I rebooted my hub the thermostatSetpoint value was set to 70.

1 Like

New Version: 1.3

This contains fixes for the issue @bujvary reported above (which I fixed a little while ago, but forgot to post about) and also another issue with manual override not working that was reported over on GitHub. Get the updated device driver here (the apps did not chang in this release) or update via Hubitat Package Manager.

1 Like

I'm having some trouble with the manual override. I'm probably overlooking or overthinking something, but I can't get it to work. I have a switch selected in the thermostat device, but when I turn that switch on or off, it's not turning the override on. Is that how it's supposed to function?

New Version: 1.4

This version fixes the issue reported above by @bbuckles76 when using this app to control switches instead of multi-speed fan controllers. This version contains changes to both the child app and the device driver.

After updating, you'll need to open the settings for any affected child app instances and click done to get it to re-initialize.

I'm a recent convert from ST and was glad to find an app similar to the popular 3 speed fan thermostat. Unfortunately, it seems my use case has a small problem or I haven't set something up correctly. I'd like to run it based on motion during the day and then just on at night at a lower setpoint. In the ST app, there was a way to restrict it to modes. So I simply created two child devices and it was golden. So for your app, I planned to the same but just use a rule to toggle them on and off when mode changes. Unfortunately, Rule Machine is not recognizing the child devices as thermostats so I can't create the rule. Setting it up via the switch function just turns them both off via the override function.

Side note when I hit initialize I get the supportedThermostatModes : [off, cool] but when I refresh the page it disappears. I feel like this may be my issue.

I think the reason it doesn't appear in RuleMachine is that I didn't implement the full "Thermostat" capability; just the "ThermostatCoolingSetpoint", "ThermostatSetpoint", and "ThermostatMode" capabilities. You could work around that issue by using a custom action in RuleMachine. Something like this:

Another option is to do what I did and create a virtual motion sensor and have a rule that sets it to active when mode switches to Night and inactive when mode switches off of Night. That can hold the fan on and you could also use a custom action to adjust the setpoint.

The custom action seems to be working fine. Thanks again for the awesome app!

New Version: 1.5

This version fixes some errors that arise if you use this app to control only switches and no fan controllers. Thanks to @samstreak for the report and the contribution. This version only changes the child app.

Has anyone using the Fan Thermostat app/driver upgraded to v2.8.8? The fan thermostat has been working well for me up until v2.8.8, now the fan won't turn on/off/change speed when the temperature changes.

I'm running v2.2.8, and I've been using this app to control all of my fans with no problems.

If it's not controlling your fans at all, try just opening the settings page for each app instance and clicking done. That will cause the app to re-initialize its event subscriptions. If that doesn't work check the logs for the app and see if there are any errors. If there are, post them here and I'll take a look.

After some troubleshooting and investigation it looks like I'm having an issue with my Z-Wave mesh and the thermostat. I tested with a virtual thermostat and everything works as expcted.

@mbudnek, love this app. I've moved all my fans to it. Works great, thank you.

Just one question: In a couple rooms, I use 1 or 2 motion sensors so that the thermostat only operates the fan when someone is in the room. I've reduced the retrigger time and motion timeout to small enough numbers so that fan pretty much mirrors human movement. However, I've noticed the fan staying on even when we're out of the room for a prolonged period. I've confirmed that the two motion sensors didn't activate. When I poked around I noticed that the Manual Override was activated at the same point the motion activated the fan. I can't figure out why that would happen. I assume the Manual Override is supposed to activate when you flip the fan switch manually, right?

I've been able to reproduce a scenario where the fan is off, motion sensor gets activated, so the fan activates as expected, but so does the manual override even though there was no fan switch manually flipped.

Am I thinking about this wrong? TIA....

Interesting, that definitely should't be happening. Manual override should only activate if something other than this app controls the fan (i.e. a wall switch, a rule machine rule, etc).

I'll investigate. Are you using on/off switches or multi-speed fan controllers?

I'm using multi-speed.

I also noticed one other thing, just troubleshooting. If motion is activated, and the temperature is below the setpoint, the fan doesn't turn on (as expected) and the motion override is not activated (also as expected). Only when motion is activated while the temperature is above the setpoint does this weird manual override activation occur. Hope this helps squash the bug! :grinning:

Great app btw!

I'm trying to send the Fan Thermostat virtual device over to home assistant via the Hubitat home assistant addon. I'm guessing because it doesn't implement the full thermostat capability, it doesn't carry over to HA as the climate entity.

I had a play around with the code and added the thermostat capability to the driver (that's all I know). Result is when carrying over to HA it now properly creates a climate entity I wanted. However I am only able to set the mode to 'cool' but not able to turn the mode to off. I can set the modes to cool/off fine on the HE side. I'm guessing there's something else I probably need to add after adding the thermostat capability for it to work. That's as far as my coding skills would go :stuck_out_tongue: Would be nice to have the 'OFF' working.

@mbudnek, hey, no rush, but wondering if you've had a chance to take a look?