Skip to main content

Crate rointe_core

Crate rointe_core 

Source
Expand description

§rointe-core

Rust SDK for controlling Rointe WiFi-enabled radiators via the Firebase Realtime Database REST API.

This crate handles authentication, device discovery, state queries, and control commands. It is derived from protocol knowledge documented in rointe-sdk by Tiago Matias (MIT).

§Quick start

use rointe_core::{RointeClient, Preset};

#[tokio::main]
async fn main() -> rointe_core::Result<()> {
    let client = RointeClient::new("user@example.com", "password").await?;

    // Discover all installations and devices
    let installations = client.get_installations().await?;
    for inst in &installations {
        let ids = client.discover_devices(&inst.id).await?;
        for id in ids {
            let device = client.get_device(&id).await?;
            println!("{}: {:.1}°C", device.data.name, device.data.temp);
        }
    }

    Ok(())
}

§Features

Re-exports§

pub use client::RointeClient;
pub use error::Result;
pub use error::RointeError;
pub use models::device::DeviceData;
pub use models::device::FirmwareInfo;
pub use models::device::RointeDevice;
pub use models::energy::EnergyConsumptionData;
pub use models::enums::DeviceMode;
pub use models::enums::DeviceStatus;
pub use models::enums::HvacMode;
pub use models::enums::Preset;
pub use models::enums::RointeProduct;
pub use models::enums::ScheduleMode;
pub use models::installation::Installation;
pub use models::installation::Zone;

Modules§

auth
client
error
firebase
Low-level Firebase Realtime Database (RTDB) client.
models