[RELEASE] Resilient - My Ecobee Device & ecosystem v5 - The smartest thermostat under ST with new "comfort tips" features and Unique Integration with Echo/Ask Alexa

askalexa
ecobee
thermostat
climatecontrol
dth_hvac

(Yves Racine) #904

Hi,

I’ve re-tested the code under several user accounts and it works fine.

So, there is something wrong under your ST account.

Please follow all the prerequistes and installation steps in the README at the github.

Looking at your logs, here are my observations:

  • It looks like you haven’t saved your location properly (you need to click on a location within the map and save it by pressing “Save”). Otherwise, the location of your hub is not set up properly.

Refer to (under Create a Location):

A good way to see if your location is set properly would be to click on the link below, click on your target location, and check if your timeZone is set.

https://graph.api.smartthings.com/location/list (or whatever your shard is)

My code will repeat the above error message if your location is not set and it’s not able to get the timeZone, see code excerpt below:

if (!location.timeZone) {    	
	traceEvent(settings.logFilter,"takeAction>Your location is not set in your ST account, you'd need to set it as indicated in the prerequisites for better exception handling..",
		true,get_LOG_ERROR(),true)
  • Also, as indicated in the prerequisites, make sure that all the DTHs (My Remote Sensor, My Ecobee device) are saved and published under the right shard.

http://docs.smartthings.com/en/latest/publishing/index.html#ensure-proper-location

  • Despite the location issue above, according to the logs, 2 remote sensors (media & music rooms) were created under Things as indicated below:

    c18483a3-64fc-4a92-a838-6fba9360aa7e 8:56:55 PM: debug ecobeeRemoteSensorsInit>created 2 MyEcobee’s Remote Sensors

P.S. Finally, I’d recommend to remove the logs from the ST community forum as it may contain sensitive info about your thermostat and sensors. In the future, please send your logs to
services@maisonsecomatiq.com instead (for privacy reasons).

Regards.


(Jason Bottjen) #905

Hate to reply to my own post, but…

So while my location WAS set in ST, I saw a tip somewhere that said sometimes errors can be fixed by intentionally setting your location to a different place in a different timezone, and then setting it back to the correct location.

I did that, and got the sensors added.

Now off to my REAL objective - Use ecobeeSetZoneWithSchedule to proportionally control my Keen Vents in two rooms… One room is always hot, one room is always cold… I’m trying to balance the two. If I get that to work correctly, then maybe I’ll move up to some of the other cool features in the app! :slight_smile:


(Jason Bottjen) #906

I think I must not understand how the proportional control works…

I have 2 rooms, each with Keen vents and an Ecobee sensor. I added these two rooms to a zone.

The ecobeeSetZoneWithSchedule instance I made DOES move the vents, but not the way I expect. It never seems to close a vent to less than 25%.

The cold room is now 2 DegF UNDER the thermostat setpoint, so why is the vent still 25%? The minimum is configured as 10% - I would expect the vent to go to 10%, not 25%???


(Yves Racine) #907

Hi @Jason_Bottjen

I already responded to your email, please check the safeguards built-in, you can change them if needed. Refer to use case #5:

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Configuration

EDIT: if you have only 2 vents, you’d need to bypass the safeguards in GeneralSetup as the smartapp will not allow 50% of the vents to be closed by default.
Regards.


(Yves Racine) #908

Regards.


#909

I am trying to do the most basic thing with your app… set the temperature. The list of options is a little overwhelming. I wish your documentation was a little clearer on the different commands available. If I just want to set an indefinite hold, do I use setClimate, setHold, setTemperature? Nothing I am trying works.


(Yves Racine) #910

Hi @mismarthome,

I’d need more info from you before I can answer your question.

In general, regular users just use routines or my predefined smartapps at my github to configure the right setpoints for their house. If you are a power user and want to call a specific method within the DTH for a special use case, then the best documentation is the comments within the code as I’ve identified the right parameters for each method in the code (next to its implementation, not in the header of the DTH).

As indicated at the ST community wiki (ref. configuration section, item 3b), by default, the holdType is always ‘indefinite’, so it’s not clear to me why you want to set a Hold with an ‘indefinite’ hold.

  • Have you changed the holdType applied by default in My Ecobee device as indicated under the configuration section at the ST community wiki?

http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Configuration

If not, then you just need to call the default methods based on the ST standard thermostat capabilities which are setHeatingSetpoint & setCoolingSetpoint (or setThermostatSetpoint) with a target temperature according to your scale (Fahrenheit, Celsius).

Refer to the ST documentation about the standard thermostat capabilities:

http://stdavedemo.readthedocs.io/en/latest/capabilities-reference.html#thermostat

BTW, those methods above are called by default for you when you use any predefined ST routines like Good Morning, GoodBye, etc., so you don’t need to think about it.

  • The setClimate() method is for setting a predefined scheduled program (also called comfort settings such as Sleep, Home, Away, Awake or any custom ones). According to the ecobee APIs, the method will create a ‘hold’ with the right setpoints & fan settings.

  • The setHold() & setHoldExtraParams() are finer methods used to create a hold at the ecobee thermostat with a specific set of parameters (e.g. coolingSetpoint, heatingSetpoint, fan settings, etc.). The setHoldExtraParams() method allows you to specify the holdType and the hold parameters when required.

If your use case is not the above, what are you trying to achieve?

  1. You’re using CoRE/WebCore/SmartRules (or any other rule engine) and you want to configure your setpoints

If you haven’t changed your default holdType, then you can directly call setHeatingSetpoint & setCoolingSetpoint with a target temperature (or setThermostatSetpoint). Those methods are very simple to call.

  1. You are not using any rule engine and just want to configure the setpoints with a indefinite ‘Hold’ as you’ve changed your default holdType.

If you have changed your default holdType, then please contact me as I’d need more details on the use case you’re trying to achieve.

In conclusion, all the methods mentioned in your post can be called to create a ‘hold’ at the ecobee thermostat but what are you trying to achieve?

  • Are you trying to set a specific setpoint or a climate/program and in what context?

You can reach me at services@maisonsecomatiq.com as it’s easier to get the context of any past conversation with a customer through a gmail conversation dialogue.

Regards


(Yves Racine) #911

Hi,

Just want to inform my contributors (ex. @farlicimo ) that a new version (v5.9.9y.7) can be downloaded at my e-commerce solution provider (sellfy) using the original download link or your sellfy account provided that you’ve followed the update procedure indicated at my store (under the terms of service).

If you’re are a contributor to one of my support packages (and I have access to your ST account), the minor upgrade has already been done for you. You don’t need to do anything, everything has been taken care of.

The new version (v5.9.9y.7):

  • Added the “setHoldWithHoldType” command in the DTH so that webCore/CoRE power users can call the setHold command with a different holdType (ex. indefinite, nextTransition, holdHours, dateTime) than the one set by default in their device’s preferences. If you want to use the method, please refer to the comments and examples just above its signature (before its implementation) or at the ST community wiki.

The exhaustive list of capabilities & commands available for webCore/Core users are listed here:

http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Information

This is not a mandatory update.

Just as a reminder, My Ecobee device has been proven to be more resilient than any other ecobee implementation (even the ST stock device) for several years now and several smartapps are available with my custom DTH. Among others, there are some smartapps to calculate and cumulate the ecobee runtime stats for more precise comfort & energy tips (similar to HomeIQ data). Refer to the ecobeeGenerateStats below:

The new code can be downloaded at my store:

P.S. There are explanations and scenarios about the holdType parameter at the ST community wiki, refer to the end of section about the new method and examples:

http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device#Item_3b.29_Set_up_the_holdType_parameter

Regards.


(Yves Racine) #912

To all my contributors,

There has been a major ecobee outage this morning at around 11h00 EDT, (due to maintenance, error 503) and if you’ve subscribed to the ecobee status page, you’d get some email notifications with the following message:

We’re experiencing an elevated level of errors and are currently looking into the issue

During the outage, My ecobee device would not be responsive to any commands. However, commands are stored in a queue for execution in the next hour window.

If your ecobee tokens were expired (as ecobee requires than the auth tokens last not more than 1 hour for security purposes) and My ecobee device was trying to renew the auth tokens during the outage, then the device will be able to renew them as soon as ecobee allows it (as long as the outage doesn’t last more than 1 day).

Under my ST account, my auth tokens were just renewed at 12h29 EDT, so it’s now back to normal.

It’s always a good idea to check the following ecobee status page for any ecobee issues:

https://status.ecobee.com/

P. S. With my ecobee Device, you don’t need to re-login at ecobee as the code is resilient to the ST or ecobee outages.
Regards.


#913

I am considering purchasing the device handler and app, and am currently using the free ecobee suite alternative, but find it somewhat unreliable.

The main function that is most important to me in that suite is “smart fan control”, which looks at your ecobee sensors and your main thermostat, and smartly cycles the fan in the hvac system alone until the sensors all are within some differential in degrees you can set. I have an older home with poor returns, and this is a critical feature to me in order to make sure the upstairs isnt extremely hot.

Does My Ecobee Device have a similar function to Smart Fan Control?


(Yves Racine) #914

Hi @jbrukardt ,

With My Ecobee device, you can use the ecobeeSetZoneWithSchedule smartapp which is based on the concepts of rooms/zones/schedules.

  • The schedules in the smartapp are linked to the ecobee comfort settings (scheduled programs at ecobee such as Home, Away, Sleep, Awake or any custom ones), so that the ecobee scheduling is driving the execution of the schedules in the smartapp (as the ecobee scheduling is more reliable than the ST scheduling).

  • In ecobeeSetZoneWithSchedule, you can specify the max temp differential allowed between all your scheduled zones/rooms in order to turn on your HVAC fan or any other fan switches in your home.

  • The max temp differential can be customized on a schedule basis, so that you could have a different temp differential threshold during the day vs. at night.

  • The smartapp has many other features such as the option to use any ST connected temp/motion sensors to adjust the thermostat’s setpoints (not only the proprietary ecobee sensors) and reproduce the follow me & smart away features. For instance, you could use the Xiaomi temp/motion sensors that can sell for as low as $10 as a room sensor.

For more information about ecobeeSetZoneWithSchedule, refer to the supported features & configuration sections at the ST community wiki:

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Supported_Features

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Use_Case_.237:_I_want_to_set.2Fadjust_my_fan_mode_during_a_schedule_run

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Use_Case_.2311:_Control_of_switches_for_alternative_cooling.2Fbetter_air_circulation

For more information about My Ecobee device, refer to

http://thingsthataresmart.wiki/index.php?title=My_Ecobee_Device

My zoned heating/cooling solutons have been used by many ST users and the related thread is here:

P.S. The best bundle for your use case would then be My Ecobee bundle at my store.

Regards.


#915

Excellent, thank you very much for your detailed response. Purchased.

Ill get it installed and give some feedback for others for future reference.


(Yves Racine) #916

BTW, if you want to create physical zones later, the smartapp can also control smart vents (Keen Home, Flair, econet, etc.) to direct more airflow to your active zones.

Regards.


(Yves Racine) #917

To all my contributors,

There has been a minor ecobee outage this afternoon at around 16h00 EDT,
and if you’ve subscribed to the ecobee status page, you’d get some email notifications with the following message:

We’re experiencing an elevated level of errors and are currently looking into the issue

Under my ST account (and all other ST accounts that I closely supervise as part of my support packages), My ecobee device was still responsive to all thermostat commands.

The minor outage was resolved at around 16h55 EDT.

It’s always a good idea to check the following ecobee status page for any ecobee issues:

https://status.ecobee.com/

Regards.

P. S. With my ecobee Device, you don’t need to re-login at ecobee as the code is resilient to the ST or ecobee outages.


#918

No luck with this unfortunately.

I have 8 room setup, two of these rooms (upstairs bedroom) and (livingroom) have temperature sensors. Upstairs bedroom has an ecobee proprietary sensor, and the ecobee itself is in livingroom.

I have two zones, upstairs and downstairs

And I have 3 schedules (home, away, sleep), which are paired with the default ecobee schedules.

I have tried to implement the fan on when temp differential occurs by following the guidance above, and by the following:

Use Case #16: I want to automatically control my tstats’ fan speed based on the temp offset in the scheduled zone(s)

For more details about the fan settings available, please refer to use case #7 above. You’d need to set the room/zone thermsostats in each room and build your zones according to your scheduling needs.

a) General Setup> On the 1st setup page, set the following flag to true
section(“Enable fan adjustment at main thermostat based on indoor/outdoor temp sensors [optional, default=false]”) {
“Enable fan adjustment set in schedules based on sensors?”
}
b) Schedules Setup>Fan Settings> for each schedule when new fan settings are required, you’d need to configure the max temp differential
in the zone to trigger the right fan speed

