[OBSOLETE] Thermostat Mode Director

We try and make problems much harder than they are sometimes! Glad you got it resolved.

1 Like

Hey guys, I made some minor updates to the awesome app that @slagle has created. Below is a list of changes (@slagle I saved the file on my GitHub account, but if you’d like the changes, I can submit the updates to your code).

This app works for my 2 zoned - Honeywell panel & thermostats - and I have been running two instances for each thermostat without any problems. @cdallum, if you are still using this app in conjunction with “Keep me Cozy” app, you may find these updates useful :slight_smile:

Fixed

  • changed navigation workflow
  • changed name of first page to “Director Settings” instead of “Setup”
  • changed word “tempurature” to “temperature” on “Director Settings” page
  • changed “Low Temp” to “Which Sensor?” on “Thermostat and Doors” page

Added features

  • change temperature setting for each mode (optional)
  • change settings for fan when temperature is neutral (optional)
  • added “Thermostat Away” page to adjust thermostat settings when Home Mode is Away (optional)

P.S. I am still testing the updates, so if you install and run into any issues let me know

1 Like

I am using your app and really like it. I have one request and two constructive criticisms!

Request:
The ability to use outside temp based on zipcode instead of an actual sensor

Constructive Criticisms:

  • Because the fields inside the various options (director, open/closed, blast) are all “required”, if you set something up but later want to disable it, you are forced to uninstall the entire app and reinstall it. Maybe the fields could be made non-required so that you can “clear” your settings for a particular section?
  • Would it be possible to allow the director to be set up on a per-thermostat basis? My house has 3 thermostats and I don’t always want to set them in the same manner. I believe right now the director controls them all the same, but correct me if I’m wrong (I only have 1 of my 3 thermostats replaced with smart stats currently).

Thanks for the hard work. I think this is an app that is great as-is, but also has the ability for unlimited potential!

Hey, thanks for the feedback. This is really a “prototype”. I am not a code slinger, just a guy who needed a fix to solve a “seasonal” problem without using 5 different apps :slight_smile: If you have time and interest, I would love if you could contribute. I know the app can be improved a lot…

PS did you grab the most recent version? I’ve made changes that addressed the required fields and the multi-therm. The app would be a lot more complicated to maintain additional therm, so I found it easier to install an instance for each thermostat, although it doesn’t make sense for the “Away Mode”…

1 Like

I would be happy to contribute at some point, just didn’t want to fork your code and step on your toes, but since you mentioned it I’ll try it out at some point!

I just used the version that I found built-into the ST app, I’ll have to install the newer version

Oh, that’s @slagle’s original app. (where you can only change the modes)…I added temp, fan, away mode to that. Check it out and see what you think and if this suits better your needs. You can access the modified version here:

I installed your version and wow big difference! Thanks a lot. Now I just need to figure out how I want to set this all up!

1 Like

I moved the Cali and no longer have central anything so this app kind of died for me. Mostly because I have no way to really test it lol.

@SBDOBRESCU if you want I can make you a contributor on my code base and we can use that as the base going forward? We can just merge your changes into my base. That way we can get this into the app as well? :slight_smile: Thoughts?

Sounds good to me…

Cool, make a pull request against my original base and I’ll merge it in and give you contributor access so you can merge your changes in on the fly. :smile:

I like this the look of this app very much. I use auxiliary heat in my house when the temperature outside goes below 36º F. I see that the app only offers cold/heat/auto/off. Do you know if it would be possible to intergrate a AUX/EM Heat, aka “heat2”?

EDIT: I swear i researched, but found Bobby’s mod of your app. Thank you :smile:

hi. Thanks for the app, I am using it now but I don’t really understand the “Boost” function. I tried to program one in to see what it would do but now I can’t delete it. What is an example of using this? How do I remove the one I put in.

Again, thank you for the app!

the boost, is a timed function that can turn on your furnace to run for x-minutes and then turn it back to its current state. that way you can just “boost it” and then not forget to turn your thermostat back down

Really love the app. Wonder if there was a way to turn on and off my fan using a Netatmo CO2 meter as the trigger.

I’ve seen this sensor mentioned elsewhere (including in one of the available SmartApps; I think it’s named ‘CO2 Vent’ or something like that), and I’ve been dying to ask…

Are you a brewer?

I know there must be other context in which a CO2 sensor could come in handy, but that’s the only one that is coming to mind.

e.g. CO2 is a byproduct of the brweing process, and home brewers want to make sure there aren’t any huge pockets of it in their little brewing closets from a leak or something.

I dabble with some brown ales but I wanted to use it just to keep the house freshened up.

I will take a look at the smart apps to find the CO2 Vent app.

OK, cool.
Do you also have CO detectors and/or an app to do something on that kind of trigger?

I hadn’t actually thought of the CO2 idea for a household, but now you have me thinking…

I have it triggering on a door being opened.
It turns off the ecobee but never turns it back on again when the door is closed.
See error below.

fa7833d5-6a85-48f6-a898-89ecf4482584 5:39:41 PM: error java.lang.NullPointerException: Cannot invoke method latestValue() on null object @ line 372
fa7833d5-6a85-48f6-a898-89ecf4482584 5:39:41 PM: trace doorsOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:39:41 PM: trace timeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:39:41 PM: trace daysOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:39:41 PM: trace modeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: error java.lang.NullPointerException: Cannot invoke method latestValue() on null object @ line 372
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: trace doorsOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: trace timeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: trace daysOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: trace modeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:16 PM: trace doorsOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:02 PM: debug doors still open turning off [Ecobee Thermostat]
fa7833d5-6a85-48f6-a898-89ecf4482584 5:21:02 PM: trace doorsOk = false
fa7833d5-6a85-48f6-a898-89ecf4482584 5:19:58 PM: debug Detected open doors. Checking door states again
fa7833d5-6a85-48f6-a898-89ecf4482584 5:19:58 PM: trace doorsOk = false
fa7833d5-6a85-48f6-a898-89ecf4482584 5:19:58 PM: trace timeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:19:58 PM: trace daysOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:19:58 PM: trace modeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:10:34 PM: error java.lang.NullPointerException: Cannot invoke method latestValue() on null object @ line 372
fa7833d5-6a85-48f6-a898-89ecf4482584 5:10:34 PM: trace doorsOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:10:34 PM: trace timeOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:10:34 PM: trace daysOk = true
fa7833d5-6a85-48f6-a898-89ecf4482584 5:10:34 PM: trace modeOk = true

silly question here - but when you set this up how do you tell it which thermostat to change? I can’t see that as a selection? The only thing you select is the temp sensor to monitor.
EDIT: missed it… sorry lack of sleep.

@SBDOBRESCU
I installed and had an issue not sure what this is …forgive my ignorance…maybe there was some setup i missed?

Clear
586c97ec-a47a-4bd6-9d75-e819e975b0d4 9:05:27 PM: error java.lang.NullPointerException: Cannot invoke method contains() on null object @ line 514