https://github.com/robzr/ecobee
Ruby Gem for Ecobee API with PIN-based token registration & renewal, persistent HTTP connections
https://github.com/robzr/ecobee
ecobee
Last synced: 6 months ago
JSON representation
Ruby Gem for Ecobee API with PIN-based token registration & renewal, persistent HTTP connections
- Host: GitHub
- URL: https://github.com/robzr/ecobee
- Owner: robzr
- License: mit
- Created: 2016-08-02T06:16:41.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-09-06T00:20:02.000Z (almost 10 years ago)
- Last Synced: 2025-11-12T21:09:47.736Z (7 months ago)
- Topics: ecobee
- Language: Ruby
- Homepage:
- Size: 46.9 KB
- Stars: 3
- Watchers: 1
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Ecobee
Ecobee API Ruby Gem. Implements:
- OAuth PIN-based token registration & renewal
- Persistent HTTP connection management
- Methods for GET & POST requests w/ JSON parsing & error handling
- Persistent storage for API key & refresh tokens
- Storage uses iCloud Drive if available for shared computer use
- Block/Proc hooks for token storage load/save to add app config data
- Thermostat abstraction class for simple thermostat interaction
- Example usage scripts (see /examples/\*)
TODO:
- Add RDoc documentation
- Add redirect based registration
## Installation
The latest ecobee Ruby Gem is [available from Rubygems.org](https://rubygems.org/gems/ecobee).
To install from the command line, run:
```
gem install ecobee
```
## Usage
1. Obtain an Application Key from Ecobee by [registering your project](https://www.ecobee.com/developers).
2. Using Ecobee::Token, obtain an OAuth Access Token.
- Instantiate Ecobee::Token with the api_key and desired scope.
- Give user Ecobee::Token#pin and instructions to register your Application via the [Ecobee My Apps Portal](https://www.ecobee.com/consumerportal/index.html#/my-apps).
- You can call Ecobee::Token#wait to block until the user confirms the PIN code.
3. Instantiate Ecobee::Thermostat with the token object.
4. Use the simplified methods for common interactions, access the Thermostat object directly as a Hash to read values, or use the update method to post changes.
5. Ecobee::Client#get or Ecobee::Client#post can be used for advanced interaction with [Ecobee's API](https://www.ecobee.com/home/developer/api/introduction/index.shtml).
## Development
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/robzr/ecobee.
## License
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).