"Max Temp Differential in the active zone(s) to trigger Fan mode"

I set the differential to 3 degrees, and applied the same settings to each schedule.

However, the result is that the AC never comes on at all, and the fan just runs constantly trying to keep the two monitored rooms the same. I actually got a warning from the ecobee that it had been trying to call for cool and failing for 4 hours.

Im wondering if what i need is actually

Use Case #7: I want to set/adjust my fan mode during a schedule run

instead.

Will continue to experiment.

I cant find documentation on what the difference between “on, auto, and circulate” are in the below instruction set.

b) Schedules Setup>Fan Settings> for each schedule when new fan settings are required, you’d need to configure your fan settings
section(“Schedule ${indiceSchedule}-Set Fan Mode [optional]”) {
“Set Fan Mode [‘on’, ‘auto’, ‘circulate’]”, metadata: [values: [“on”, “auto”]], required: false,
}


(Yves Racine) #919

Hi,

For your use case, I already replied to you to follow use case #7:

and, with the temp differential needed and the following flag set (as you just want to override the default fan mode only when the temp differential is big enough).

If you only want to override (not set systematically) the fan settings based on indoor/outdoor
conditions, then you’d need to set the following parameter to ‘true’ (default is false):

Schedules Setup>FanSettings>"Override Fan Mode only when Outdoor Threshold or Indoor Temp differential is reached(default=false)"

