Next Developer Call will be on 04/08/2015 - Guest : Jeff Hagins

Hello @April,

I have another question for Jeff Hagins about the hybrid cloud/hub architecture that will be put in place for Hub V2:

  • It was said that all devices except those with cloud-to-cloud integration will run locally in hub V2.

But, what about the Nest or Ecobee thermostats (or any other wi-fi thermostats) that also require local processing to be more responsive and reliable? Any thermostat should be able to run locally as much as possible to avoid unnecessary delays/errors in processing commands.

The way I coded my custom Ecobee device would allow some local processing: I decoupled the
service manager (smartapp) as much as possible from the device type (or device controller). Actually, the child devices (device controller) only use the parent (service manager) to refresh their tokens when they expire once the child devices are instantiated.

So, in theory, the child devices that I coded should be able to run in the hub V2 as much as possible and eventually use the cloud only as a proxy for processing their requests.

That way, the hybrid architecture would be best used and we’ll get better availability, responsiveness, robustness and reliability even for cloud-to-cloud integrated devices.

See my code at github as reference:

https://github.com/yracine/device-type.myecobee/blob/master/ecobee.devicetype.groovy

P.S. That’s why I was asking for non-functional capabilities in some threads such as:

Regards,

1 Like