This new alternative leverages the standard ST UI (for faster rendering on both Android & iOS) & all ST standard capabilities plus new features from the Nest APIs for better synergy between the 2 ecosystems (ex. setETA for geofencing and comfort & energy saving tips with the NestGetTips smartapp and voice commands).
With my code, there is no need to create a Nest Developer account and set up different permissions as Nest has authorized MyNextManager app for many users. This simplifies the Nest Setup process a lot for the end users and avoid subsequent errors/exceptions in operations.
The code has been designed to work with an ecosystem of smartapps acting as “micro services”. The design is NOT a big monolytic application which limits its evolutivity and maintenance.
A contribution fee is required due to the amount of work for the design, development, and testing of the devices (equivalent of a few cups of coffee).
To download the SmartThings code, go to www.ecomatiqhomes.com/store
Some complimentary smartapps are also available at my github for the most common use cases:
Here are some common use cases covered by the complimentary smartapps:
1) Setting your thermostat to Away or Home based on ST hello modes
See the NestChangeMode smartapp.
2) Controlling your smart vents based on your indoor temp/motion sensors in conjunction with your thermostat’s programs & setpoints
Or See the more advanced (paid ) ScheduleTstatZones and ScheduleRoomTempControl smartapp
3) Turning off or setting your thermostat(s) to Away/eco when Window or Door contacts are open and restoring your thermostat mode when they are closed
See the WindowOrDoorOpen! smartapp.
4) Trigger to turn on/off or flash some switch(es) and/or execute hello phrases (routines) based on the thermostatOperatingState
See the TstatStateTriggerHA smartapp.
5) Sending your Tstat’s state changes to groveStreams for data analytics
See the groveStreams smartapp
The code has been optimized to allow you to poll your Nest devices with high refresh rates (every minute if needed) for your HA scenarios in order to avoid missing any important event!
MyNextCam (Nest Cam)
List of events (with a refresh rate of 1 minute):
My Next devices (MyNextTstat, MyNextAlarm, and MyNextCam) allow you to expose your Nest Learning Thermostat™ , Nest Protect™, and Nest Cam™ to ST with the following features:
- High performance throughput which enables the Next devices to be polled with different intervals down to the minute (also depending on your use cases and the number of devices).
I’ve tested the code at several user locations with up to 7 devices in order to achieve the best performances using advanced caching mechanism and distributed computing techniques (ex. child devices are not dependent on the parent, they are totally autonomous, so there is less bottleneck).
- Their unique design is based on a minimum number of state & atomicState variables for more resilience. See the effect of state variables here:
- Just like for MyEcobee device, the code can “replay” failed commands up to 10 times over a period of an hour in case of SmartThings/Nest (temporary) outages, or some Nest Throttling (which can happen as the Nest APIs have 1 call per minute and 10 PUTs per hour limitations, especially if you have many Nest devices).
To download the SmartThings code, go to www.ecomatiqhomes.com/store
I’ve developed more than 8k lines of code for integrating the Nest devices into ST.
The code exposes all the relevant Nest API capabilities (including your home structure in order to set your devices to home or away ):
- MyNextTstat: based on the work I’ve done with MyEcobee device, I’ve created this new device for the Nest thermostat. You’ll find the same level of resilience with some comfort & energy saving tips for the Nest…
- MyNextAlarm: exposes your Nest Protect’s attributes for Home Automation and integration with SHM
- MyNextCam: The code was based upon some existing open-source code with the standard ST UI and some add-ons (ex. zones, daily and weekly voice reports with Ask Alexa).
All screenshots here:
_Service Manager (with Ask Alexa Integration for verbal notifications of Daily/Weekly Summary Reports)
My Next devices use the latest async http requests for polling to avoid timeouts as much as possible. They were also designed with some code optimization that allow caching of structures data for better performances.
All My Next Devices’ capabilities & attributes are exposed for easier integration with Rule Engines (SmartRules, Core or others)
- The code unlocks all Nest’s APIs features.
- The code has been designed to work with my ecosystem of Zoned Heating/Cooling smartapps.
- My NextTstat is also able to give you “energy savings and comfort tips” based on actual indoor/outdoor conditions at your home.
You can also use the AskAlexa Integration as indicated here for verbal “play/repeat tips” commands:
The following indoor/outdoor metrics will be processed by My NextTstat’s heuristic rule engine to provide “comfort and energy saving tips”:
- current Indoor Humidity
- current Indoor Temperature
- current OutdoorTemperature
- Ideal target Indoor Humidity calculated based on outdoor temp
- average of Indoor Temperature over a given period of time (ex.weekly)
- average outdoor temperature in the period
- standard deviation of Indoor Temperature in the period
- standard deviation of Outdoor Temperature in the period
- count of Hold commands sent to thermostat
- If you have the Ask Alexa smartapp (developed by MichaelS), installed under SmartThings, I’ve also integrated some voice reports in the Service Manager (last page) that give you a summary of all events related to MyNext devices for the past day/week (optional)
For example, for MyNextTstat device, you’ll get the following summary voice report:
At your home, your Home structure is currently in away mode, and your Nest thermostat is in cool mode.In the past day,in the room Hallway where the thermostat MyTstat Hallway (My Nest) is located, there were 2 hold(s) observed, and 1 schedule change(s),your Nest thermostat’s setpoint was 22.0 degrees in average.The Nest’s minimum setpoint was 18.3 degrees on 2018-01-11 07:40,and the Nest’s maximum setpoint was 24.5 degrees on 2018-01-11 07:42
For MyNextAlarm, here is another summary voice report:
At your home, your Home structure is currently in away mode.In the past 7 days,in the room Downstairs where the Nest Protect MyAlarm Downstairs (6EC0) is located,there were 1 event(s) triggered by the Nest Protect, which include the following,1 battery event(s).The current battery state is ok
For MyNextCam, here is a summary voice report:
At your home, your Home structure is currently in away mode.In the past 7 days,in the room Living room where the Nest Cam Living is located,there were 10 total event(s), which include the following, 5 person events,5 motion events, and 1 sound event(s).The earliest event was recorded on 2018-01-01 05:01 and the latest on 2018-01-11 07:42. During the last event, motion was detected, and a person was detected, and sound as well.
- As a reminder, I have also built many smartapps to control any room thermostats (ex. eTRVs, minisplits, window units) and ST connected smart vents (Flair, Keen Home, EcoNet, etc.) with many smart features such as:
_ creation of virtual zone devices with delta temp (+/-) adjustment per zoned rooms activated by schedule _ avg/median/min/max temp calculations for your thermostat's setpoints adjustment based on all your ST connected sensors (similar to the ecobee's follow me feature) _ alternative cooling also activated by schedule _ control of your vents based on any ST temp/motion/contact/presence sensors _ built-in safeguards amongst others, the HVAC static pressure check based on some pressure differential _ ability to set your thermostat to Away or Present based on all your ST motion sensors (similar to ecobee's smart away feature)
Here are the names of the relevant zoned heating/cooling smartapps: (smart vents are optional)
For the Nest thermostat and slave z-wave or zigbee thermostats,
_This last smartapp has less features but can control the vents based on rooms’ temp thresholds.
For more details, refer to
** Special thanks to Darrell C. and Cliff S. for their support during the beta testing.