Add proper device class for daily distance sensor on Wear OS3 (#3079)

* Add proper device class for daily distance sensor on Wear OS3

* Only use the device class distance when supported
This commit is contained in:
Daniel Shokouhi 2022-11-22 10:57:21 -08:00 committed by GitHub
parent 62ebb90f2e
commit 5a38f95482
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View file

@ -654,6 +654,7 @@ class IntegrationRepositoryImpl @Inject constructor(
override suspend fun registerSensor(sensorRegistration: SensorRegistration<Any>) {
val canRegisterCategoryStateClass = isHomeAssistantVersionAtLeast(2021, 11, 0)
val canRegisterEntityDisabledState = isHomeAssistantVersionAtLeast(2022, 6, 0)
val canRegisterDeviceClassDistance = isHomeAssistantVersionAtLeast(2022, 10, 0)
val integrationRequest = IntegrationRequest(
"register_sensor",
SensorRequest(
@ -663,7 +664,10 @@ class IntegrationRepositoryImpl @Inject constructor(
sensorRegistration.icon,
sensorRegistration.attributes,
sensorRegistration.name,
sensorRegistration.deviceClass,
when (sensorRegistration.deviceClass) {
"distance" -> if (canRegisterDeviceClassDistance) sensorRegistration.deviceClass else null
else -> sensorRegistration.deviceClass
},
sensorRegistration.unitOfMeasurement,
if (canRegisterCategoryStateClass) sensorRegistration.stateClass else null,
if (canRegisterCategoryStateClass) sensorRegistration.entityCategory else null,

View file

@ -56,6 +56,7 @@ class HealthServicesSensorManager : SensorManager {
commonR.string.sensor_name_daily_distance,
commonR.string.sensor_description_daily_distance,
"mdi:map-marker-distance",
"distance",
unitOfMeasurement = "m",
entityCategory = SensorManager.ENTITY_CATEGORY_DIAGNOSTIC,
updateType = SensorManager.BasicSensor.UpdateType.WORKER