improve warn level function in ValueRangeError case

This commit is contained in:
ju6ge 2025-03-20 22:57:55 +01:00
parent 8ff2763580
commit 9509be9527
Signed by: judge
GPG Key ID: 6512C30DD8E017B5

View File

@ -86,7 +86,10 @@ impl TankState {
pub fn warn_level(&self, config: &TankConfig) -> Result<bool, TankError> {
match self {
TankState::TankSensorDisabled => Err(TankError::SensorDisabled),
TankState::TankSensorError(err) => Err(err.clone()),
TankState::TankSensorError(err) => match err {
TankError::SensorValueError { value, min, max } => Ok(value < min),
_ => Err(err.clone()),
},
TankState::TankSensorPresent(raw_value_mv) => {
let tank_fill_percent = raw_voltage_to_tank_fill_percent(*raw_value_mv, config)?;
if tank_fill_percent < config.tank_warn_percent.into() {