Ecobee 3 Remote Sensors into ST

Sure… As soon as we can safely turn on AC here. I am using it for AC only. They are not compatible with heating in my house else I would have gone for them. They require atleast 4 wires. My heating is 2 wires only.

I will have an Ecobee3 and 3 remote sensors setup by tomorrow evening, perhaps I could test your code too @yvesracine ?

@a2thejay23, sure, no problem… Ecobee will release the new API only in April…Just to let you know.

BTW this is what I received from Ecobee to run Ecobee3 with two wired systems

Hello @Jason_Cummings,

FYI, Zigbee Vents (Keen Home): pre-order now with 10% savings for your multi-zoned heating/cooling solution

Hello @Manofice, for your use case, as soon as the ecobee3’s remote sensor data is available, you
can use My custom Ecobee Device and the following smartapp to do as you please (and more), see this thread:

Regards.

Ron, enjoy the Bee! I love mine, I started mine on March 1, so I will know soon what my gas bill is from last year for March. I know I’m saving a bunch of money from how I use it and see in homeIQ. If you have any questions, let me know

@a2thejay23 @jody.albritton and others,

It was not officially announced, but I guess the ecobee APIs for the remote3 sensors data have been
released in production.

See the release notes here:

https://www.ecobee.com/home/developer/api/documentation/v1/change-log.shtml

I have some beta code that you can test (as I don’t own an ecobee3 thermostat myself, I have a STAT-02).

To test it, grab the following code:

  1. You’d need to update the My ecobee device, save& publish in the IDE
  2. Create a new smartapp called ecobee3RemoteSensorInit, grab the code from github above,save&publish.
  3. Prior to calling ecobee3RemoteSensorInit, you need to create 2 additional generic device types in your IDE:
  • Motion Sensor

  • Temperature Sensor

Those are 2 devices types from SmartThings. In order to do so,

a) Go to https://graph.api.smartthings.com/ide/devices

b) Click on new SmartDevice on the right
c) On the new SmartDevice page, click on the “From Template” tab
d) Scroll down to Temperature Sensor
e) Click “create” at the bottom of the page
f) Click Save and publish on the next page
g) Do the same for Motion Sensor
h) Click “create” at the bottom of the page
i) Click save and publish

  1. Kill your smartThings app, clean the cache and reload the app (as the old device is cached, especially
    if you have android V1.17)
  2. Under My apps, execute ecobee3RemoteSensorInit the same way as the My Ecobee Init (service Manager).
    It will ask you to select the remote temp sensors and motion sensors to expose to SmartThings.

After execution, you should be able to see the new Sensor objects under

https://graph.api.smartthings.com/device/list

Let me know how it goes.
Regards.

1 Like
9:48:03 PM: error java.lang.IllegalArgumentException: Command 'generateRemoteSensorEvents' is not supported. Supported commands: [poll, refresh, setHeatingSetpoint, setCoolingSetpoint, off, heat, emergencyHeat, cool, setThermostatMode, fanOn, fanAuto, fanCirculate, setThermostatFanMode, auto, setFanMinOnTime, setCondensationAvoid, createVacation, deleteVacation, getEcobeePinAndAuth, getThermostatInfo, getThermostatSummary, iterateCreateVacation, iterateDeleteVacation, iterateResumeProgram, iterateSetHold, resumeProgram, resumeThisTstat, setAuthTokens, setHold, setHoldExtraParams, heatLevelUp, heatLevelDown, coolLevelUp, coolLevelDown, auxHeatOnly, setThermostatFanMode, dehumidifierOff, dehumidifierOn, humidifierOff, humidifierAuto, setHumidifierLevel, setDehumidifierLevel, updateGroup, getGroups, iterateUpdateGroup, createGroup, deleteGroup, updateClimate, iterateUpdateClimate, createClimate, deleteClimate, setClimate, iterateSetClimate, controlPlug, ventilatorOn, ventilatorAuto, ventilatorOff, setVentilatorMinOnTime, awake, away, present, home, sleep, quickSave, setThisTstatClimate, setThermostatSettings, iterateSetThermostatSettings, getEquipmentStatus, refreshChildTokens, autoAway, followMeComfort, getReportData, generateReportRuntimeEvents, getThermostatRevision, humidifierManual, generateSensorStatsEvents] @ line 70

