doc: document calendar history a bit
This commit is contained in:
parent
8881d0fa59
commit
f1f2c2e566
|
@ -12,6 +12,11 @@ fancy-errors = ["miette/fancy"]
|
|||
cli = ["dep:clap", "dep:tracing-subscriber"]
|
||||
cli-pretty-json = ["dep:colored_json"]
|
||||
|
||||
[[bin]]
|
||||
name = "teslatte"
|
||||
path = "src/main.rs"
|
||||
required-features = ["cli"]
|
||||
|
||||
[dependencies]
|
||||
miette = { version = "5.10.0", features = ["fancy"] }
|
||||
thiserror = "1.0.44"
|
||||
|
|
1
justfile
1
justfile
|
@ -8,4 +8,5 @@ no_token_test:
|
|||
# These tests require an access token saved in a file called "cli.json"
|
||||
token_tests:
|
||||
cargo run -- api vehicles
|
||||
cargo run --no-default-features --features cli -- api vehicles
|
||||
cargo run -- api energy-sites
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
use crate::Data;
|
||||
|
||||
pub mod calendar_history;
|
||||
pub mod energy;
|
||||
pub mod powerwall;
|
||||
pub mod vehicle;
|
||||
|
||||
use crate::Data;
|
||||
|
||||
pub fn print_json<T>(data: Data<T>) {
|
||||
#[cfg(feature = "cli-pretty-json")]
|
||||
{
|
||||
|
@ -14,7 +13,6 @@ pub fn print_json<T>(data: Data<T>) {
|
|||
|
||||
#[cfg(not(feature = "cli-pretty-json"))]
|
||||
{
|
||||
println!("{:#?}", data.body());
|
||||
panic!();
|
||||
println!("{}", data.body());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
use crate::calendar_history::{HistoryKind, HistoryPeriod};
|
||||
use clap::Args;
|
||||
|
||||
#[derive(Debug, Args)]
|
||||
pub struct CalendarHistoryArgs {
|
||||
pub kind: HistoryKind,
|
||||
|
||||
#[clap(short, long, default_value = "day")]
|
||||
pub period: HistoryPeriod,
|
||||
|
||||
#[clap(short, long)]
|
||||
pub start: Option<String>,
|
||||
|
||||
#[clap(short, long)]
|
||||
pub end: Option<String>,
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
use crate::calendar_history::CalendarHistoryValues;
|
||||
use crate::cli::calendar_history::CalendarHistoryArgs;
|
||||
use crate::calendar_history::{CalendarHistoryValues, HistoryKind, HistoryPeriod};
|
||||
use crate::cli::print_json;
|
||||
use crate::energy::EnergySiteId;
|
||||
use crate::Api;
|
||||
|
@ -49,3 +48,29 @@ impl EnergySiteArgs {
|
|||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
/// Show the calendar history of an energy site. This is the same data that is shown in the Tesla app.
|
||||
///
|
||||
/// Use `energy_site_id` as the ID.
|
||||
///
|
||||
/// The `kind` argument must be `energy` or `power`.
|
||||
///
|
||||
/// Example:
|
||||
///
|
||||
/// teslatte api energy-site 1234567890 calendar-history power -s "2022-01-01T00:00:00Z" -e 2023-01-01T00:00:00Z -p month
|
||||
#[derive(Debug, Args)]
|
||||
pub struct CalendarHistoryArgs {
|
||||
/// `energy` or `power`
|
||||
pub kind: HistoryKind,
|
||||
|
||||
#[clap(short, long, default_value = "day")]
|
||||
pub period: HistoryPeriod,
|
||||
|
||||
/// ISO8601 date-time for the start of the period, e.g. 2000-01-01T00:00:00Z
|
||||
#[clap(short, long)]
|
||||
pub start: Option<String>,
|
||||
|
||||
/// ISO8601 date-time for the end of the period, e.g. 2025-01-01T00:00:00Z
|
||||
#[clap(short, long)]
|
||||
pub end: Option<String>,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue