mirror of
https://github.com/home-assistant/android
synced 2024-10-07 00:29:32 +00:00
Set car sensors state appropriately if sensor registers with unit of measurement (#3764)
* Set car sensor state appropriately if sensor registers with unit of measurement * Stick to unavailable for better consistency
This commit is contained in:
parent
0425d7cf97
commit
2d439f11ea
|
@ -173,7 +173,7 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
it,
|
||||
context.getString(R.string.car_data_unavailable),
|
||||
"unavailable",
|
||||
it.statelessIcon,
|
||||
mapOf()
|
||||
)
|
||||
|
@ -257,9 +257,12 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
fuelLevel,
|
||||
fuelStatus ?: data.fuelPercent.value!!,
|
||||
if (fuelStatus == "success") data.fuelPercent.value!! else "unknown",
|
||||
fuelLevel.statelessIcon,
|
||||
mapOf()
|
||||
mapOf(
|
||||
"status" to fuelStatus
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
val batteryStatus = carValueStatus(data.batteryPercent.status)
|
||||
|
@ -267,9 +270,12 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
batteryLevel,
|
||||
batteryStatus ?: data.batteryPercent.value!!,
|
||||
if (batteryStatus == "success") data.batteryPercent.value!! else "unknown",
|
||||
batteryLevel.statelessIcon,
|
||||
mapOf()
|
||||
mapOf(
|
||||
"status" to batteryStatus
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
setListener(Listener.ENERGY, false)
|
||||
|
@ -282,12 +288,14 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
carName,
|
||||
status ?: data.name.value!!,
|
||||
if (status == "success") data.name.value!! else "unknown",
|
||||
carName.statelessIcon,
|
||||
mapOf(
|
||||
"car_manufacturer" to data.manufacturer.value,
|
||||
"car_manufactured_year" to data.year.value
|
||||
)
|
||||
"car_manufactured_year" to data.year.value,
|
||||
"status" to status
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
setListener(Listener.MODEL, false)
|
||||
|
@ -301,11 +309,13 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
carStatus,
|
||||
status ?: (data.evChargePortConnected.value == true),
|
||||
if (status == "success") (data.evChargePortConnected.value == true) else "unknown",
|
||||
carStatus.statelessIcon,
|
||||
mapOf(
|
||||
"car_charge_port_open" to (data.evChargePortOpen.value == true)
|
||||
)
|
||||
"car_charge_port_open" to (data.evChargePortOpen.value == true),
|
||||
"status" to status
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
setListener(Listener.STATUS, false)
|
||||
|
@ -319,9 +329,12 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
odometerValue,
|
||||
status ?: data.odometerMeters.value!!,
|
||||
if (status == "success") data.odometerMeters.value!! else "unknown",
|
||||
odometerValue.statelessIcon,
|
||||
mapOf()
|
||||
mapOf(
|
||||
"status" to status
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
setListener(Listener.MILEAGE, false)
|
||||
|
@ -335,29 +348,35 @@ class CarSensorManager :
|
|||
onSensorUpdated(
|
||||
context,
|
||||
fuelType,
|
||||
fuelTypeStatus ?: getFuelType(data.fuelTypes.value!!),
|
||||
if (fuelTypeStatus == "success") getFuelType(data.fuelTypes.value!!) else "unknown",
|
||||
fuelType.statelessIcon,
|
||||
mapOf()
|
||||
mapOf(
|
||||
"status" to fuelTypeStatus
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
if (isEnabled(context, evConnector)) {
|
||||
onSensorUpdated(
|
||||
context,
|
||||
evConnector,
|
||||
evConnectorTypeStatus ?: getEvConnectorType(data.evConnectorTypes.value!!),
|
||||
if (evConnectorTypeStatus == "success") getEvConnectorType(data.evConnectorTypes.value!!) else "unknown",
|
||||
evConnector.statelessIcon,
|
||||
mapOf()
|
||||
mapOf(
|
||||
"status" to evConnectorTypeStatus
|
||||
),
|
||||
forceUpdate = true
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun carValueStatus(value: Int): String? {
|
||||
return when (value) {
|
||||
CarValue.STATUS_SUCCESS -> null
|
||||
CarValue.STATUS_SUCCESS -> "success"
|
||||
CarValue.STATUS_UNAVAILABLE -> "unavailable"
|
||||
CarValue.STATUS_UNKNOWN -> "unknown"
|
||||
CarValue.STATUS_UNIMPLEMENTED -> "unimplemented"
|
||||
else -> "unavailable"
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1125,7 +1125,6 @@
|
|||
<string name="ha_assist">HA: Assist</string>
|
||||
<string name="only_favorites">Only Show Favorites</string>
|
||||
<string name="beacon_scanning">Beacon Monitor Scanning</string>
|
||||
<string name="car_data_unavailable">Open Home Assistant app to activate the sensor</string>
|
||||
<string name="basic_sensor_name_car_fuel_type">Car Fuel Type</string>
|
||||
<string name="sensor_description_car_fuel_type">List of available fuel types for the connected car</string>
|
||||
<string name="basic_sensor_name_car_ev_connector_type">Car EV Connector Type</string>
|
||||
|
|
Loading…
Reference in a new issue