dont yell about offline or asleep error messages + reduce key refresh interval
This commit is contained in:
parent
3d7e33a154
commit
c3469e5259
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -2262,7 +2262,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tesla-charge-controller"
|
||||
version = "0.1.12"
|
||||
version = "0.1.13"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-channel",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "tesla-charge-controller"
|
||||
version = "0.1.12"
|
||||
version = "0.1.13"
|
||||
edition = "2021"
|
||||
license = "MITNFA"
|
||||
description = "Controls Tesla charge rate based on solar charge data"
|
||||
|
|
|
@ -75,7 +75,7 @@ pub enum InterfaceRequest {
|
|||
FlashLights,
|
||||
}
|
||||
|
||||
const KEY_REFRESH_INTERVAL: Duration = Duration::from_secs(12 * 60 * 60);
|
||||
const KEY_REFRESH_INTERVAL: Duration = Duration::from_secs(6 * 60 * 60);
|
||||
|
||||
impl TeslaInterface {
|
||||
pub async fn load(auth_path: PathBuf) -> Result<Self, AuthLoadError> {
|
||||
|
@ -174,6 +174,16 @@ impl TeslaInterface {
|
|||
}
|
||||
Err(e) => {
|
||||
self.metrics.tesla_online.set(0.);
|
||||
if let RequestError::Teslatte(teslatte::error::TeslatteError::DecodeJsonError {
|
||||
source: _,
|
||||
request: _,
|
||||
body,
|
||||
}) = &e
|
||||
{
|
||||
if body.contains("vehicle is offline or asleep") {
|
||||
return;
|
||||
}
|
||||
}
|
||||
error!("Error getting state: {e:#?}")
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +210,7 @@ async fn get_state(
|
|||
api: &FleetApi,
|
||||
vehicle_id: VehicleId,
|
||||
last_cop_state: &mut String,
|
||||
) -> Result<CarState> {
|
||||
) -> Result<CarState, RequestError> {
|
||||
// Endpoint::VehicleDataCombo or multiple Endpoints in one request
|
||||
// doesn't seem to reliably get them all,
|
||||
// so for each endpoint we do a new request
|
||||
|
|
Loading…
Reference in a new issue