abuttino Posted January 17, 2014 Posted January 17, 2014 ************************** Weather data: Temperature, Weather Conditions (number coded, read below), heat index, length of day and, request data from ISY. With each of the items listed above, you will need to add a variable to your ISY Variable table if you don't currently have them. Then follow the instructions below. All major weather conditions are coded in numbers: Clear = 0 Partly Cloudy = 1 Mostly Cloudy = 2 Drizzle = 3 Rain = 4 Snow = 5 Thunderstorms = 6 If you want to turn a light on several minutes before sunset if the weather is "dark" you could set a program like this: if: WeatherCondition > 2 AND It's 2 hours and 30 minutes before sunset Then: Turn L/R Lamp to 40% All the rest of the weather objects are pretty self-explanatory, feel free to use these in any programs you'd like. My new favorite program is: If $Ambient_Temp is not 0 And $AtHome is not 0 And $Sleeping is 0 And From Sunrise To Sunset (same day) And ( $Outdoor_Temp > 89 Or $Heat_Index > 99 ) Then $Temp_Difference = 0 $Temp_Difference -= $Set.Temp $Temp_Difference += $Ambient_Temp Also, the program to read the temperature difference: If $Temp_Difference > 1 Then $Set.Temp += 1 $Temp_Difference = 0 *************************** The new and old news...... Currently, there is no official API with the Nest Thermostat. However, that hasn't been inhibiting development on other platforms. Yesterday, I finalized some macros to use with EventGhost and a specialized ISY plugin that I modified to allow control of your Nest Thermostat. This plugin watches the ISY's events and, the macros I wrote translate these into ways to control your Nest thermostat. Any experienced person with Python knowledge could easily alter this script to watch for other variable changes but I'm not going to go into that. So, here we go! To start with, download EventGhost from http://eventghost.org. Next download the "NestISYv80" zip file from http://www.tinozplace.com/Nestv80.zip, then extract it a new folder.
bshaf Posted January 25, 2014 Posted January 25, 2014 Very cool!! Can you set the Home/Away variable? If so how?
abuttino Posted January 25, 2014 Author Posted January 25, 2014 Home/Away is definitely doable... The scripts are attached to this post.. In the "Read ISY Event" Python Script, you need to change "if VarNum == "1":" to the variable number that you have for your home/away status In the "Set Away Status to Nest" Python Script, you'll need to change: if awaystatus == "0": eg.plugins.Nest.set_away(1) You need to change the awaystatus == "0": to your value when you are away from home And here: if awaystatus == "1": eg.plugins.Nest.set_away(0) You need to change the awaystatus == "1": to your value when you are at home Done! ------------------------- I had a feeling that someone would ask for this, and it was easy in comparison to the things you can actually do with that Nest Plugin. I hope you enjoy it.
bshaf Posted January 25, 2014 Posted January 25, 2014 Thanks for the updated script. For some reason I still can get it to toggle between home/away. Does the variable have to be a 'state' or an 'integer'? Currently I have it as a state with the variable ID of 8. I updated "if VarNum == "8":" as directed. When I toggle the variable between 0 and 1 nothing happens to the state of the Nest (and yes in-between toggles I wait a minimum of 5 mins). Looking at the log it appears everything is communicating ok. I'm getting a constant stream of Insteon.command and Insteon.heartbeat from the ISY, and I get the "Login to Nest Successful" entry. Also when I change the variable I get "Insteon.Command 'VAR 2 8:1'" or "Insteon.Command 'VAR 2 8:0'" depending if its a 1 or 0. In the Nest plugin settings I have the 'device' set to 0 by default. Do I need to set it to something else? I only have 1 Nest. Any help would be much appreciated... I feel like I'm getting close!
abuttino Posted January 25, 2014 Author Posted January 25, 2014 You have the prefix set wrong on the ISYPlugin... Open that plugin up and at the bottom, you'll see "Insteon" for the prefix, change it to ISYEvent After that, you are good to go
bshaf Posted January 25, 2014 Posted January 25, 2014 Yep that did it. Thanks... this is pretty cool.
abuttino Posted January 25, 2014 Author Posted January 25, 2014 Take a look at all the things the Nest plugin can do.. If you want a quick python script: Change object 38 to your desired object (obtained from the nest plugin) testvar = str(eg.plugins.Nest.get_object(38)) print testvar that will print (on the log) any of the values.. If you try to execute them on their own you don't get a returned value
abuttino Posted January 26, 2014 Author Posted January 26, 2014 Also, you may want to check out my blog at http://wordpress.tinozplace.com .. It has a lot of other neat things I have done with my thermostat that will make the average Nest owner drool. Here is a video.. http://wordpress.tinozplace.com/2013/08 ... in-action/ My nest widget is now for sale in the Play Store: https://play.google.com/store/apps/deta ... nestwidget
abuttino Posted March 8, 2014 Author Posted March 8, 2014 There was a new plugin version and I reprogrammed the scripts to allow control with this version. There has also been extensive editing done to the original post. Included new method for new/non users of EventGhost.
philtor Posted March 9, 2014 Posted March 9, 2014 Nice work! Looks like it's all working, but how do I use away mode?
abuttino Posted March 9, 2014 Author Posted March 9, 2014 If you have an "at home" variable that is triggered by a geofence (AutoLocation with Tasker on Android or MobiLinc and an iPhone) you can use that variable to set away mode on the thermostat when the variable reaches a point that you aren't home.. Mine would be AtHome=0 I would be more then happy to help if you'd like. If you have Android, I'm very experienced with that, if we run into issues on an iPhone, we can always ask InsteonNut for help. I also wrote a script on eventghost for away mode triggered by a non-pingable IP address if you'd like to go that route. Sent from my DROID RAZR HD using Tapatalk
philtor Posted March 9, 2014 Posted March 9, 2014 abuttino, thanks for the quick reply. I'm still kind of blurry on the details in setting up the away mode with the Nest. I have a "Home" variable configured in Mobilinc HD with geofencing that opens my garage door, and depending if it's day or night, turns on/off some my lights. I just got that working today after reading some helpful tips in this forum, and that's when I found your cool eventghost setup. I followed your step by step and have the Set_Temp and Ambient_Temp variables working. I would like to have the Nest's away mode control my lights when I leave and return. Do I need to make another state variable for away mode?
abuttino Posted March 9, 2014 Author Posted March 9, 2014 What were your nest variables? State or integer? Sent from my DROID RAZR HD using Tapatalk
abuttino Posted March 9, 2014 Author Posted March 9, 2014 Good.. And now the answer to your question Yes, you make another State variable. Then edit the next to last line to reflect the actual number of the variable and the variable value. Do you understand Python? Sent from my DROID RAZR HD using Tapatalk
philtor Posted March 9, 2014 Posted March 9, 2014 Well..., I have a novice's understanding of Python.
abuttino Posted March 9, 2014 Author Posted March 9, 2014 Here is the translation... In that Away line on the next to last line of "ISY Event"; the VarNum is the ISY variable number you assigned to awaymode. The VarVal is the actual value that states you are away. Sent from my DROID RAZR HD using Tapatalk
abuttino Posted March 9, 2014 Author Posted March 9, 2014 Not a problem. If you know anyone with a Nest and an Android, please tell them about my widget! Edit Sent from my DROID RAZR HD using Tapatalk
abuttino Posted March 26, 2014 Author Posted March 26, 2014 Brand new scripts out for the new Nest plugin. Very little setup involved! Check the first post.
funat120mph Posted March 28, 2014 Posted March 28, 2014 What are you using to run eventghost? dedicated server, PC?
abuttino Posted March 28, 2014 Author Posted March 28, 2014 I use Windows Server 2012, I've also used a Windows PC. Doesn't matter as long as it isn't a mac. Sent from my DROID RAZR HD using Tapatalk
funat120mph Posted April 12, 2014 Posted April 12, 2014 This plugin is great. Thank you for this. My iSY to Nest is working and Nest to ISY too. Is it possible to set the target and ambient variables so the ISY receives the temp with the decimal? Thanks again.
abuttino Posted April 12, 2014 Author Posted April 12, 2014 Unfortunately not. The nest only understands whole numbers.
funat120mph Posted April 15, 2014 Posted April 15, 2014 Is there a way to run eventghost remotely and log into the ISY? I've got mine trying to authenticate over port 443 but it will not log into the ISY. Any suggestions? Thanks
Recommended Posts