Expand description
MyTotalConnectComfort API Client
An async Rust client library for the International Honeywell Evohome heating system, provided by Resideo (who licensed the Honeywell brand).
§Example
use evohome_rs::Client;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut client = Client::new();
// Authenticate
client.login("user@example.com", "password").await?;
// Get locations
let locations = client.get_locations().await?;
// Get system status
let system = client.get_location_system(&locations[0].id).await?;
// Set temperature
client.set_zone_temperature(
&system.zones[0].id,
21.0,
true, // permanent
0, // hours
0, // minutes
false, // is_following_schedule
).await?;
Ok(())
}§Features
- Async/await API using tokio
- Type-safe models with serde
- Comprehensive error handling
- Session management with cookies
- All API endpoints implemented
§About
This library targets the international version of the Evohome system
(international.mytotalconnectcomfort.com). North American systems may use different APIs.
Re-exports§
pub use client::Client;pub use error::Error;pub use error::Result;pub use models::Gateway;pub use models::Location;pub use models::LoginResponse;pub use models::UserInfo;pub use models::Zone;pub use types::SetPointStatus;pub use types::TemperatureUnit;