[OBSOLETE] Updated Open Source Ecobee Device Type and SmartApps

This has not yet been merged into @StrykerSKS version yet, so you won’t see updates in the repository.

So, as stated in my Install Guide:

NOTE: You should follow Sean’s instructions for Install Manually from Code, installing and publishing all five SmartApps and the two Device Handlers described below.

1 Like

Got it. Thanks for pointing it out. I was able to manually update both ecobee-connect.groovy v0.10.22 and ecobee-thermostat.groovy v0.10.10 without issue.

1 Like

I’m finally starting to look at a merge…

First step is to move to a new repository that is not under the smartthings namespace. Since they don’t want to take my updates directly it doesn’t make sense to keep the code under their namespace as it just makes it harder to maintain and use.

Once I’ve moved everything over, then I can start to look at merging in these additions.

Thanks for everyone’s patience.

4 Likes

I have always used the stock ecobee device handler since getting my thermostat. One thing I have noticed with the stock handler is the delay in the motion/temp reporting from the external sensors. Will I be able to tweak that if I used a 3rd party handler/app like this one?

The external sensors report on an erratic basis, and the Occupancy sensors reportedly have a 10-15minute “resolution” - as in, it takes the sensor itself several minutes of motion before it will report motion (occupancy), and as well several minutes of no motion before reporting motion stopped.

That said, you may be able to get better response time with this handler in a couple of ways:

  1. Set the polling frequency to a smaller number (values less than 3 are strongly recommended against by Ecobee, but you can try them with this DTH). More frequent polling won’t make the remote devices report in more frequently, but it can shorten the time between when the report was sent to the cloud and the time this DTH “sees” the change.

  2. You can also onfigure a couple of other “watchdog” devices, perhaps other motion sensors and/or thermometers - when they change, this DTH will poll the Ecobee cloud to see if anything has changed (although it won’t poll if it polled within the last 30 seconds).

1 Like

On the resolution, the Ecobee documentation/forums actually seems to indicate that it is as much as 30 minutes.

These are not “real-time” reporting sensors, so no matter how often we poll Ecobee, the values for the sensors may not change.

On the “watchdog” devices, those were intended to work around the bugs in the backend timers. I actually intend to remove those sometime in the near future because I found that using too many watchdogs will actually cause the DTH to go offline. And now that “ticker” has been released, they are really no longer needed. And with the updates that are coming we’ll be able to do more often polling without a lot of overhead.

1 Like

Major updates to ecobee-connect.groovy v0.10.26 overhauls and optimizes the Authorization Token refresh logic to work in accordance with Ecobee API guidelines. Also, fixes bug where Program/Climate changes might have gone unreported by the thermostat device.

Minor updates to ecobee-thermostat.groovy v0.10.15 to tweak notification messages

RECOMMENDED FOR ALL USERS

Barry, This is great work following up on Seans original work. Thank you for all of your hard work that has been put in.
There are a few issues i have seen on the Android app, not sure if it is issues anywhere else.

  1. Sometimes the main Temperature section just goes blank.
  2. The up and down buttons on the main temp section dont seem to do anything
  3. The icons for the temperature display next to the temperature sliders under command center have a white background and white letters. The text is larger than the colored circle behind it so you cant read the temperatures.

I will try to post screenshots in a few minutes


Thanks for the report. Can you please provide me with the version number of both the thermostat device and ecobee connect that you are using.

Also, are you using Celsius?

Thanks!
Barry

I just updated to the most recent ones you have posted. Connect 0.10.26b
Tstat 0.10.15
No Celsius. Using F

OK, I am at a loss how to fix these, since it is device-specific…

  1. Yep - I’ve seen it too, only on Android. I have no idea what causes it, nor how to get it to recover.

  2. I think I have seen this reported before, which is why the sliders were added to adjust the heat/cool settings

  3. This is one of the longest-standing bugs in Android - on iOS, a string “75°\nHeat” shows up on two lines, but on Android the embedded \n is ignored. There is no solution other than to remove the “\nHeat” and “\nCool” on lines 350 and 356 (respectively).

You could also try setting the Decimal Precision to 0 to see if them temps fit better - the additional space required for the 1 or 2 decimal places apparently doesn’t always fit on Android devices…

@greenzkool -

You might try the new ecobee-thermostat.groovy (v0.10.16) - I reworked the UI for the temp sliders…let me know if that works better for you on Android.

Hello,

Just tried this and go this error:

