Giter VIP home page Giter VIP logo

sqlbee's Introduction

            _ _
           | | |
  ___  ____| | |__   ___  ___
 / __|/ _  | |  _ \ / _ \/ _ \
 \__ \ (_| | | |_) |  __/  __/
 |___/\__  |_|____/ \___|\___|
         | |
         |_|

About

sqlbee is a simple application that queries the ecobee API and extracts thermostat and runtime report data into a mySQL database. This is essentially the data from the System Monitor section of ecobee Home IQ.

This project uses the MIT License, which means you can do whatever you want with the code and that I am not liable for anything. Have fun!

What does it do?

  • Extracts current thermostat data like temperature, humidity, setpoints, etc (supports multiple thermostats)
  • Extracts runtime report data using the ecobee runtimeReport API endpoint\

What does it NOT do?

  • Does NOT offer a means of reading the extracted data
  • Does NOT analyze or display the data

Requirements

  • An ecobee thermostat
  • An ecobee developer account (free)
  • A server with PHP (with the cURL extension) and mySQL; any recent verson of both should work fine

Getting Started

  1. Clone this project to a folder on your server.
  2. Create the sqlbee database and tables on your mySQL database by running the SQL in sqlbee.sql.
  3. Copy or rename configuration.example.php to configuration.php.
  4. Create an ecobee developer account (https://www.ecobee.com/developers/).
  5. Create your own ecobee app (Developer > Create New) and get the API key and set that as the $client_id variable in configuration.php. Use the PIN Authorization method when creating the app.
  6. Set the $database_* variables in configuration.php to match your mySQL connection properties.
  7. Execute setup.php by running php -f setup.php and follow the instructions.
  8. Set up a cron job to run cron.php at your desired interval. Example crontab entry: * * * * * php -f /var/www/sqlbee/cron.php.

Notes

  • After getting the project running, you might notice that roughly the past 15 minutes of data in runtime_report have missing data. This is because the API reports these rows but the ecobee only transmits it's local data every 15 minutes.

sqlbee's People

Contributors

ziebelje avatar

Watchers

James Cloos avatar Mike P. Sinn 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.