@jodyalbritton, that means that the old device is still cached somewhere as it does not
support the new command (generateRemoteSensorEvents).

Could you try to kill you SmartThings app, clean the cache, and restart it again?

It happened to me as well…And, by cleaning the cache, it was OK after.

Let me know.

Thnx.

Ok. I cleaned the cache and I no longer see that error but when I launch the discovery for sensors I am getting this error now. Should I be using the beta ecobeeinit as well?

Under ecobee3RemoteSensorsInit in the logs

 9:58:38 PM: error groovy.json.JsonException: A JSON payload should start with an openning curly brace '{' or an openning square bracket '['.
Instead, 'null' was found on line: 1, column: 1 @ line 72

@jodyalbritton, no, you do not need to use the MyEcobeeInit.

It looks like the release notes have been published, but the APIs are not ready yet (as the json payload
is empty)…

I guess we’ll have to wait for the official announcement.

Sorry about that.

P.S. To be sure, just go under https://graph.api.smartthings.com/device/list, click on your My Ecobee device, and check the value of remoteSensorData, if empty, then it means that the APIs are not ready.

It is empty. So now we wait for them to publish the api.

Hello @jodyalbritton,

After checking their website, it looks like the official APIs have been released…

http://developer.ecobee.com/api/topics/ecobee-march-2015-update-is-live

This means that there is something in my code that needs to be corrected.

Whenever you have a chance, I’d need your input to see what’s going on.

To get all the tracing I need to correct the issue, please do the following

  1. Grab the latest code for My Ecobee device (as I made some changes since the last run)
  2. Go to https://graph.api.smartthings.com/device/list,
  3. Click on My Ecobee device,
  4. Edit the preferences (middle of the page)
  5. Set verboseTrace to true (as long as there is a value)
  6. Click Save at the bottom of the page
  7. Go to https://graph.api.smartthings.com/ide/logs
  8. Run ecobee3RemoteSensorInit on your smartphone/tablet
  9. Watch for any errors in the logs for My Ecobee Device and ecobee3RemoteSensorInit
    Send me the logs of any area of concerns.

Thnx again!

Ok. Got this one error:

8:58:50 AM: error java.lang.NullPointerException: Cannot invoke method leftShift() on null object @ line 2726

This was in the thermostat device type log

Wow, you were too fast for me… I just checked in some code that hopefully should correct this issue…

Could you retry after updating the My Ecobee device code in the IDE?

Sorry, and thnx again!

I think we are getting closer

 9:13:50 AM: error groovy.lang.MissingPropertyException: No such property: REMOTE_SENSOR_TYPE for class: script1427724790149256799237 @ line 2666

@jodyalbritton, sorry about that… I didn’t have my coffee this morning…

Made the change to correct this issue…

Let me know when you can try again with the latest device code at github.

I think that we’re really getting closer now…

Ok. I can see the sensors now, but I get to the last page where I assign a name and set notifications, etc. I am getting “unexpected error occurred” when trying to save. This is in the log

 error physicalgraph.app.exception.UnknownDeviceTypeException: Device type 'Motion Detector' in namespace 'smartthings' not found. @ line 173

And if I don’t select any motion detectors and only select temps

 9:26:24 AM: error physicalgraph.app.exception.UnknownDeviceTypeException: Device type 'Temperature Sensor' in namespace 'smartthings' not found. @ line 198

Sorry, I need to modify my instructions…

Prior to calling ecobee3RemoteSensorInit, you need to create 2 additional generic device types in your IDE:

a) Motion Sensor

b) Temperature Sensor

Those are 2 devices types from SmartThings. In order to do so,

  1. Go to https://graph.api.smartthings.com/ide/devices

  2. Click on new SmartDevice on the right

  3. On the new SmartDevice page, click on the “From Template” tab

  4. Scroll down to Temperature Sensor

  5. Click “create” at the bottom of the page

  6. Click Save and publish on the next page

  7. Do the same for Motion Sensor

  8. Click “create” at the bottom of the page

  9. Click save and publish

Now, run ecobee3RemoteSensorInit and it should work fine.

Let me know.