The fan modes are the ones supported by the DTH and are similar to the fan settings at ecobee:

fanOn: always On
fanAuto: On only when the thermostatOperatingState is heating or cooling
fanCirculate: set a minimum fan time of 15 minutes/hour.

The fan’s speed modulation is only for zone thermostats (not ecobee as the thermostat unit doesn’t support fan speed modulation) which support fan speed variation (ex. Flair HVAC units linked to portable heaters/coolers/mini/window splits).

Regards.


(Yves Racine) #920

My ecobeeSetZoneWithSchedule smartapp will never deactivate the AC unless you’re using some alternative cooling options… I don’t know what is your configuration… Have you tried also to use alternative cooling? There are many features in the smartapp, if you try to activate all features at the same time, you won’t get the expected results like any DTHs.

What’s the ecobee error message, do you have a screen shot? This could be due to another issue with your HVAC, not My Ecobee device.

And, I cannot help you without logs, if you send me some logs, I will be able to tell you what’s wrong with your configuration.

To enable detailed logging, refer to

http://thingsthataresmart.wiki/index.php?title=EcobeeSetZoneWithSchedule#Use_Case_.2313:_I_want_detailed_Logging.2FNotifications_or_I_want_to_enable_Ask_Alexa_Notifications

And, send me the logs to services@maisonsecomatiq.com

