[OBSOLETE] .. Updated Open Source Ecobee Device Type and SmartApps

I was utilizing the Github integration and then went and copied and pasted the code from the V8 RC-1 beta version to allow utilization of the fan modes. If I just do an update via the IDE, will it update from the main branch and will I still have fan mode utilization?

If you have the GitHub pointing to the Ecobee3 branch, then yes it should be able to overwrite with the latest version.

And yes, you will still have fanMode, you will also have the ability to work with Programs (Comfort Settings) such as Away, Home, Sleep.

You may be interested to also install the ecobee Routines Child SmartApp if you want to have your ST Modes (Routines) trigger Program changes on your Ecobee.

Looks like I am back in the saddle. Thanks! Also installed the ecobee routines. Everything seems fine after a re-authorization.

Wanted to add a huge +1 on the github integration.

I too had previously donated to Yves code; however, the constant copy / paste of manually updating code wasnā€™t worth the squeeze for my use case.

Thank you for your support

1 Like

First off thank you very much for your work. I, as some others in this thread, donated to yracine months ago but his device is not only overkill but doesnā€™t seem stable at all anymore. Your last couple revisions (at least the last week or so) have caused no disconnects. And it might have been longer then that but I kept updating the devices from the repository and forgetting to do the smartapp and wondering why everyone had different options then me (Doh!). I donated what I could to you and I really hope others do also or SmartThings just picks up your device handler as the start to theirs. Or like you said you put some features back into theirs once its finally done.

With the above said is there a reason the main thermostat lists the temperature without a decimal place and the remote sensors all display with a decimal of 0? Ie main thermostat will say 68 and remote sensor will say 67.0. Itā€™s minor but can you eliminate the .0 from the remote sensors. Also with the new pretty tile it doesnā€™t seem to work real well with Android. As in doesnā€™t seem to do anything. My girlfriends iPhone it works although its a little awkward as it takes a little while to get feedback. Iā€™m assuming there is no way to hit the up and down buttons, display what the setpoint ā€œwillā€ be and then if there is no input after so many seconds then push to the thermostat but Iā€™m always worried its not really sending. Or even a ā€œsetā€ button where you can change it and hit set and know it push the command. Idkā€¦thinking out loud. It definately looks better on iPhone then Android but I know thats more of a SmartThings issue.

-Allan

Hmmm, I donā€™t have a ā€œDonateā€ button anywhere, so not sure who you might have donated to! In fact, I have been turning down people who have asked to donate. If you want to donate somewhere, might I suggest donating to your local Habitat for Humanity, that is my charity of choice these days. Everyone deserves to have affordable, safe housing!

The decimal place was only intended to be shown when using Celcius, So if you are using Fahrenheit then you should not see a decimal place in any temperature readings. If you are, then Iā€™ll need to investigate why.

If you are using Celsius, there is a a confirmed bug with SmartThings on the multiAttributeTile not showing the decimal. I have an open trouble ticket and have received confirmation that they believe this to be something on their backend. While they do not have an ETA for a fix, they are at least aware of this. I have confirmed that the decimal values are in fact there by creating a standalone tile and testing side-by-side.

Are you on the latest version of the Android client which is 2.0.8? The updates to work with the multiAttributeTile went in with that version. If you are on an older version you will have a very bad experience with the multiAttributeTile for sure!

There should be pretty rapid feedback, I use a slight delay (5 seconds) to update the status since you might want to hit the arrows more than once in a row to change the temp. The updated information will show up in the text at the bottom of the multiAttributeTile. For example, on mine, I just tried it and hit the up arrow and my text changed from ā€œIdle - Heat/Cool at 63-78ā€ to ā€œIdle - Heat/Cool at 72-78ā€ (My current actual temperature was 71, so hitting up changed the desired temp to 72). It will also update the values next to the sliders as well.

I guess we could add a Setpoint tile on the screen to show the current setup, but that was the intention of the text that shows up in the multiAttributeTile, so that all the info was front and center and easily found.

Unfortunately the architecture of the Tiles doesnā€™t allow for a ā€œsetā€ button in any direct wayā€¦ although that does give me an interesting idea of something that could be maybe done through a bit of hackeryā€¦ but Iā€™m trying to stay within the main framework as much as possible so that it can be reused (and to avoid it breaking later if ST changes the way some things work).

1 Like

My girlfriend is 7+ months pregnant and has been snoring like a freight train so Iā€™m a little sleep deprived so I know I donated a bit to someone on here and now I have no idea who. lol.

Yes I am on 2.0.8 for Android and set for F*. Here is a screen shot from my phone:

Living Room Thermostat is the main stat, Master Bedroom and Guest Bedroom are both remotes. As for the setpoint change if I press the up arrow twice I get feedback from my device (click and slight vibrate) but nothing changes. I let it sit for 15 - 20 seconds but still nothing. So I hit Refresh and again nothing. The temperature doesnā€™t change. Now if I slide the little slider from 64 to 67 it will say Hold Activated and then say its heating to 67 after about a minute. This is all on the Android which is why I think itā€™s just a Android issue with the smart tile. Other tiles/functions such as ā€œresumeā€ work correctly. On the iPhone the up/down arrows seem to work just with a delay as mentioned.

Oh and I think someone else mentioned but I will just in case. The icons donā€™t display correctly on Android and there is some text wrapping. Again, itā€™s probably a android rendering thing. For example the icon next to the heating slider is the cooling icon and the one next to cooling is the away icon. And sometimes if my phone screen turns off and I turn it back those two icons are just gone. If I close SmartThings and open it back up they come back:

Yes, the Android rendering is still very much a big mess. Iā€™ve reported this one. I need to follow-up again as I havenā€™t received any feedback recently on that one.

One thing that would help get ST to look at this with high priority is for more people to report the issues directly as well. I donā€™t mind opening trouble tickets, but if I am the only one then they wonā€™t prioritize a fix.

Iā€™ll open one now and point to this thread.

1 Like

Just wanted to say thanks for the awesome apps. I sent an email to support as well regarding the rendering issue.

1 Like

Stryker, thanks for all your hard work. Iā€™m going to un-install the app for a while because i havent been able to go a day without the credentials being lost and the thermostat API disconnecting. Just fyi that I did a complete removal and reinstall this past weekend. Iā€™ll keep monitoring the thread for updates thoughā€¦

Thanks for letting me know.

I think Iā€™m close to a full solution. I was only getting about 2 hours at a time for a while over the last couple of weeks with some of the things I was trying. Iā€™m up to three days now with the latest version.

I need to squish out some more gremlins but hopeful that it is on the right track.

Serious questionā€¦is this working any better than Yves? His loses authentication randomly for me usually every few days. Itā€™s pretty brutal. Is this the same?

I had to re authenticate today as a matter of factā€¦right before replying here; however, I do not recall the last time I was prompted to do so via notification from ST as itā€™s been awhile.

Iā€™ve used both (was a donator to Yves) and prefer Stykerā€™s code for Github simplicity.

Interesting. Iā€™m willing to give it a try. Can I view the sensors as devices using this? Also am I able to set home/away/sleep from my routines?

Iā€™m still having issues on my end but I think Iā€™ve narrowed it down. In fact, to test my theory I created a test SmartApp that only does two things, polls and reauthenticates. That app has been running without failures since I deployed it (over a week now without any failures). It has helped me to understand the authentication flow much better.

As it turns out, it is also the model that was released in the SmartThings public code as well. So now Iā€™m going through my current code and cleaning it up to model that flow more closely. Iā€™m already seeing improvements the last few days with my development branch.

Regarding your questions:

Yes, you can view the remote sensors as devices. Iā€™ve also set it up so that you can (optionally) create a separate sensors for the Thermostat readings as well. This is needed since the temperature shows for the ā€œThermostatā€ is actually an average, so by creating a separate sensor device representing the thermostat you can also access the true reading at the thermostat instead of the average.

Yes, Iā€™ve included a Child SmartApp called ecobee Routines that allows you to set the home/away/sleep (and Resume Program) using routines to trigger. The beauty of using a Child SmartApp is that it is accessible directly from in the main SmartApp and groups everything nicely for you instead of you having to hunt for each instance. Much easier to manage that way.

Iā€™ve pushed my latest development branch to the StrykerSKS-Ecobee3 branch, so if you decide to give it a try youā€™ll be on the latest version that I have available. Still some more work to get it fully cleaned up for the authentication flow/token handling. So there is still some situations that will cause a disconnect but should be less likely.

I would suggest not over-polling. Iā€™ve seen that anything more frequent than about 3 minutes or so will cause problems and ultimately end in a disconnect.

Also, if you want to do more sophisticated things than just Routines, Rule Machine plays nicely with my implementation. (Just search above in this thread.)

I use rule machine to trigger routines that can then modify the thermostat and it works great. And @Mike_Maxwell Keenect for temp/vent tie in.

The only issue I have, and itā€™s a personal preference, is the delay from pressing the arrows in the app to the thermostat responding, but I believe that is a by design feature.

Cheers,

Matthew

Yes, this is by design. I currently have it hard coded at 5 seconds. This allows for multiple arrow presses to be made and then only send one API call. Otherwise there is a risk that if you try to send back to back API calls that they will interfere with each other since things run asynchronously to a certain extent. And it is more likely to cause API disconnects if too many requests are sent.

But I suppose I could make it programmable and let you decide on the delay (and take your chances on failures ;o)

If you want me to add that configurability just open up an Issue on the github and I can add it when I get a chance.

I have 6 of them and have gone a month at a time without issues. This past weekend was the first failure that I have had in 6 weeks.

1 Like

Got it all setup. Removed the old Ecobee ā€œstuffā€ I had and got every set back up with your code/app etc. So far I really like the way youā€™ve set it up. The devices are one for temp and motion not 2 different things. Git hub is very slick.

The app shows the API grey sometimes and green others. Not sure about that but I am pretty excited to see something where I can just check and see if Itā€™s still connected. great feature.