diff --git a/homeassistant/components/teslemetry/icons.json b/homeassistant/components/teslemetry/icons.json index cc585b433e4..5065c4649d8 100644 --- a/homeassistant/components/teslemetry/icons.json +++ b/homeassistant/components/teslemetry/icons.json @@ -173,7 +173,6 @@ "default": "mdi:ev-plug-ccs2" } }, - "device_tracker": { "location": { "default": "mdi:map-marker" @@ -196,6 +195,38 @@ "default": "mdi:car-speed-limiter" } }, + "number": { + "backup_reserve_percent": { + "default": "mdi:battery-outline", + "range": { + "10": "mdi:battery-10", + "20": "mdi:battery-20", + "30": "mdi:battery-30", + "40": "mdi:battery-40", + "50": "mdi:battery-50", + "60": "mdi:battery-60", + "70": "mdi:battery-70", + "80": "mdi:battery-80", + "90": "mdi:battery-90", + "100": "mdi:battery" + } + }, + "off_grid_vehicle_charging_reserve_percent": { + "default": "mdi:battery-outline", + "range": { + "10": "mdi:battery-10", + "20": "mdi:battery-20", + "30": "mdi:battery-30", + "40": "mdi:battery-40", + "50": "mdi:battery-50", + "60": "mdi:battery-60", + "70": "mdi:battery-70", + "80": "mdi:battery-80", + "90": "mdi:battery-90", + "100": "mdi:battery" + } + } + }, "select": { "climate_state_seat_heater_left": { "default": "mdi:car-seat-heater", diff --git a/homeassistant/components/teslemetry/number.py b/homeassistant/components/teslemetry/number.py index bccefcaf6cb..beeaf364b19 100644 --- a/homeassistant/components/teslemetry/number.py +++ b/homeassistant/components/teslemetry/number.py @@ -27,7 +27,6 @@ from homeassistant.const import ( ) from homeassistant.core import HomeAssistant from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback -from homeassistant.helpers.icon import icon_for_battery_level from . import TeslemetryConfigEntry from .entity import ( @@ -296,7 +295,6 @@ class TeslemetryEnergyInfoNumberSensorEntity(TeslemetryEnergyInfoEntity, NumberE def _async_update_attrs(self) -> None: """Update the attributes of the entity.""" self._attr_native_value = self._value - self._attr_icon = icon_for_battery_level(self.native_value) async def async_set_native_value(self, value: float) -> None: """Set new value.""" diff --git a/homeassistant/components/teslemetry/quality_scale.yaml b/homeassistant/components/teslemetry/quality_scale.yaml index 59232ade9b5..e08f0720e0f 100644 --- a/homeassistant/components/teslemetry/quality_scale.yaml +++ b/homeassistant/components/teslemetry/quality_scale.yaml @@ -71,13 +71,7 @@ rules: comment: | ConfigEntryAuthFailed and UpdateFailed exceptions can have translated messages. Also one "unknown error" that cannot be translated. - icon-translations: - status: todo - comment: | - number.py:299 uses _attr_icon = icon_for_battery_level() instead of - range-based icons in icons.json. Affects backup_reserve_percent and - off_grid_vehicle_charging_reserve_percent entities. Remove the dynamic - icon assignment and add range-based icon entries to icons.json. + icon-translations: done reconfiguration-flow: done repair-issues: status: exempt diff --git a/tests/components/teslemetry/snapshots/test_number.ambr b/tests/components/teslemetry/snapshots/test_number.ambr index 812de0c8c1d..c3c64cc6bd9 100644 --- a/tests/components/teslemetry/snapshots/test_number.ambr +++ b/tests/components/teslemetry/snapshots/test_number.ambr @@ -29,7 +29,7 @@ 'options': dict({ }), 'original_device_class': , - 'original_icon': 'mdi:battery-alert', + 'original_icon': None, 'original_name': 'Backup reserve', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -45,7 +45,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'battery', 'friendly_name': 'Energy Site Backup reserve', - 'icon': 'mdi:battery-alert', 'max': 100, 'min': 0, 'mode': , @@ -90,7 +89,7 @@ 'options': dict({ }), 'original_device_class': , - 'original_icon': 'mdi:battery-unknown', + 'original_icon': None, 'original_name': 'Off-grid reserve', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -106,7 +105,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'battery', 'friendly_name': 'Energy Site Off-grid reserve', - 'icon': 'mdi:battery-unknown', 'max': 100, 'min': 0, 'mode': ,