If you’re experimenting with the smartapp, please follow a specific use case’s instructions.

P.S. Be also careful to not use two different ecobee implementation (Ecobee Connect & My Ecobee device) to control your ecobee thermostat at the same time as this would generate some side effects as each DTH will fight to control your unit and you won’t get the expected results for sure.

Regards.


(Yves Racine) #921

To all my contributors,

There has been a minor ecobee outage this morning at around 1h49 EDT,
and if you’ve subscribed to the ecobee status page, you’d get some email notifications with the following message:

We’re experiencing an elevated level of errors and are currently looking into the issue

Under my ST account (and all other ST accounts that I closely supervise as part of my support packages), My ecobee device was still responsive to all thermostat commands.

The minor outage was resolved at around 2h07 EDT.

It’s always a good idea to check the following ecobee status page for any ecobee issues:

https://status.ecobee.com/

P. S. With my ecobee Device, you don’t need to re-login at ecobee as the code is resilient to the ST or ecobee outages.

Regards.


#922

Thank you, the fan state is helpful. I have set it to on in my fan settings, as i want EcobeeSetZoneWithSchedule to try to equalize the zone temperature even when the hvac cooling isnt running, then set it back to auto once equalized.

I will have level 5 emailed logs this evening, I am documenting as much as possible including historical charts of the fan on time and sensor temps in each zone from HomeIQ. Thank you for your help, I appreciate it.


(Yves Racine) #923

The smartapp can activate the HVAC fan when the avg temp differential in all your zoned rooms (according to your active schedule) is greater than a temp threshold (ex. 5F)… The smartapp can also activate some fan switches in the house to have better air circulation.

But, your expected results depend on many factors that the smartapp cannot control:

  • If your house is a 2-storey house, where are your zoned rooms? Are they on 2 different levels? What is the usual temp differential between the ground floor and upstairs? If the usual temp differential is greater than 5F, it may be difficult to achieve.
  • is your house well insulated? Are your zoned rooms exposed to the sun or the wind? Are your zoned rooms susceptible to drafts or other issues?
  • Is your HVAC fan far away from the zoned rooms? Is the air flow alone strong enough to make an impact on the zone’s temperature?
  • Do you open/close any door/windows/vents in the zoned rooms which restrict the air flow?

In brief, if you just rely on your HVAC fan alone to equalize the zone temperature and the air flow is not sufficient to make an impact, I doubt that you will be able to achieve your goal.

I don’t know anything about your house, but you may consider smart vents to better control the air flow in the zoned rooms. And, I must add that even smart vents may not be enough if your usual temp differential between your ground floor and upstairs is greater than 10F.

Regards.