Ruby client for the Honeywell Total Connect Comfort API.
In your Gemfile:
gem "ruby-tcc", "~> 0.0.1"
or
gem 'ruby-tcc', :git => 'https://github.com/auzroz/ruby-tcc'
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
- AuthenticateUserLogin
- ChangeThermostatFan
- ChangeThermostatUI
- CreateLocation
- EditLocation
- GetCommTaskState
- GetLocations
- GetSchedule
- GetShortLocationInfo
- GetSystemGeoInfo
- GetThermostat
- GetThermostatFan
- GetThermostatHumidification
- GetThermostatUI
- GetVolatileThermostatData
- GetWeatherForecast
- KeepAlive
- LogOff
- CancelScheduleChanges
- ChangeSchedule
- SubmitScheduleChanges
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
These functions are best left to the official app and website.
- CreateAccount
- GetSecurityQuestions
- RegisterGateway
- ResendAccountActivationEmail
- ResetPassword
- UnregisterGateway
- UpdateLocationLevelOfAccess
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