[Release] Updated Open Source Ecobee Device Type and SmartApps

I can verify that the thermostat device type page is crashing every time I access it via the application. Here are my details:

My system is currently in auto mode (it is currently in idle mode)

I just updated to the latest version in github at 8:40 PM CST. I cleared the Smarthings app data, re-ran the Ecobee SmartApp and then tried to load the device type page. Every time the SmartThings app crashes when trying to load the thermostat device page. I can see from the live logging that the device type continues to be polled every 5 minutes and is returning data. This appears to be a UI only issue.

If you need me to provide logs let me know.

Update: I did try removing “motion” from the detail list and SmartThings still crashed.

I had the same issue the other day. Oddly the crashes stopped once I pulled up the device from underneath the Family column instead of the Things column.

Unfortunately the Ecobee Thermostat is no longer present under Family because it is no longer a presence device.

I’m glad it’s not a presence device. Detecting motion is fine.

1 Like

Likewise, I’m glad it’s not a presence device.

1 Like

@HLlalo & @Snakedog116, FYI, the Reliable Presence Smart App doesn’t actually do what you describe in these posts. The intent of that app is to make a single person’s presence more reliable so that you can identify yourself with multiple presence sensors and your presence will be triggered as away if any of them leave. This means that if you try to use it by combining the presence sensors of yourself and your partner, it will trigger as away when either of you leave home, even if the other is still at home. This is exactly opposite of what I wanted, since my use case was exactly like yours - I wanted to trigger my ecobee3 to the “Away” Comfort Mode via IFTTT only when everyone was gone.

I ended up taking the Reliable Presence SmartApp and modifying it to do what I wanted, which is to combine the presence sensors of my wife and me so that it will trigger as away only when both of us are gone, and will trigger as home when either of us is home. Works like a charm. Only after I did this did I realize that someone else had already done it, so I’ll link to that one by @baldeagle072: Everyone’s Presence

Thanks for trying. Looking at the code I didn’t think that would change anything. I’ll take a harder look at the code tonight and backtrack through my changes. I’ll provide an update as soon as I can.

Thanks for everyone’s patience. Guess it is time to be a little more diligent on releasing beta’s and testing longer before releasing up the chain.

Disconnects / Authentication Token Failures

Wanted to see how stable things are working for people. I have a few people that are experiencing disconnects still. I experienced my first real one just this morning. (Unfortunately, my Live Logging seems to have died about an hour before the disconnect.)

I plan to open tickets with both SmartThings and Ecobee to start troubleshooting, but wanted to see who else might be having issues.

If you do have a disconnect and want to send me some logs, you can either post here or send them to me via email (smartthings at linuxbox dot org).

Works perfect for me. Thank you for your work.
Admittedly I don’t use it in any smart apps, so I may not be a good sample, but no disconnects so far.

1 Like

Just wanted to say thanks. I donated to yracine before he started requiring it but honestly his code is overkill and as soon as I added the remote sensors I got init errors and it killed the entire thing. Uninstalled everything and reinstalled and it would work for the stat itself but again as soon as I added remote sensors it died. Trying out your code and so far so good. Lot easier to install and get working too. I’m on Android BTW…install went fine. I installed from Github if that matters.

Only minor issue is the main stat shows the temperature without a decimal and the remote sensors show with a decimal, and its always .0. Not sure if the ecobee can display decimals but if not then the remote sensors probably should have it eliminated or if it can then the main should have it added. Again, very minor.


I’ve been using it for a few days now with no disconnects. I’ve updated the code and re-authenticated whenever new code was available (2 or 3 times). Thanks for this!

@claytonjn I added your comment to github. I think that makes sense. The motion sensor could be removed from the main thermostat.

Interesting, I have the Reliable Presence Smart App installed and I’m not sure it’s working how you said. My understanding of the app is that sometimes a single device will dissapear (go away) and then come back. So the Reliable Presense sensor will only go ‘away’ when BOTH underlying sensors are away. So that would be exactly what you want.

But I haven’t looked at the code. All I can say is that I left my house yesterday, my wife was still at home and the Reliable Presence device said it was at home. So it seems to be working for me.

My limitation I have is that controlling the 'Climate" through a smartapp instead of IFTTT is that IFTTT works for home and away, but not ‘sleep’ mode. So at night, I can set SmartThings to ‘goodnight’ but since Ecobee doesn’t know I changed states it stays on ‘home’. For now I’ve made my ‘goodnight’ routine also set the thermostat temperature using a manual temperature set instead of a ‘climate’ change. It works, but could be better.

I’ve only had it disconnect after I update the app, if I don’t also log out and back in. Other than that I think it’s been pretty stable.

Having said that, my thermostat currently says that the API is connected, but under ‘recently’ there has been no update since 7:05 this morning (It’s currently 8:55) and the heat is on, temp set to 21.5 C… which is both not true. The actual thermostat is set to 18, and it is not currently heating.

But I’ve found sometimes that it’s a bit slow in the mornings and normally catches up. After pressing ‘refresh’ just now it’s reading properly

That’s interesting. The key part of the code is here:

else if (evt.value == "not present") {
    if (simulatedPresence.currentValue("presence") != "not present") {
        log.debug("Reliable Departure")

This basically says that whenever any of the presence devices registered with the SmartApp trigger that they’re “not present,” the simulated presence sensor status will also become “not present” if it is currently set as “present.” (or not set as “not present” as the code is written).

Hmmm, I’ll have to test this a bit more. What you are saying is that the code reads that if either sensor leaves the combined one should be Not present. You know, you could be right. My wife and I leave shortly after eachother, perhaps it was just delayed and I thought it was noticing the second person leave.

What about if either sensor comes back home? I’m 95% sure that it said I was present yesterday when I got home and my wife wasn’t home yet.

Update I should add that I was running off of a code that was a couple days old… @StrykerSKS, how are you so amazing at pushing updates almost daily???

Anyways, I’ve updated to the latest code now and I’ll see it it happens again.

Yes, that’s exactly what I’m saying.

If either sensor comes home the combined sensor will also be marked as present, so what you saw would be correct.

If you want to try the other one that I linked to (that has been working perfectly for me), it’s just as easy as swapping out the code in that SmartApp.

I noticed the same thing as Snakedog116. Under “recently” my updating stops for the t-stat and all sensors (usually happens late at night). If I hit refresh, new data will populate once but then no further updates. The logs show that the 5 minute poll is not happening. I just deleted everything and did a clean install of the app and device handlers. I’ll watch to see if it happens again and try to catch some log snapshots. Could it be related to no motion detected on any sensors?

@Roadrider, did you manually select ‘5’ for polling? or are you using the default ‘5’? (Grayed out without actually selecting it)

I’m using the default, I wonder if that could make a difference?

I removed the remote sensors and thermostat device type from my SmartThings setup and then re-ran the SmartApp. So far I am not getting the crashes that I was receiving before when I went to the thermostat device type page. I’ll update this post if I start seeing the issue again with the current release.

I’m guessing the issue I was having might be more of a SmartThings Android app issue more than an issue with the Ecobee thermostat device type.