Ecobee 3 Remote Sensors into ST

I wanted to provide an update a few weeks into installing my 4 ecobee / 12 sensor set up.

Everything is working as expected in Yvesracine’s code with no issues. I’ve left the higher detail polling on and it is scary the amount of information that is passed over to ST from ecobee every 15 minutes.

As predicted the motion sensors are only good for looking at general motion (if my kids have moved into/out of their rooms in last 30 minutes, for example). The temperature sensors work very well.

I haven’t used the controls in ST to control the ecobee (just using for monitoring). I have some learning to do since a couple of test commands somehow changed the mode from COOL to AUTO (including heat), so I’ll keep playing around.

The last annoyance is more of an ST problem, and that is having to shake the device to get sensor/device names. Why they couldn’t just list them is well beyond me.

Thanks to Yvesracine to for all the work he has put into this - very good outcome for the teams.

@Ihdihd, the ST UI annoyance (shaking your device to get sensor/device names) will be soon a thing of the past as I’ve seen (and tested) the latest UI in Palo Alto, and this “feature” will no longer be required…

Hang on till then!

I have the ecobee remote sensors integrated into my smartthings. Until recently everything was working great. For 4 days now my remote sensors are no longer indicating motion / no motion in smartthings. They seem to still update temps. I tried reiniting the devices and still no go. Any suggestions?

Hello @ADamL, do the ecobee remote sensors correctly report motion at the ecobee portal and at the physical thermostat?

What is your firmware version at the therrmostat? Version 3.6 is recommended for reporting motion.

Let me know.

Thanks! Turns out it is my ecobee. They have not been accurately reporting motion for a couple of days. If I go on the homeiq reports they are correct but not in the thermostat or mobile app. UG, add it to the list of issues with my ecobee the last couple of months. I do have firmware 6.0.x.

Thanks and off to troubleshoot them again.

Just in case anybody else sees this issue. I talked to ecobee support and there is currently a problem where these sensors do not report occupancy to the web app or mobile app, but if you look on the thermostat they are working. I am assuming that if they dont work on the web app they wont work on the remote sensor st app. Ecobee knows of the issue and is working on root cause / fix. Basically this does not impact all customers but it does impact some, like me!

Yes, in a letter sent out to customers Monday (Aug 17), ecobee notifies us that (in effect) the API is not being updated for temperature, motion or state/status changes (as in, not reporting even idle/cooling/fan only) in a timely manner (up to 15 minutes delayed is implied; observation is that this can actually be HOURS). The ONLY changes being propagated immediately are changes to the schedules/settings - NOTHING else (as per observation on 6 different ecobee thermostats in 3 different locations).

This breaks pretty much any SmartApp trying to leverage the thermostats’ capabilities (e.g. active vent controls, etc.). While I understand growing pains and the need to deploy more hardware to support expanding user communities, I disagree that (effectively) disabling the API is a reasonable temporary solution - how about keeping the API working for those of us using it (and yes, ecobee knows who we are), instead of pulling the rug from beneath everyone?

Sigh!

I’m on my second Ecobee3 unit now with 3 sensors. It’s been the most unreliable hardware/software I’ve ever purchased—and that’s saying a lot. I’m almost at the end of return window and am wondering if I should bother keeping it. Has anyone had any sort of reliability with this product? I understand they have had issues and don’t communicate effectively nor have a system availability dashboard (even though it’s been suggested for the past year from what I’ve read).

I really want this to work—but, it’s so unpredictable. SmartThings apps are pretty much useless due to their defective API. Occupancy and temp reading seem wild. I can sit right in front of the sensor, intentionally moving around, and it will not register on the thermostat.

I get different reading on the android app, web and thermostat all the time—none are ever in sync it seems. Is this what I should expect given you guys’ experience? Should I go back to Nest?

One last question, there appears to be no easy way to trigger my custom climates other than trying to use yves’s apps, which don’t work due to API I guess. Anyone know how to trigger a custom climate like “home working” (preferably from the ecobee app or thermostat)?

TIA…

PS: I’ve paired, unpaired, flipped the battery to short/reset and paired again. Reset…even repurchased. I’ve even called ecobee. This seems like some sort of kickstarter project than a consumer product (I purchased at best buy).

While Ecobee has had some “server” issues recently, I for one have not had many problems with the thermostats. I previously had 5 Smart Si thermostats that worked flawlessly on their own and I know have 4 Ecobee3 and one remaining Smart SI. I have 1-2 remote sensors on several of the thermostats. The Ecobee3 units have all worked flawlessly as well. I now have them integrated with SmartThings but due to the sometimes sketchy Ecobee API and the sometimes sketchy SmartThing reliability, I think one needs to deploy ST in a reasonable and smart way for success right now. Personally, I do not have ST run the schedule on the thermostat directly because of this, nor do I rely on the motion/presence sensing capability of the remote sensors outside of what they provide directly to the thermostats. Those are both recipes for heartache. I do use ST to put the thermostats in and out of home/away mode and by doing that, the thermostat will alter the set point. I have found that to be very reliable. I also turn the thermostat run mode on/off with a smart app that monitors the windows in the house and the doors in the garage. That too works very well. I would say that the most wonky part of the whole thing are the remote sensors and the integration via the Ecobee API. They seem to report into the thermostat itself well enough, with an occasional sensor drop that reconnects on its own after some time. I can’t recommend what anyone should do but the devices themselves have proven to be reliable on their own and pretty good via integration through the API, at least for me. No one has done more than Yves Racine to make this all possible, so thanks go out to him for that.

