resumeProgram function use in API

I want to terminate future setHold functions. Can I use resumeProgram function using parameter resumeAll=true to do that or will it just delete multiple levels of currently running holds?

i.e. if I have a temp hold lasting for another 10 minutes and say another hold starting only in an hour. Is there a way to terminate that future hold too?
1 person has
this question
+1
Reply
  • Hi,
    Please take a read here https://www.ecobee.com/home/developer... and here https://www.ecobee.com/home/developer... for more information regarding the resumeProgram function and how events are implemented.

    If you have set a number of holds which are in the future they will not be removed using the resumeProgram function. That function, with the resumeAll = true, will resume all "active" events/holds. Since that event you mention is an hour in the future, it is not currently active and so will not be removed from the event stack.

    In your scenario resumeProgram (all) would only resume from the hold which expires in 10 minutes (i.e. is active) back to the default scheduled program and then in 1 hour that future hold would still execute.

    Hope this helps,
    Scott.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • So is there a way of canceling a future hold or can it only be done once it becomes active?

    Let me explain what I am trying to do here:
    I want to experiment with rolling my own smart recovery by using successive holds that will keep the heatpump operating and not go into aux heat.

    What I would like to do is to build successive smart recovery profiles as time progresses (and interior and exterior temps evolve) and be able to replace the previous series of holds. In case the API becomes inaccessible (or internet access goes down), I'd prefer not relying on a single hold generation.

    Generate too early and I stand the chance that the situation will have changed by the time the holds start. Generate too close to heat ramp up start and I stand the chance that recovery will not take place given the inherent vulnerability of the internet connection between the computer sending the commands to your servers and the thermostat receiving the commands from your servers.

    Makes sense?
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Hi,
    No there is no way to cancel a future hold.
    I'm not entirely sure why you would want to do things that way, holds are essentially user generated, not system generated, and therefore can easily be overridden by the end user either at their thermostat or using the web portal/mobile application.

    Are you a Utility account holder? If so, what you are trying to would be better served using dmeandManagement, https://www.ecobee.com/home/developer....

    Scott.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Ok thanks, I'll have to take that into account.
    No, I am an enduser so no one else would be trying to override this. :)

    I find that my EB-STAT-02 will frequently start smart recovery too late and will end up finishing the recovery on the Aux heat instead of the HP. I also found a case where smart recovery fails entirely:
    1) outdoor temps are below min hp temp so thermostat waits to start smart recovery based on aux heat capacity (pretty high)
    2) while waiting, outdoor temps rise above min hp temp and now it will have passed hp smart recovery time entirely so it does nothing until actual climate change time so I get up to a freezing home.

    I want to see if I can do better than ecobee on the smart heat recovery algorithm. :)

    Thanks,
    Daniel
    P.S. I already have a perl script that keeps an eye on smart recovery and will override it when it notices it will not finish in time (by using Aux heat) and it works pretty well. Now I'm moving up one level to actually DO the smart recovery entirely.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • dborn, I have a related question about smart recovery. With a HP, my ecobee 3 has never used aux heat during a recovery cycle. After much back and forth with support, they informed me that aux heat will NEVER run during a recovery cycle. This is almost a show stopper for me given that it gets pretty cold here, And without aux, the HP will run incessantly with no benefit, or if the outside temp is below the HP cutoff, I get no recovery at all (aux comes on at the beginning of the next cycle which is also a waste).

    Is there something you've been able to do with the API that forces the thermostat to use aux during recovery calls? Any other advice to getting this thermostat to behave as well as my 20 year old Honeywell?

    Thanks.
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Hi JRRF,
    Yes, I've come quite a long way in my perl scripting project since that last post 2 years ago (and still going on strong to this day, considering adding neural network intelligence for anticipation of on-demand defrost cycles' impact of HP heating capacity). I am now quite able to control my Smart thermostat as I see fit using that perl script (actually now totalizing 11 modules and close to 5000 lines of code).

    Yes, I can prioritize the HP for smart recovery but still use the Aux heating smart recovery whenever it is necessary, even as temps go up and down during the recovery period and may cross HP cutoff temps up or down. I can send you some graphs from the ecobee portal for you to see what I mean :)

    I think ecobee doesn't _really_ understand the actual reason for smart recovery and even if it is a canadian company, it doesn't seem to be adapting its products for cold weather use that much.

    My scripts require full time execution by a linux server as it monitors the situation every 15 minutes (as often as ecobee makes new data available from their servers through the API). I currently run them on an early version low power raspberry pi so it's pretty light weight.

    I can't offer any support but if you're interested in getting a copy of my work, I'll gladly share (as long as it's for your own personal use or want to share profits ;)

    Cheers,
    Daniel
    P.S. Glad to see this forum isn't totally dead
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Daniel,
    Thanks for the response. My prime programming days are long behind me, but I can still dabble a little. I'm still in the process of getting setup to use the API, but I'd be happy to see whatever you have that might get me started. I'm hoping to get it to run on a Windows PC.

    I'm very frustrated with ecobee's recovery algorithm and have got to get it to engage the aux heat. What's more frustrating is that I've found out that the Nest not only engages aux heat during recovery, but it's actually user adjustable.

    One method I might play with is having my router take the thermostat off the internet in the middle of the night. That way if it doesn't know the outside temp, it will run the HP for an hour, and if there is no heat gain it will engage aux heat. I believe that's how traditional thermostats work. But if you have the parameters/scripts to program it to simply use the HP and aux heat as necessary during recovery, that would be ideal.

    Is there a way I can PM you my email address to send stuff?

    Thanks,
    Jay
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Hi Jay,
    Let me explain a bit how my script convinces the thermostat to do what it wants:
    To get it to do heatpump smart recovery, it creates future holds of the next climate that it keeps moving forward so that the thermostat will try to perform its own smart recovery on a moving target. It can keep that up for more than the maximum 3 hours that it can usually do.
    To get it to wait before engaging its own smart recovery, it will also create a future hold but of the current climate, so the heat doesn't go up.
    To get it to engage Aux heat smart recovery, it creates an immediate hold of the next climate.
    The script will continuously monitor the heating performance with the expected profile and might decide to hold off if it's going too fast or might start with HP and then move up to Aux if things go too slow.
    The script is also self-learning and it creates a database of past performances in 5 different categories for the heatpump (night normal, night humid, day normal, day humid and day sunny) and 3 different categories for the Aux recovery (night, day normal and day sunny).

    My heatpump has on-demand defrost so its performance is directly affected in humid, rainy or snowy weather as it will do more defrost cycles, my script tries to take that into account.

    All that to say that there is nothing simple with what my script does, it's not able to reprogram the thermostat's behavior, it is only able to "trick" it into doing what it wants. Be forewarned it has also never been tested on anything but my setup (my EB-STAT-02 thermostat in my house) so there is no guarantee it will work properly for you and it's never been tested on Windows' version of Perl either, some packages need to be installed).

    If you still think it is the way to go, I can put the files in my dropbox account and put the link in another post on this forum . Like I said though, I don't have time to offer much support if any, so you'd have to figure it out pretty much on your own (and dust up your programming skills too). Please understand that I'm not trying to discourage you, just set your expectations with the project. :)

    Cheers,
    Daniel
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Daniel,
    Thanks for the detailed explanation. What you've done sounds very impressive. And while I could probably eventually figure out the code, I don't have near enough time to commit to doing so. Regardless, you gave me some good ideas. I think if I create a stair-step set of data points leading up to my morning set point, that may also trick the thermostat into "recovering" with the aux heat.

    If my morning set point is 70F at 6am, I can create a 5am set point of 69F. On mild days it will have no trouble recovering to 69F at 5am and then 70F at 6am using just the HP. On colder days the HP will get close to 69F by 5am and then the aux heat will kick on for the next hour and get close to 70F by 6am. On the coldest days neither the HP nor the aux will come on before 5am, but at 5am the aux will start cranking to try and reach 69F as quick as possible. By 6am it might at least be close to 69/70F. This may not be the most efficient method, nor as sophisticated as your setup, but it's simple, and it might help. Depending on how successful it is, I could also create another step at 4am. If you see any flaws in this logic, I would appreciate any feedback.

    In the meantime I've already sent an excoriating letter to the ecobee CEO about his product being light years behind his prime competitor, the Nest. Maybe he will eventually wake-up and provide a software update to the product.

    Thanks again,
    Jay
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Jay, what your are suggesting is actually one of the things I tried in the beginning and it did work reasonably well except my main goal was to maximize heatpump use (and therefore minimize aux heat use as much as possible).
    The difficulties you might face (and it may not be a problem for you) will be to find the proper heat up steps to avoid having your heating equipment to reach the next setpoint early and go into an on-off-on-off type of staircase effect. If you make your steps up too steep, you might end up using aux heat a little too often. I agree though, NO aux heat smart recovery is just utter nonsense.
    One redeeming factor for ecobee is their great API and web portal, which makes me want to continue using their thermostat even with its flaws (what product doesn't have flaws?)
    My suggestion to you: try the approach you are suggesting and if it doesn't do what you want and you're ready to try more (at a greater involvement level), come back here and I can send you my scripts (which will have no doubt evolved with time).
    One thing I feel I need to do in the future is isolate the house heat loss rate from the heating equipment's performance at a particular exterior temperature. Right now it's all just one parameter in time and it's limiting the accuracy but this will be for a future partial rewrite.
    Good luck with your letter to the CEO and I'd be interested in hearing his response. Cheers and continue wanting more from the products you own. It's people like you that will push companies to do better.
    Daniel
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated

  • Daniel,
    Thanks for your support, and your advice.

    Best of luck in your further endeavors.

    - Jay
  • (some HTML allowed)
    How does this make you feel?
    Add Image
    I'm

    e.g. indifferent, undecided, unconcerned happy, confident, thankful, excited kidding, amused, unsure, silly sad, anxious, confused, frustrated