Nest Plugin

Questions and comments specific to a particular plugin should go here.
Post Reply
SupahNoob
Posts: 21
Joined: Mon Jun 29, 2015 11:32 pm

Nest Plugin

Post by SupahNoob » Sat Nov 21, 2015 5:02 am

Hello everyone!

I have a Nest thermostat at home and am trying to develop my coding skills, so I figured I would give the thier API a whirl. If you can think of cool things you want out of this plugin, leave a comment below, and I'll add it to the list of things to put in later versions! If you find anything that isn't working quite as you had expected, LET ME KNOW! I'm here to improve this plugin.

If you're new to EventGhost, I've tried to make setup of this plugin as easy as possible for you! Simply download the .ZIP file below, navigate to C:\Program Files\EventGhost\plugins\ or C:\Program Files (x86)\EventGhost\plugins .... and then extract the file to this folder! Simple as that, open up EventGhost and add the plugin. It will be under the "External Equipment" tab as "Nest Thermostat".

////////////////////////////////////////////////////////////////////
IMPORTANT NOTICE:
You will need the pyCurl librabry in order for this to run.

pyCurl: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl
WHL files can be installed on Windows via pip install [filename.whl]

If pip is not installed, this page can help:
http://stackoverflow.com/questions/4750 ... on-windows
////////////////////////////////////////////////////////////////////

Current Version v1.2.0 (11/24/2015):

On your initial setup of this plugin, I will direct you to the Nest webpage so you can authorize my access to your device. This is required for purposes of any third party plugin that wants to modify your information. Much like the "Sign in with Google" features you often see on websites. ** None of your account information is ever seen by me, and I encourage you never to share such information with someone that is not an official Nest employee. **

Features:
- Supports only Nest Thermostat device (so far!)
- Get Stats
- Adjust Temperature
- Adjust Temperature in Heat-Cool mode
== Set temperature to specific degree
== Adjust temperature by 1-5 degrees UP/DOWN
- Adjust AWAY mode to HOME/AWAY
- Adjust HVAC State [Cool, Heat, Heat-Cool]

*All actions above output their JSON response an EG global variable for a manipulation (eg for EG-based UI? OSD? etc)

To do:
- Move away from REST to REST STREAMING and/or Firebase
- Download the most recent version (Low Priority)


Code: Select all

#Change Log --- CURRENT VERSION 1.2.0

#==================\
#1.2.0 - 2015/11/28\
#==================\
# Added:
# - Controls to allow the user to modify the state in which the HVAC is in
#
# Bugfixes:
# - AdjustTemp now works more appropriately
#==================\

#==================\
#1.1.0 - 2015/11/24\
#==================\
# Added:
# - Controls to allow the user to +/- temp if hvac mode == 'heat-cool'
# - Controls to allow the user to put the Nest into AWAY or HOME mode
#
# Bugfixes:
# - Disable TEST/OK/APPLY during invalid ConfigPanel states
# - Fixed EG crashing when trying to edit a CURRENT STATS action
#==================\

#==================\
#1.0.0 - 2015/11/20\
#==================\
# Initial Release!
# Features:
# - Supports Nest Thermostat device
# - Get Stats (w/ output to EG global)
# - Adjust Temperature (w/ output to EG global)
# == Set temperature to specific degree
# == Adjust temperature by 1-5 degrees UP/DOWN
#==================\

Enjoy!

- SN

Nest®, Nest Learning Thermostat®, Nest Leaf Logo®, Airwave®, Auto-Away®, Nest Protect®, Nest Protect: Smoke + Carbon Monoxide®, Nest Cam®, and the Works with Nest logos are trademarks licensed by Nest Labs, Inc.
Attachments
Nest Thermostat.zip
v1.2.0
(174.43 KiB) Downloaded 167 times

modemfish
Posts: 1
Joined: Fri Dec 30, 2016 11:08 am

Re: Nest Plugin

Post by modemfish » Fri Dec 30, 2016 11:13 am

Sorry for the Noob Q?

getting error

Traceback (most recent call last) (0.5.0-beta5):
File "wx\_core.pyc", line 16766, in <lambda>
File "C:\0000\EventGhost\plugins\Nest Thermostat\__init__.py", line 138, in OAuthDialog
c.perform()
error: (60, 'SSL certificate problem: unable to get local issuer certificate')


Any help on this would be appreciated?
Thanks Mike

Post Reply