Git Product home page Git Product logo

ecobee_vesync_connect_ac's Introduction

What is this?

I wanted to do something very simple: if the temperature in my kids' rooms got too warm, turn on a smart outlet that powers a window AC unit.

It turns out that ecobee and alexa do not have this capability built in - this makes sense. The thermostat does this natively with my central AC. My issue is that my house is old and has vastly different temperatures from upstairs to downstairs.

To solve this, I am getting my temperature from the ecobee API, checking to see if it is too hot/cold, then taking appropriate action with my VeSync outlets.

My Equipment

I have an Ecobee 3 lite with two Smart Sensors. I am also using Etekcity Voltson Smart WiFi Outlets.

That's the "smart" bit. To cool the room, I am just using your run-of-the-mill window AC unit I got at Home Depot or something...

Getting Started

To start, you need to create an app and authenticate with Ecobee.

VeSync is a bit easier to authenticate. Download the app and create a login. You'll use that login for the script.

Server

This time around, I am using the google could instead of AWS. Either I messed up my AWS account or they did... either way, it says I need to pay before I can create a new instance, but there is no outstanding charges. The path of least resistance for me was to go to another cloud provide. I think it will be like $5 a month to run a small instance in the google cloud. Whatever.

Server Requirements

You don't have to install much on the server - just R, the python pip installer, and open ssl.

sudo apt-get install r-base
sudo apt-get install python3-pip
sudo apt-get install libssl-dev libcurl4-openssl-dev
sudo apt-get install sendmail mailutils sendmail-bin

R Requirements

You'll just need a few packages installed to run the R bit:

  1. lubridate
  2. httr
  3. jsonlite

You can run this line of code in sudo R (as root):

install.packages(c("lubridate", "httr", "jsonlite"))

Python Requirements

There are 4 packages called, but 2 should be installed with your system already.

  1. datetime
  2. sys

The other 2, you'll need to install:

  1. pandas
  2. pyvesync

You can do that with this code:

sudo pip3 install pandas
sudo pip3 install pyvesync

Mail Relay Requirements (for notifications)

Go here and follow the steps.

ecobee_vesync_connect_ac's People

Watchers

James Cloos avatar Jacob Rozran avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.