Skip to content

Latest commit

 

History

History
107 lines (87 loc) · 2.34 KB

Readme.md

File metadata and controls

107 lines (87 loc) · 2.34 KB

ruby-tcc

Ruby client for the Honeywell Total Connect Comfort API.

Code Climate

Installation

In your Gemfile:

gem "ruby-tcc", "~> 0.0.1"

or

gem 'ruby-tcc', :git => 'https://github.com/auzroz/ruby-tcc'

Usage

First create a Client:

client = RubyTCC::REST::Client.new(:username => USERNAME, :password => PASSWORD)

Second, authenticate the login:

client.authenticate_user_login

Next, calls can be made using the client object to availble APIs.

client.get_locations

Currently Supported APIs

  • AuthenticateUserLogin
  • ChangeThermostatFan
  • ChangeThermostatUI
  • CreateLocation
  • EditLocation
  • GetCommTaskState
  • GetLocations
  • GetSchedule
  • GetShortLocationInfo
  • GetSystemGeoInfo
  • GetThermostat
  • GetThermostatFan
  • GetThermostatHumidification
  • GetThermostatUI
  • GetVolatileThermostatData
  • GetWeatherForecast
  • KeepAlive
  • LogOff

APIs In Progress

  • CancelScheduleChanges
  • ChangeSchedule
  • SubmitScheduleChanges

APIs Currently Unable to Test

Based on the Honeywell 7-Day Wifi Thermostat (RTH6580WF1001/W), the following APIs are not available to test. Any pull requests that can verify the function would be appreciated.

  • AcceptInvitation
  • ChangeThermostatHumidification
  • DeclineInvitation
  • DismissSiteAlert
  • DismissThermostatAlert
  • DismissCommunicationAlert
  • EditDealerInformation
  • Edit PreferredDealerInformation
  • EmailDealer
  • GetDREvent
  • GetDealerInformation
  • GetPendingInvitations
  • HideDREvent
  • OptOutDREvent
  • RequestDealerInvitation
  • WiringToolGetThermostats
  • WiringToolGetWireMapWithAnswer

APIs That Are Outside of Scope

These functions are best left to the official app and website.

  • CreateAccount
  • GetSecurityQuestions
  • RegisterGateway
  • ResendAccountActivationEmail
  • ResetPassword
  • UnregisterGateway
  • UpdateLocationLevelOfAccess

Contributing

Feel free to contribute, there are several options available that I don't have the ability to test with a home thermostat.

You need to update your login and thermostat credentials in spec/spec_helper.rb before running them:

bundle exec rspec spec
  • or -
bundle exec guard