Fix Ecovacs duration sensors (#108868)

pull/109008/head
Robert Resch 2024-01-31 00:43:39 +01:00 committed by GitHub
parent 1aa9807e26
commit 09a89cd3e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 9 deletions

View File

@ -72,6 +72,7 @@ ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...] = (
capability_fn=lambda caps: caps.stats.clean,
value_fn=lambda e: e.time,
translation_key="stats_time",
device_class=SensorDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
suggested_unit_of_measurement=UnitOfTime.MINUTES,
),
@ -89,7 +90,8 @@ ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...] = (
value_fn=lambda e: e.time,
key="total_stats_time",
translation_key="total_stats_time",
native_unit_of_measurement=UnitOfTime.MINUTES,
device_class=SensorDeviceClass.DURATION,
native_unit_of_measurement=UnitOfTime.SECONDS,
suggested_unit_of_measurement=UnitOfTime.HOURS,
state_class=SensorStateClass.TOTAL_INCREASING,
),

View File

@ -326,8 +326,11 @@
'id': <ANY>,
'name': None,
'options': dict({
'sensor.private': dict({
'suggested_unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
}),
}),
'original_device_class': None,
'original_device_class': <SensorDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Time cleaned',
'platform': 'ecovacs',
@ -335,20 +338,21 @@
'supported_features': 0,
'translation_key': 'stats_time',
'unique_id': 'E1234567890000000001_stats_time',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
})
# ---
# name: test_sensors[yna5x1-entity_ids0][sensor.ozmo_950_time_cleaned:state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Ozmo 950 Time cleaned',
'unit_of_measurement': <UnitOfTime.SECONDS: 's'>,
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
}),
'context': <ANY>,
'entity_id': 'sensor.ozmo_950_time_cleaned',
'last_changed': <ANY>,
'last_updated': <ANY>,
'state': '300',
'state': '5.0',
})
# ---
# name: test_sensors[yna5x1-entity_ids0][sensor.ozmo_950_total_area_cleaned:entity-registry]
@ -465,8 +469,11 @@
'id': <ANY>,
'name': None,
'options': dict({
'sensor.private': dict({
'suggested_unit_of_measurement': <UnitOfTime.HOURS: 'h'>,
}),
}),
'original_device_class': None,
'original_device_class': <SensorDeviceClass.DURATION: 'duration'>,
'original_icon': None,
'original_name': 'Total time cleaned',
'platform': 'ecovacs',
@ -474,21 +481,22 @@
'supported_features': 0,
'translation_key': 'total_stats_time',
'unique_id': 'E1234567890000000001_total_stats_time',
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
'unit_of_measurement': <UnitOfTime.HOURS: 'h'>,
})
# ---
# name: test_sensors[yna5x1-entity_ids0][sensor.ozmo_950_total_time_cleaned:state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'duration',
'friendly_name': 'Ozmo 950 Total time cleaned',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfTime.MINUTES: 'min'>,
'unit_of_measurement': <UnitOfTime.HOURS: 'h'>,
}),
'context': <ANY>,
'entity_id': 'sensor.ozmo_950_total_time_cleaned',
'last_changed': <ANY>,
'last_updated': <ANY>,
'state': '144000',
'state': '40.000',
})
# ---
# name: test_sensors[yna5x1-entity_ids0][sensor.ozmo_950_wi_fi_rssi:entity-registry]