error java.lang.NullPointerException: Cannot get property ‘17a57b8c-294d-4375-bee4-53a02f598612.411992023159’ on null object @ line 1250

6:12:17 PM: error pollEcobeeAPI(): General Exception: java.lang.NullPointerException: Cannot get property ‘value’ on null object.

The device isn’t working either. Any ideas as to what the problem might be?

Major Update

Files changed at my GitHub repository

  • ecobee-connect.groovy v0.10.27
  • ecobee-thermostat.groovy v0.10.17
  • ecobee-sensor.groovy v0.10.3

Updates

  1. Sensors now display their inclusion status in the standard Programs (Home, Away, Sleep). This is in preparation for being able to add/remove a sensor from a Program from within the sensor UI. This does not work yet in this release, as you will see if you click on one of the climates (the inclusion state won’t change).

  2. Only collects & translates updates for sensors that are configured/selected in the settings.

  3. Now properly handles cases where not all of the sensors are selected in settings.

  4. Only queues changed data to both thermostats and sensors

  5. Reduced the CPU overhead for updating large numbers of thermostats and devices significantly, even when all the devices have changes (less load on ST servers to complement the significantly reduced load on Ecobee servers).

  6. Fixed precision translation for both thermostats and sensors; always sends full API precision (which will be what you get from device.currentValue(‘temperature’) and what is displayed in the device’s List view in the mobile app, but the device itself will display the specified precision.

2 Likes

The interface has been messed up on my Android device since Samsung updated the app. It’s hard to adjust the temp with the slider or know what it’s set for. I’ve attached some screenshots.

Also, a couple questions:

  1. Will there be a way to include non-Ecobee sensors outside of the Smart Circulation app? I have an Iris Motion sensor with temperature reporting but it’s not selectable in the Ecobee Connect app.
  2. In the Smart Circulation app, it seems like whatever I set the max fan on time to, it immediately increases the fan time to that regardless. I’ve even tried setting the delta t to 10 when there’s only a difference of 2-3 and it doesn’t seem to have an effect.

Thanks!

Yup - Samsung/SmartThings sure messed up the formatting with their latest updated.

Lots of discussion - lots of people having the same issue: Android 2.3.0 - Release Notes

Unfortunately, there’s not really anything I can do about it - developers have virtually zero control over how things display.

You should open a ticket with Customer Support (support@smartthings.com). Maybe if enough people complain they’ll fix their mistakes. (I’m opening one as well).

Thanks!

  1. Will there be a way to include non-Ecobee sensors outside of the Smart Circulation app? I have an Iris Motion sensor with temperature reporting but it’s not selectable in the Ecobee Connect app.

Sorry, but this effort will only support the native Ecobee sensor integration with Ecobee thermostats for the temperature/motion integration. I believe there is a pay version of an Ecobee DTH that offers what you are looking for (and a lot more).

  1. In the Smart Circulation app, it seems like whatever I set the max fan on time to, it immediately increases the fan time to that regardless. I’ve even tried setting the delta t to 10 when there’s only a difference of 2-3 and it doesn’t seem to have an effect.

Hmmm…haven’t seen this issue. Have you looked at the Live Logging for the Smart Circulation instance in question? Set the Debug Level to 4 in the Ecobee (Connect) SmartApp, then watch the specific SmartApp. You might have to set Max to a low number, save/exit, then edit again and set Max back to a higher number. At log-level 4 it should show you the average temperature it found, the delta and the amount of each change.

Also, I suggest setting the Minutes per adjustment to (say) 5, and the time adjustment frequency to at least 15 or even 30 minutes. This because so long as the scheduled Fan On time is less than or equal to thirty minutes, the Ecobee thermostat will try to split the time into 2 or 4 equal chunks of time per hour (e.g., runs every half hour, or every 15 minutes) - adjusting faster than that has no benefit other than to ramp up the time too quickly.

HOT FIX!

Get ecobee-thermostat.groovy v0.10.17a for a (temporary) work-around to the issues caused by v2.3.0 & 2.3.1 of the Android Mobile App.

This addresses:

  • Thermometer icon too small
  • Temperatures at right of sliders not displaying correctly

Still Broken:

  • font size of the main temperature display is too small
  • Cool/Heat icons to left of slider sometimes render too small, other times Just Right
  • Auto/On Switch/ icon renders with large gap between, instead of as adjacent tiles

I have a MAJOR update coming soon, but this should tide us over the current Android-induced issues…