Thanks for the feedback, Greg. Gives me much hope. I’m probably going to reset everything—ecobee and SmartThings related devices type and apps (mostly Yves’ stuff). The only things I want to utilize are Yves’s device type and app for setting the climate mode. I will let ST control the climate mode based on changes in ST modes. If that has worked reliably for others I can deal with this.

Currently tho, when the change climate mode runs and tells ecobee to go to a mode, the thermostat is not registering the change (but i do get a notification from Yves’ app). Maybe my redoing everything will flush something out.

When you say…

are you using Yves app for this? I have yet to figure out how to “turn on” the thermostat by app—the climate changes but doesn’t seem to kick it out of “off” status. I know this seems to contradict what I said above, but I think that’s due to the API constantly losing authorization—was working at 20 minute intervals, but stopped when I tried 10 minutes. Guess I’ll go back to 20. Think that only affects the stats shown in ST app and not the actual mode changes and on/off, which is all I care about. I’m not going to ST app to check my thermostat…stats.

Also, back to the remote sensors, two of my sensors are now registering the exact same temp and occupancy. It’s as if one is copying the other—I live by myself and haven’t been in the other room for hours—and they are not the same temp. Hopefully, re-initializing everything will fix things. (although, I’ve done it before too).

Ecobee3 has been pretty much reliable for me except for the built in sensor in the main unit. I use remote sensors in every room and ignore the main sensor. It works very well of its own and I don’t have it integrated with ST. The temperatures matches pretty close to the Fibaros that I have in these rooms.

Sort of. I do use Yves device type and I believe I have used some of his apps as the beginning of and inspiration for some other thing I have done. The window app is quite simple and is below. It runs through Yves device type.

preferences {

	page(name: "selectThermostats", title: "Thermostats", install: false, uninstall: true, nextPage: "Notifications") {
		section("Set the ecobee thermostat(s)") {
			input "ecobee", "device.myEcobeeDevice", title: "Which ecobee thermostat(s)?", multiple: true
		}
        section("Select the button that is the master overide to window check activities..."){
		    input "ecobeeWindowCheckOveride", "capability.switch", title: "Which?", multiple: false, required: true
	    } 
        section("Choose the window sensor(s) to monitor") {
			input "windowSensors", "capability.contactSensor", title: "Which one(s)?", required: true, multiple: true
		}
		
	}

	page(name: "Notifications", title: "Notifications Options", install: true, uninstall: true) {
		section("Notifications") {
			input "sendPushMessage", "enum", title: "Send a push notification?", metadata: [values: ["Yes", "No"]], required: false
			input "phone", "phone", title: "Send a Text Message?", required: false
		}
        	section([mobileOnly:true]) {
			label title: "Assign a name for this SmartApp", required: false
			mode title: "Set for specific mode(s)", required: false
		}
	}
}

def installed() {
	subscribe(windowSensors, "contact", windowStatusHandler)
    ecobeeWindowStatusCheckScheduler()
}

def updated() {
	unsubscribe()
    unschedule(ecobeeWindowStatusCheckScheduler)
    subscribe(windowSensors, "contact", windowStatusHandler)
    ecobeeWindowStatusCheckScheduler()
}

def ecobeeWindowStatusCheckScheduler() {
    if (ecobeeWindowCheckOveride.findAll { it?.latestValue("switch") == "off" }) {
       log.debug "ecobeeWindowCheckScheduler activated"
     //schedule("* * * * * ?", windowCheck) //every minute, for testing purposes only
       schedule("0 0 23 * * ?", windowCheck) //at 11:00 PM
       }
    else {
       log.debug "Do not schedule ecobeeWindowStatusCheck as master overide is set to on"
       }   
}

def windowCheck() {
   if ((ecobeeWindowCheckOveride.findAll { it?.latestValue("switch") == "off" }) && (windowSensors.findAll { it?.latestValue("contact") == "open" })) { 
    	ecobeeModeOff()
   }
   else if ((ecobeeWindowCheckOveride.findAll { it?.latestValue("switch") == "off" }) && (windowSensors.findAll { it?.latestValue("contact") == "closed" })) {
        ecobeeModeHeat()
   }
   else {
        log.debug "Do nothing as the ecobeeWindowStatusCheck master overide is set to on"
   }
}

