Ecobee 3 setup

Hello all,

I’m really struggling here. I’ve searched around but I cant seem to solve my problem.

I’m trying to set up my ecobee 3 thermostat. I have made a developer account and made the app on ecobees website in my thermostats portal. I copied the app key from the app and pasted it into my openhab.cfg file. Uncommented it out like i did with other bindings. Made it be a smartWrite.

I copied some of the example .items and .sitemap from the openhab getting started pages.

I am not getting the request for the PIN. Nothing ever shows up in the server logs that says I need to authenicate on ecobees website. I have changed the log file to TRACE and still. nothing. I’m so stuck!

Sorry it’s giving trouble.

  • Do you have the ecobee binding jar in your addons folder?
  • Do you have at least one item bound to a { ecobee="<[<id>#<property>]" }? (The reason being, the binding won’t attempt to request a PIN unless it knows it has something to do, like poll the server.)

I do have the bindings in the addons and I have an item bound as these:

Number Ecobee_Name “Room [%s]” {ecobee="<[mythermostatsnumberwashere#name]"}

Number MainFloorTemp “Main Floor temperature [%.1f °F]” { ecobee="<[mythermostatsnumberwashere#remoteSensors(MainFloor).capability(temperature).value]" }

That should be a String item, not a Number item, but I’m not sure that is the cause of the issue. Could you change it and see if it makes a difference?

It is changed. waiting for the refresh

but for what its worth it didnt display the next item either so Im not sure if that was it.

Are you sure you have a sensor named MainFloor, spelled exactly that way? The thermostat itself’s name is also listed by the API as a sensor, so you could use that as well.

Yes that is exactly how it is spelt. That is the thermostat MainFloor

In the logs this is the only relevant thing:

2016-05-07 06:26:40.756 [INFO ] [c.internal.ModelRepositoryImpl] - Refreshing model '*****.items’
2016-05-07 06:26:40.778 [TRACE] [i.EcobeeGenericBindingProvider] - validateItemType called with bindingConfig=<[#name]
2016-05-07 06:26:40.780 [TRACE] [i.EcobeeGenericBindingProvider] - validateItemType called with property=name
2016-05-07 06:26:40.782 [DEBUG] [i.EcobeeGenericBindingProvider] - Processing binding configuration: '<[
#name]‘
2016-05-07 06:26:40.786 [TRACE] [i.EcobeeGenericBindingProvider] - validateItemType called with bindingConfig=<#remoteSensors(MainFloor).capability(temperature).value]
2016-05-07 06:26:40.792 [TRACE] [i.EcobeeGenericBindingProvider] - validateItemType called with property=remoteSensors(MainFloor).capability(temperature).value
2016-05-07 06:26:40.798 [DEBUG] [i.EcobeeGenericBindingProvider] - Processing binding configuration: '<[
#remoteSensors(MainFloor).capability(temperature).value]’

Could you show the ecobee lines from your active openhab.cfg file, masking out the the appkey?

################################ Ecobee Binding #######################################
#
# the private API key issued be Ecobee to use the API (required, replace with your own)
 ecobee:appkey=4************************u

# the application scope used when authorizing the binding
# choices are smartWrite,smartRead, or ems, or multiple (required, comma-separated, no spaces)
 ecobee:scope=smartWrite

# Rate at which to check if poll is to run, in ms (optional, defaults to 5000)
# ecobee:granularity=5000

# Data refresh interval in ms (optional, defaults to 180000)
# ecobee:refresh=180000

# Time in ms to wait after successful update, command or action before refresh (optional, defaults to 6000)
# ecobee:quickpoll=6000

# Time in ms to allow an API request to complete (optional, defaults to 20000)
# ecobee:timeout=20000

# the temperature scale to use when sending or receiving temperatures
# optional, defaults to Fahrenheit (F)
# ecobee:tempscale=

I believe that config lines must not lead with any blank spaces.

Didnt even notice there were. That did it!

Thanks a billion. Now to get the 5 hours of my life back lol!

1 Like

Just submitted a PR to remove the spaces from the example. Sorry about that!

Sounds good… Thanks again for the help!