diff --git a/Cargo.lock b/Cargo.lock index aec1096..7b3df15 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2565,7 +2565,7 @@ dependencies = [ [[package]] name = "tesla-charge-controller" -version = "0.1.1" +version = "0.1.2" dependencies = [ "anyhow", "clap", diff --git a/server/Cargo.toml b/server/Cargo.toml index 96718ec..c127966 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tesla-charge-controller" -version = "0.1.1" +version = "0.1.2" edition = "2021" license = "MITNFA" description = "Controls Tesla charge rate based on solar charge data" diff --git a/server/src/server/mod.rs b/server/src/server/mod.rs index 0a4de29..4612b7e 100644 --- a/server/src/server/mod.rs +++ b/server/src/server/mod.rs @@ -33,7 +33,7 @@ fn rocket(state: ServerState) -> rocket::Rocket { .attach(Cors) .manage(state) .mount("/", UiStatic {}) - .mount("/", routes![home, charge_state,]) + .mount("/", routes![home, charge_state, flash]) } static UI_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../client/dist"); @@ -118,6 +118,11 @@ async fn charge_state(state: &State) -> Option) { + state.flash().await; +} + impl ServerState { async fn get_coords(&self) -> Result { let vehicle_data = self @@ -147,6 +152,10 @@ impl ServerState { let charge_state = vehicle_data.charge_state.context("no drive state")?; Ok(charge_state.try_into()?) } + + async fn flash(&self) { + let _ = self.api.flash_lights(&self.vehicle.vin).await; + } } pub struct Cors;