def windowStatusHandler(evt) {
	log.debug evt.value
    
    if ((ecobeeWindowCheckOveride.findAll { it?.latestValue("switch") == "off" }) && (windowSensors.findAll { it?.latestValue("contact") == "open" })) {
       	ecobeeModeOff()
    }
    else if ((ecobeeWindowCheckOveride.findAll { it?.latestValue("switch") == "off" }) && (windowSensors.findAll { it?.latestValue("contact") == "closed" })) {
        ecobeeModeHeat()
    }
    else {
        log.debug "Do nothing as the ecobeeWindowStatusCheck master overide is set to on"
    }
}

def ecobeeModeOff() {
    ecobee.setThermostatMode('off')
	log.info "Set ecobee thermostat(s) mode to OFF as at least one window is open"
    sendMsgOff()
}

def ecobeeModeHeat() {
    ecobee.setThermostatMode('heat')
	log.info "Set ecobee thermostat(s) mode to HEAT as all the windows have closed"
    sendMsgHeat() 
}

private sendMsgOff() {
	log.debug "Running OFF mode messsaging..."
    def theMessageOff = "Ecobee Window Status Mode Change -> Setting the thermostat(s) mode to OFF as at least one window is open"
    if (sendPushMessage != "No") {
		log.debug("sending push message")
		sendPush(theMessageOff)
	}

	if (phone) {
		log.debug("sending text message")
		sendSms(phone, theMessageOff)
	}
}

private sendMsgHeat() {
	log.debug "Running HEAT mode messaging..."
    def theMessageHeat = "Ecobee Window Status Mode Change -> Setting the thermostat(s) mode to HEAT as all the windows have closed"
    if (sendPushMessage != "No") {
		log.debug("sending push message")
		sendPush(theMessageHeat)
	}

	if (phone) {
		log.debug("sending text message")
		sendSms(phone, theMessageHeat)
	}
}

def event(evt) {
	log.debug "value: $evt.value, event: $evt, settings: $settings, handlerName: ${evt.handlerName}"
}

I too have found presence on the remote sensors as being quite weird at times.

Thanks for the suggestions Greg. After resetting EVERYTHING—including the thermostat, smarttthings related apps and device, and even android tasker, ecobee appears to be stable.

As a big ass plus, my amazon echo is now controlling ecobee—“alexa, turn on the ecobee”. I let ST modes handle the climate. With an ecobee switch, I now can easily turn the sucker on and off.

Hello @jk12, you usually do not need to reset everything if you have connection issues.

I would try first to re-authenticate with ecobee.

You’d need to re-execute MyEcobeeInit and press on ‘ecobee’ on the 2nd page to re-login (even if it’s said that ecobee is connected). Then, after being authenticated, go on, and press ‘next’ several times till done.

Also, if you have a lot of SocketTimeoutExceptions, I’d try to reduce the polling interval in MyEcobeeInit and ecobeeRemoteSensorInit smartapps.

Also, if you have more than 2 ecobee thermostats at home, I’d recommend to split them into multiple instances of MyEcobeeInit to avoid ST execution time exceptions due to rate limiting, especially if you are exposing multiple ecobee remote sensors to ST using the ecobeeRemoteSensorInit smartapp.

In any case, please open an ST support ticket if you have a lot of connections issues. ST support needs to be aware of all those connection issues, so that ST escalates them to the engineering team (which will eventually fix them).

P.S. As somebody from this thread pointed it out earlier, ecobee has also some server issues at the moment on top of the ST connection issues. However,I believe the server issues should be fixed soon.

And, hopefully, some of the platform updates in the last couple of days may also fix some ST issues!
Regards.

Is anyone else having issue w/remotesensorinit?

When I try to refresh I get a blank screen…no sensors listed…and a crash.

1 Like

Hi @Drewbert34
Just to be sure that you have the latest release, please do the following (the usual procedure):

(4) Active Live logging at https://graph.api.smartthings.com/ide/logs

(5) PM the logs if you have any exceptions/errors for the ecobeeRemoteSensorInit or My Ecobee Device.

Regards.

P.S. First, make sure that your remote sensors are correctly reporting to your physical thermostat or at the ecobee portal. There may be some issues at ecobee too!

You caught me before I could follow up. Apparently I was on the old code…all good now!

Hi there,

FYI, if you have any question or issue about My Ecobee Device and related smartapps,
a new ST community wiki has been created for that purpose.

Please consult the following link about My Ecobee Device:

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

And, you can browse the different smartapps available at

http://thingsthataresmart.wiki/index.php?title=Category:Unpublished_SmartApps

P.S. There is a troubleshooting section under My ecobee Device and some more complex smartapps that can help you solve most of your issues.

Bye for now.

1 Like

Hi @ben, @slagle,

Could you please close this thread as I’ve published some detailed configuration steps (and troubleshooting section) at the ST community wiki:

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

http://thingsthataresmart.wiki/index.php?title=Category:Unpublished_SmartApps

Also, please note of the following new thread:

EDIT: A new look & Feel is coming, please refer to the following thread:

Regards.

3 Likes