NEST Home is an Indigo Pro 6.1 plug-in that is designed to support the management of multiple NEST Thermostats and NEST Protects in a single location. I like my NESTs and they’re really good at what they do but I just feel that I could achieve even more if I could link them to my Home Automation Server.
Although the plug-in is clearly defined for Indigo, and uses its’ innate functionality, I believe that the code could be easily ‘transported’ to another environment. The strategies for talking to the NEST API, reading & controlling NESTs and mapping configurations is generic and can be used for other systems. Happy to support someone who wants to try.
Features
This plug-in provides the following features out of the box (not that it comes in box obviously):
- Identification, setup & management of multiple NEST Thermostats and Protects in a single location
Automatic generation of a NEST API key unique to your system from the configuration dialog
Works with both Generation 1 and Generation 2 devices
Real-time automated mapping of a NEST infrastructure and the ability to display or print it
Automatic creation & deletion of NEST devices in Indigo without the need for configuration
Direct access to the NEST API for personal devices through an Outh2.0 key on secure https
Ability to read all NEST Fields on both thermostats and protects (See the API here https://developer.nest.com/documentation/api-reference for more information)
Know exactly what your system is doing with real time access to System State
Ability to update all Target Temperature fields using either Centigrade or Fahrenheit scales
Control Heating, Cooling and Hybrid Heat/Cool systems automatically
Set heat points, cool points or both for individual or groups of devices
Incorporate NEST fields as triggers for other devices (e.g. turn off heating if window open,
sound alarm or email if protect identifies a smoke or CO emergency))
Manage independent fan systems if attached
Manage AWAY status to tell NEST your Home or Away or trigger Indigo actions if
the NEST reports away (e.g. switch off lights, set alarm, etc.)
Monitor all fields directly in your Home Automation setup
Gain access to the alarms & colour ring on the Nest Protect to help identify alarms or level of
emergency to allow other home automation triggers (switch off heating, start fan, etc...)
View current status of each device with colour-coded state icons (e.g. heating, cooling, warning, emergency, etc...)
Gain access to specific states not available in the official API including if the system is heating, cooling, saving energy or off
Gain access to other custom states that aren't in the API such as Days since last test, Days since last Warning or Emergency and Last Type of Warning or Emergency are available for the Protect device. Useful in triggers and control pages
Access virtual Google Nest Developer Site tools to test and trial ideas
Manage multiple locations using NEST Home 2 in parallel with NEST Home
Manage multiple clients with the same “Works with NEST” profile
Requirements
This plug-in requires some things to make it work properly. In addition to some NEST devices you'll need:
- Indigo 6.1 Pro (or above)
Python 2.6 or greater (not tested on Python 3.x)
Some NEST devices (or use of a NEST Developer trial set up)
home.nest.com account configured with your devices
Restrictions or known issues
There are a few restrictions at the moment. I'm hoping with the support of the rest of the community you'll help me solve them in further releases:
- Must be run from within Indigo 6.1 Pro as a plug-in and use Python 2.6 or greater
Limited to updates every 60 seconds or greater (NEST limitation)
Actions on temperatures use ‘degrees’ as the action value. However, it is not possible for
Indigo to specify units (i.e. you must use the right units according to the scale setting on the
particular device you’re using) which seems to be an Indigo constraint
Limited to 10 devices in one location (mix of Thermostats or Protects in any combination) a NEST constraint
Chameleon