From 1dc3582778d9934897a48141b534537e5463737b Mon Sep 17 00:00:00 2001 From: Brett Adams Date: Wed, 13 Mar 2024 06:06:09 +1000 Subject: [PATCH] Add icons to Teslemetry (#112546) --- .../components/teslemetry/icons.json | 53 ++++++++++++++++++ homeassistant/components/teslemetry/sensor.py | 14 ----- .../teslemetry/snapshots/test_sensor.ambr | 54 +++++++------------ 3 files changed, 71 insertions(+), 50 deletions(-) diff --git a/homeassistant/components/teslemetry/icons.json b/homeassistant/components/teslemetry/icons.json index a4521b52945..4ce852537d7 100644 --- a/homeassistant/components/teslemetry/icons.json +++ b/homeassistant/components/teslemetry/icons.json @@ -13,6 +13,59 @@ } } } + }, + "sensor": { + "battery_power": { + "default": "mdi:home-battery" + }, + "drive_state_active_route_destination": { + "default": "mdi:routes" + }, + "drive_state_active_route_minutes_to_arrival": { + "default": "mdi:routes-clock" + }, + "drive_state_shift_state": { + "default": "mdi:car-shift-pattern", + "state": { + "d": "mdi:alpha-d", + "n": "mdi:alpha-n", + "p": "mdi:alpha-p", + "r": "mdi:alpha-r" + } + }, + "energy_left": { + "default": "mdi:battery" + }, + "generator_power": { + "default": "mdi:generator-stationary" + }, + "grid_power": { + "default": "mdi:transmission-tower" + }, + "grid_services_power": { + "default": "mdi:transmission-tower" + }, + "load_power": { + "default": "mdi:power-plug" + }, + "solar_power": { + "default": "mdi:solar-power" + }, + "total_pack_energy": { + "default": "mdi:battery-high" + }, + "vin": { + "default": "mdi:car-electric" + }, + "wall_connector_fault_state": { + "default": "mdi:ev-station" + }, + "wall_connector_power": { + "default": "mdi:ev-station" + }, + "wall_connector_state": { + "default": "mdi:ev-station" + } } } } diff --git a/homeassistant/components/teslemetry/sensor.py b/homeassistant/components/teslemetry/sensor.py index d592135ab8e..af7000a3127 100644 --- a/homeassistant/components/teslemetry/sensor.py +++ b/homeassistant/components/teslemetry/sensor.py @@ -128,7 +128,6 @@ VEHICLE_DESCRIPTIONS: tuple[TeslemetrySensorEntityDescription, ...] = ( ), TeslemetrySensorEntityDescription( key="drive_state_shift_state", - icon="mdi:car-shift-pattern", options=["p", "d", "r", "n"], device_class=SensorDeviceClass.ENUM, value_fn=lambda x: x.lower() if isinstance(x, str) else x, @@ -243,7 +242,6 @@ VEHICLE_DESCRIPTIONS: tuple[TeslemetrySensorEntityDescription, ...] = ( ), TeslemetrySensorEntityDescription( key="drive_state_active_route_destination", - icon="mdi:map-marker", entity_category=EntityCategory.DIAGNOSTIC, ), ) @@ -256,7 +254,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:solar-power", ), SensorEntityDescription( key="energy_left", @@ -266,7 +263,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_display_precision=2, device_class=SensorDeviceClass.ENERGY_STORAGE, entity_category=EntityCategory.DIAGNOSTIC, - icon="mdi:battery", ), SensorEntityDescription( key="total_pack_energy", @@ -276,7 +272,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_display_precision=2, device_class=SensorDeviceClass.ENERGY_STORAGE, entity_category=EntityCategory.DIAGNOSTIC, - icon="mdi:battery-high", entity_registry_enabled_default=False, ), SensorEntityDescription( @@ -293,7 +288,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:home-battery", ), SensorEntityDescription( key="load_power", @@ -302,7 +296,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:power-plug", ), SensorEntityDescription( key="grid_power", @@ -311,7 +304,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:transmission-tower", ), SensorEntityDescription( key="grid_services_power", @@ -320,7 +312,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:transmission-tower", ), SensorEntityDescription( key="generator_power", @@ -329,7 +320,6 @@ ENERGY_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:generator-stationary", entity_registry_enabled_default=False, ), ) @@ -339,13 +329,11 @@ WALL_CONNECTOR_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( key="wall_connector_state", entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, - icon="mdi:ev-station", ), SensorEntityDescription( key="wall_connector_fault_state", entity_category=EntityCategory.DIAGNOSTIC, entity_registry_enabled_default=False, - icon="mdi:ev-station", ), SensorEntityDescription( key="wall_connector_power", @@ -354,11 +342,9 @@ WALL_CONNECTOR_DESCRIPTIONS: tuple[SensorEntityDescription, ...] = ( suggested_unit_of_measurement=UnitOfPower.KILO_WATT, suggested_display_precision=2, device_class=SensorDeviceClass.POWER, - icon="mdi:ev-station", ), SensorEntityDescription( key="vin", - icon="mdi:car-electric", ), ) diff --git a/tests/components/teslemetry/snapshots/test_sensor.ambr b/tests/components/teslemetry/snapshots/test_sensor.ambr index a384f91fc67..64e3a6ee8ab 100644 --- a/tests/components/teslemetry/snapshots/test_sensor.ambr +++ b/tests/components/teslemetry/snapshots/test_sensor.ambr @@ -30,7 +30,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:home-battery', + 'original_icon': None, 'original_name': 'Battery power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -45,7 +45,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Battery power', - 'icon': 'mdi:home-battery', 'state_class': , 'unit_of_measurement': , }), @@ -87,7 +86,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:battery', + 'original_icon': None, 'original_name': 'Energy left', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -102,7 +101,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'energy_storage', 'friendly_name': 'Energy Site Energy left', - 'icon': 'mdi:battery', 'state_class': , 'unit_of_measurement': , }), @@ -144,7 +142,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:generator-stationary', + 'original_icon': None, 'original_name': 'Generator power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -159,7 +157,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Generator power', - 'icon': 'mdi:generator-stationary', 'state_class': , 'unit_of_measurement': , }), @@ -201,7 +198,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:transmission-tower', + 'original_icon': None, 'original_name': 'Grid power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -216,7 +213,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Grid power', - 'icon': 'mdi:transmission-tower', 'state_class': , 'unit_of_measurement': , }), @@ -258,7 +254,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:transmission-tower', + 'original_icon': None, 'original_name': 'Grid services power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -273,7 +269,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Grid services power', - 'icon': 'mdi:transmission-tower', 'state_class': , 'unit_of_measurement': , }), @@ -315,7 +310,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:power-plug', + 'original_icon': None, 'original_name': 'Load power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -330,7 +325,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Load power', - 'icon': 'mdi:power-plug', 'state_class': , 'unit_of_measurement': , }), @@ -425,7 +419,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:solar-power', + 'original_icon': None, 'original_name': 'Solar power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -440,7 +434,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Energy Site Solar power', - 'icon': 'mdi:solar-power', 'state_class': , 'unit_of_measurement': , }), @@ -482,7 +475,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:battery-high', + 'original_icon': None, 'original_name': 'Total pack energy', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -497,7 +490,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'energy_storage', 'friendly_name': 'Energy Site Total pack energy', - 'icon': 'mdi:battery-high', 'state_class': , 'unit_of_measurement': , }), @@ -893,7 +885,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:map-marker', + 'original_icon': None, 'original_name': 'Destination', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -907,7 +899,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Test Destination', - 'icon': 'mdi:map-marker', }), 'context': , 'entity_id': 'sensor.test_destination', @@ -1317,7 +1308,7 @@ 'options': dict({ }), 'original_device_class': , - 'original_icon': 'mdi:car-shift-pattern', + 'original_icon': None, 'original_name': 'Shift state', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -1332,7 +1323,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'enum', 'friendly_name': 'Test Shift state', - 'icon': 'mdi:car-shift-pattern', 'options': list([ 'p', 'd', @@ -1839,7 +1829,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'Fault state code', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -1853,7 +1843,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector Fault state code', - 'icon': 'mdi:ev-station', }), 'context': , 'entity_id': 'sensor.wall_connector_fault_state_code', @@ -1885,7 +1874,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'Fault state code', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -1899,7 +1888,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector Fault state code', - 'icon': 'mdi:ev-station', }), 'context': , 'entity_id': 'sensor.wall_connector_fault_state_code_2', @@ -1939,7 +1927,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'Power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -1954,7 +1942,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Wall Connector Power', - 'icon': 'mdi:ev-station', 'state_class': , 'unit_of_measurement': , }), @@ -1996,7 +1983,7 @@ }), }), 'original_device_class': , - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'Power', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -2011,7 +1998,6 @@ 'attributes': ReadOnlyDict({ 'device_class': 'power', 'friendly_name': 'Wall Connector Power', - 'icon': 'mdi:ev-station', 'state_class': , 'unit_of_measurement': , }), @@ -2045,7 +2031,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'State code', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -2059,7 +2045,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector State code', - 'icon': 'mdi:ev-station', }), 'context': , 'entity_id': 'sensor.wall_connector_state_code', @@ -2091,7 +2076,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:ev-station', + 'original_icon': None, 'original_name': 'State code', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -2105,7 +2090,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector State code', - 'icon': 'mdi:ev-station', }), 'context': , 'entity_id': 'sensor.wall_connector_state_code_2', @@ -2137,7 +2121,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:car-electric', + 'original_icon': None, 'original_name': 'Vehicle', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -2151,7 +2135,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector Vehicle', - 'icon': 'mdi:car-electric', }), 'context': , 'entity_id': 'sensor.wall_connector_vehicle', @@ -2183,7 +2166,7 @@ 'options': dict({ }), 'original_device_class': None, - 'original_icon': 'mdi:car-electric', + 'original_icon': None, 'original_name': 'Vehicle', 'platform': 'teslemetry', 'previous_unique_id': None, @@ -2197,7 +2180,6 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'friendly_name': 'Wall Connector Vehicle', - 'icon': 'mdi:car-electric', }), 'context': , 'entity_id': 'sensor.wall_connector_vehicle_2',