solaredge

Crates.iosolaredge
lib.rssolaredge
version0.4.1
sourcesrc
created_at2021-08-30 09:07:22.490191
updated_at2024-03-22 09:53:07.110455
descriptionSolarEdge API client
homepagehttps://github.com/twistedfall/solaredge/tree/master/solaredge
repositoryhttps://github.com/twistedfall/solaredge
max_upload_size
id444087
size61,442
(twistedfall)

documentation

https://docs.rs/solaredge

README

solaredge

Documentation

See full documentation

Usage

Add this to your Cargo.toml:

[dependencies]
solaredge = "0.4.1"

Asynchronous SolarEdge API client for Rust

Work in progress, only basic API is implemented so far. See todo markers in client.rs for the specific missing functions.

Enables access the SolarEdge equipment API (solar panels, inverters, meters) with the nice typed Rust interface.

The library requires an HTTP client, but is client-agnostic. You can use any client that implements HttpClientAdapter trait. Check http-adapter-reqwest for an implementation based on reqwest.

Sample usage with http-adapter-reqwest:

use solaredge::{Client, SitesList, SortOrder, SiteStatus};
use http_adapter_reqwest::ReqwestAdapter;

async fn run() -> Result<(), Box<dyn std::error::Error>> {
   let client = Client::<ReqwestAdapter>::new("API_KEY");
   let version = client.version_current().await?;
   let mut p = SitesList::default();
   p.size = Some(32);
   p.sort_order = Some(SortOrder::Ascending);
   p.status = Some(&[SiteStatus::Active, SiteStatus::Pending]);
   let sites = client.sites_list(&p).await?;
   Ok(())
}

License: LGPL-3.0

Commit count: 44

cargo fmt