diff --git a/src/products.rs b/src/products.rs index 28483d1..07e0854 100644 --- a/src/products.rs +++ b/src/products.rs @@ -39,6 +39,7 @@ pub enum Product { Vehicle(Box), Solar(Box), Powerwall(Box), + WallConnector, } fn deserialize_product<'de, D>(deserializer: D) -> Result @@ -56,6 +57,8 @@ where } else if v.get("battery_type").is_some() { let powerwall_data = PowerwallData::deserialize(v).map_err(serde::de::Error::custom)?; Ok(Product::Powerwall(Box::new(powerwall_data))) + } else if v.get("resource_type").is_some() { + Ok(Product::WallConnector) } else { Err(serde::de::Error::custom( "No valid key found to determine the product type",