Skip to content

killgja/nest-manager

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nest Manager (Unofficial)

#####IMPORTANT: Nest Automations has been merged into Nest Manager in a way that they are still 2 seperate apps but under one code base. As such it will require you to remove your existing automations before upgrading.

Nest Manager App

This is the "unofficial" SmartThings user created SmartApp and Device handlers. The SmartApp and Device Handlers work together to provide integration to the SmartThings ecosystem using Nest's Official API.

Nest Automations App

This is a Child-SmartApp that allows you to creat different types of automations for your HVAC systems.

The Devices Types

Author

  • @tonesto7

Contributors

  • @desertblade
  • @E_sch

Testers

  • @scpickle

Version Info

SmartApp: Version:
Nest Manager v2.5.4
Device: Version:
Nest Presence Device v2.5.0
Nest Protect Device v2.5.2
Nest Thermostat Device v2.5.1
Nest Weather Device v2.5.0

What's New

Manager App:

  • NEW: Merged Manager and Automations into one codebase but it is still two apps... Thanks @ady624
  • NEW: Thermostat ST Mode TempSetpoint Automation to select your thermostats and each mode to use for that thermostat and then choose the heat/cool setpoints for each mode. This is completely dynamic and will allow different setpoints for each thermostat selected.
  • NEW: Remote Sensors now allows selection of switches to run along with the thermostat to help with comfort. This support includes automation detection of devices that support 3-speeds, and allows setting speed based on individual threshold temps.
  • ADDED: Ability to Disable each automations individually.
  • ADDED: You can now receive Local Weather Alerts push notifications when the Nest Weather device is installed.
  • UPDATED: There is new install setup now that flows much better and allows display of the important available options better to users.
  • UPDATED: Device data updates have been modified to be much more efficient. All necessary data is sent at once eliminating the need for the devices to call back to the manager app constantly.
  • NEW: Analytics have been added to the app to share very basic generic installation data, it will also send generic exception error data. So I can see trends among versions etc. This data is completely transparent to you and can be disabled at any time. I do not collect and identifiable data only the basics. We will also be putting up a dashboard for users who are nerdy just to see the data mapped out.
  • FIXED: Remote Sensor's Fan circulation should now work like it was intended.
  • FIXED: Nest Log Out function to actually take you back to auth screen after clearing token.
  • ADDED: You can now use Day, Time, Mode filters in most Nest Automations.
  • ADDED: View all Apps/Devices state data under diagnostics.
  • ADDED: Voice Notifications using Speech or MusicPlayer devices to Contact Automations Events work correctly with contact automation.
  • ADDED: App now supports Broadcast message from developer.
  • NEW: When updates are available there is a link in the smartapp that takes you directly to the IDE in your mobile browser.
  • UPDATED: Tapping on the Nest Manager version app top of page will now take you a Changelog page which displays those changes.
  • UPDATED: Lot's of tweaks and fixes for annoying UI bugs and to many subtle changes to list.

Weather Device:

  • Updated @desertblade remodeled the design to allow for modal popups for weather alerts, and forecast data.

Links

Things to Know

  • This is still technically in still in post-BETA so you may experience issues!!!

  • This app DOES NOT support Nest Cams currently mainly because I don't have any to test

  • Each install of this SmartApp will only support One location/structure and the Thermostats and Protects within

  • This version uses a new token which when we are ready to support it will allow access to Nest cams without needing to completely re-install everything.

  • The token used with this application is using my 'Works for Nest' distribution appId and secret. It's an older one which allows 1000 individual user logins before I will need to certify with Nest. I do not have the ability to see any of your data or who is even using the token

  • Devices that use html tile will not refresh with going out of the device and back in again.

  • There were a ton of changes to the core code so we can't guarantee there won't issue updating the code directly. Once you update it is important that you open the smart app and press done to clean up old variables and switch to the new Cron scheduler. If you have any issues after that I suggest you remove the old devices from any apps or routines they are under. Then remove the nest manager smartapp and start over.

Advantages

  • Able to add/remove multiples devices from a single SmartApp
  • No need to many enter device serial number and login info in preferences
  • Nest Login info is not stored by the application
  • No need to use 3rd Party Polling apps for device updates
  • One single API call for all Nest devices
  • Since there is only a single poll for all devices, updates are more often
  • The devices look great 😄

3rd-Party SmartApp Compatibility (Confirmed)

SmartApp Author
Keenect @Mike_Maxwell
SmartTiles @625alex
CoRE @ady624
Ask Alexa @MichaelS
Rule Machine (No Longer Available) @bravenel

New Installations

Thanks @MichaelS for letting me borrow from your Ask Alexa Install Instructions...

Method 1: Using Git Integration (Recommended)

Enabling the GitHub Integration in your IDE is by far the easiest way to install and get the latest updates for Nest Manager App, Presence, Protect, Thermostat, and Weather devices.

If you don't already have Git Integration setup please visit GitHub Integration Instructions

Git Integration is not currently available outside of US

For advanced users who have their SmartThings IDE integrated with GitHub, the installation and maintaining of code becomes very simple. This manual will not go into detail about setting up your IDE with GitHub; those instructions can be found on the SmartThings web site [[http://docs.smartthings.com/en/latest/tools-and-ide/github-integration.html?highlight=git]]

The Manager App

  • First, find the Settings button at the top of your SmartThings IDE page (this will only appear after you integrate with GitHub)

  • Clicking this button will open the GitHub Repository Integration page. To find the Nest Manager SmartApp code, enter the information as you see it below:

Owner: tonesto7

Name: nest-manager

  • Close the GitHub Repository Integration page

  • Next, click the Update from Repo button at the upper-right corner of the IDE

  • On the right-hand column, scroll down to click the apps you want to install. This will typically be:

    **SmartApp**: smartapps/tonesto7/nest-manager.src/nest-manager.groovy

  • Check the Publish box and Click the Execute Update in the bottom-right corner of the screen. When done syncing, the new apps should now appear in your IDE. If they ever change color, that indicates a new version is available.

REMINDER!!!: Remember to Enable OAuth under the Nest Manager's App Settings (Instructions Below)

The Presence, Protect, Thermostat and Weather Device Handlers

  • Go to "My Device Handlers" in the IDE
  • Under My Device Handlers Click on Update from Repo and select nest-manager from the drop-down
  • Check the box next to nest-presence, nest-protect, nest-thermostat, and nest-weather then check the Publish box and click Execute Update

That's it your Done in the IDE... Just install "Nest Manager" from the Marketplace > MyApps under the mobile app.

When updates are available to the source code you will see the Link color change from black in the IDE.


Method 2: The Manual Way

Nest Manager Code Installation

The code for the SmartThings SmartApp is found on the GitHub site:

Nest Manager Source: https://github.com/tonesto7/nest-manager/blob/master/smartapps/tonesto7/nest-manager.src/nest-manager.groovy

While on the GitHub site, find the Raw button and click it. This will bring up a non-formatted page with just the code present. Select all of the code (typically CTRL+A) and copy It (typically CTRL+C).

  • Once you are logged in, find the My SmartApps link on the top of the page. Clicking My SmartApps will allow you to produce a new SmartApp.

  • Find the button on this page labeled +New SmartApp and click it.

  • Since you already have the code in your computer’s clipboard, find the tab along the top section called From Code. In the area provided, paste (typically CTRL+V) the code you copied from GitHub. Click Create in the bottom left corner of the page.

  • This will bring up another page, with the code now formatted within the IDE. If the code was copied correctly, there are no other steps except to save and publish the code. In the upper right corner of the page, find and click Save. Now, click Publish (For Me), and you should receive a confirmation that the code has been published successfully.

REMINDER!!!: Remember to Enable OAuth under the Nest Manager's App Settings (Instructions Below)


The Presence, Protect, and Thermostat Device Handlers

Thermostat Source Code: https://github.com/tonesto7/nest-manager/blob/master/devicetypes/tonesto7/nest-thermostat.src/nest-thermostat.groovy

Protect Source Code: https://github.com/tonesto7/nest-manager/blob/master/devicetypes/tonesto7/nest-protect.src/nest-protect.groovy

Presence Source Code: https://github.com/tonesto7/nest-manager/blob/master/devicetypes/tonesto7/nest-presence.src/nest-presence.groovy

Weather Source Code: https://github.com/tonesto7/nest-manager/blob/master/devicetypes/tonesto7/nest-weather.src/nest-weather.groovy

Repeat these steps below in the same manner you did for the manager app under My Device Handlers for each device above:

  • Go to "My Device Handlers"
  • Create "New Device Handler"
  • Choose "From Code"
  • Copy Source code for Device and click Create
  • Remember to click "Publish" and "For me"

###Enabling OAuth Nest Manager requires OAuth to operate correctly.

To enable OAuth, first find and click the App Settings button in the upper right corner of the page.

From here, find the OAuth section toward the bottom of the page.

Clicking the OAuth link will reveal a button labeled Enable OAuth in Smart App. Click this button. The screen will change, giving you a unique code for your Client ID and Client Secret. These are the foundations of the security of your app and should be kept secret. You do not need to memorize or write down these codes; nor do you need to add any other information to this page.

The final step is to press the Update button at the bottom left corner of the screen, or go back to your code by using the button in the upper-right region of the page, then Save, then Publish the SmartApp again.


Applying Updates

Performing updates using Git Integration is the fastest method of updating. Just follow the same methods as the install by clicking on update from repo.

If you don't have Git Integration you will just need to copy/paste the code from the source links above over each app/device and press Save the Publish for me.


Setting up Nest Manager App

  • In the SmartThings Mobile App
  • Go to "Marketplace" and select "SmartApps"
  • At the bottom of the list, select "My Apps"
  • Select "Nest Manager" from the list.
  • Enter you Nest Login credentials when prompted.
  • Choose Structure
  • Choose Thermostats
  • Choose Protects
  • Choose Add Presence Device (Optional)
  • Choose Add Weather Device (Optional)
  • Modify any preferences you would like (Optional)
  • Tap on "Done"

Issues and Troubleshooting

Issues

If you are experiencing any issues, please let us know by heading over to projects issues page on GitHub. If you don't see the issue reported please help open an new one and provide as much detail as you can.

Project Issues Link

In an effort to make it easier for some of you troubleshoot without having to use the IDE constantly. I have added in a diagnostic option under the preference section of the SmartApp.
Once this is enabled it will begin to store non-user identifiable error logs from the app and store in a local state variable of the app.
This feature will help you to view and export the logs (also see the tip below) directly from the Smart App. This also allows you to copy & paste them into the issues form on GitHub.

Tip: If you enable diagnostic logs in the app you can share the logs from with in the app you can store the direct link to log JSON file on you computer and browse directly to the log everytime you need to review the errors.


Troubleshooting

Tip: The most common issue is forgetting to enable oAuth for the app under SmartThings

Please check the Help Page before posting questions in the community forum. Nest Manager Help Page


Feature Requests

  • We love new ideas so please head on over to GitHub and open an issue for the feature you would like to see. This will help prioritize what is important and what is not.

  • There is a Google Form that will allow you to vote for the newest features.

    Voting Form

    Feedback Form


Donations

  • While donations are very much appreciated they are not expected or required. If you feel the need to do so 😄 here is the donation link

Nest API Documentation

Nest Developer Documents

To view the json returned from the API just get your authToken from the SmartApp state data and add it to this Url

https://developer-api.nest.com/devices?auth=__yourAuthTokenHere__

About

SmartThings Nest Manager (Unofficial)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Groovy 77.7%
  • HTML 22.3%