diff --git a/homeassistant/components/zha/binary_sensor.py b/homeassistant/components/zha/binary_sensor.py index a3348ad974d55..195b0a1dcf5d7 100644 --- a/homeassistant/components/zha/binary_sensor.py +++ b/homeassistant/components/zha/binary_sensor.py @@ -327,5 +327,4 @@ class AqaraE1CurtainMotorOpenedByHandBinarySensor(BinarySensor): _unique_id_suffix = "hand_open" _attribute_name = "hand_open" _attr_translation_key = "hand_open" - _attr_icon = "mdi:hand-wave" _attr_entity_category = EntityCategory.DIAGNOSTIC diff --git a/homeassistant/components/zha/icons.json b/homeassistant/components/zha/icons.json new file mode 100644 index 0000000000000..9b060e8105a29 --- /dev/null +++ b/homeassistant/components/zha/icons.json @@ -0,0 +1,178 @@ +{ + "entity": { + "binary_sensor": { + "hand_open": { + "default": "mdi:hand-wave" + } + }, + "number": { + "timer_duration": { + "default": "mdi:timer" + }, + "filter_life_time": { + "default": "mdi:timer" + }, + "dimming_speed_up_remote": { + "default": "mdi:speedometer" + }, + "button_delay": { + "default": "mdi:speedometer" + }, + "dimming_speed_up_local": { + "default": "mdi:speedometer" + }, + "ramp_rate_off_to_on_local": { + "default": "mdi:speedometer" + }, + "ramp_rate_off_to_on_remote": { + "default": "mdi:speedometer" + }, + "dimming_speed_down_remote": { + "default": "mdi:speedometer" + }, + "dimming_speed_down_local": { + "default": "mdi:speedometer" + }, + "ramp_rate_on_to_off_local": { + "default": "mdi:speedometer" + }, + "ramp_rate_on_to_off_remote": { + "default": "mdi:speedometer" + }, + "minimum_level": { + "default": "mdi:brightness-percent" + }, + "maximum_level": { + "default": "mdi:brightness-percent" + }, + "auto_off_timer": { + "default": "mdi:timer" + }, + "quick_start_time": { + "default": "mdi:speedometer" + }, + "load_level_indicator_timeout": { + "default": "mdi:timer" + }, + "led_color_when_on": { + "default": "mdi:palette" + }, + "led_color_when_off": { + "default": "mdi:palette" + }, + "led_intensity_when_on": { + "default": "mdi:brightness-percent" + }, + "led_intensity_when_off": { + "default": "mdi:brightness-percent" + }, + "double_tap_up_level": { + "default": "mdi:brightness-percent" + }, + "double_tap_down_level": { + "default": "mdi:brightness-percent" + }, + "serving_size": { + "default": "mdi:counter" + }, + "portion_weight": { + "default": "mdi:weight-gram" + }, + "away_preset_temperature": { + "default": "mdi:temperature-celsius" + }, + "local_temperature_calibration": { + "default": "mdi:temperature-celsius" + }, + "presence_detection_timeout": { + "default": "mdi:timer-edit" + } + }, + "select": { + "feeding_mode": { + "default": "mdi:wrench-clock" + }, + "keypad_lockout": { + "default": "mdi:lock" + } + }, + "sensor": { + "timer_time_left": { + "default": "mdi:timer" + }, + "device_run_time": { + "default": "mdi:timer" + }, + "filter_run_time": { + "default": "mdi:timer" + }, + "last_feeding_source": { + "default": "mdi:devices" + }, + "last_feeding_size": { + "default": "mdi:counter" + }, + "portions_dispensed_today": { + "default": "mdi:counter" + }, + "weight_dispensed_today": { + "default": "mdi:weight-gram" + }, + "smoke_density": { + "default": "mdi:google-circles-communities" + }, + "last_illumination_state": { + "default": "mdi:theme-light-dark" + }, + "pi_heating_demand": { + "default": "mdi:radiator" + }, + "setpoint_change_source": { + "default": "mdi:thermostat" + }, + "hooks_state": { + "default": "mdi:hook" + } + }, + "switch": { + "led_indicator": { + "default": "mdi:led-on" + }, + "child_lock": { + "default": "mdi:account-lock" + }, + "heartbeat_indicator": { + "default": "mdi:heart-flash" + }, + "linkage_alarm": { + "default": "mdi:shield-link-variant" + }, + "buzzer_manual_mute": { + "default": "mdi:volume-off" + }, + "buzzer_manual_alarm": { + "default": "mdi:bullhorn" + }, + "inverted": { + "default": "mdi:arrow-up-down" + }, + "hooks_locked": { + "default": "mdi:lock" + } + } + }, + "services": { + "permit": "mdi:cellphone-link", + "remove": "mdi:cellphone-remove", + "reconfigure_device": "mdi:cellphone-cog", + "set_zigbee_cluster_attribute": "mdi:cog", + "issue_zigbee_cluster_command": "mdi:console", + "issue_zigbee_group_command": "mdi:console", + "warning_device_squawk": "mdi:alert", + "warning_device_warn": "mdi:alert", + "clear_lock_user_code": "mdi:lock-remove", + "enable_lock_user_code": "mdi:lock", + "disable_lock_user_code": "mdi:lock-off", + "set_lock_user_code": "mdi:lock" + } +} diff --git a/homeassistant/components/zha/number.py b/homeassistant/components/zha/number.py index ef8f8287e1e8a..3ae261cb57224 100644 --- a/homeassistant/components/zha/number.py +++ b/homeassistant/components/zha/number.py @@ -597,7 +597,6 @@ class TimerDurationMinutes(ZHANumberConfigurationEntity): _unique_id_suffix = "timer_duration" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[14] _attr_native_min_value: float = 0x00 _attr_native_max_value: float = 0x257 _attr_native_unit_of_measurement: str | None = UNITS[72] @@ -612,7 +611,6 @@ class FilterLifeTime(ZHANumberConfigurationEntity): _unique_id_suffix = "filter_life_time" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[14] _attr_native_min_value: float = 0x00 _attr_native_max_value: float = 0xFFFFFFFF _attr_native_unit_of_measurement: str | None = UNITS[72] @@ -643,7 +641,6 @@ class InovelliRemoteDimmingUpSpeed(ZHANumberConfigurationEntity): _unique_id_suffix = "dimming_speed_up_remote" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 126 _attribute_name = "dimming_speed_up_remote" @@ -657,7 +654,6 @@ class InovelliButtonDelay(ZHANumberConfigurationEntity): _unique_id_suffix = "button_delay" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 9 _attribute_name = "button_delay" @@ -671,7 +667,6 @@ class InovelliLocalDimmingUpSpeed(ZHANumberConfigurationEntity): _unique_id_suffix = "dimming_speed_up_local" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "dimming_speed_up_local" @@ -685,7 +680,6 @@ class InovelliLocalRampRateOffToOn(ZHANumberConfigurationEntity): _unique_id_suffix = "ramp_rate_off_to_on_local" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "ramp_rate_off_to_on_local" @@ -699,7 +693,6 @@ class InovelliRemoteDimmingSpeedOffToOn(ZHANumberConfigurationEntity): _unique_id_suffix = "ramp_rate_off_to_on_remote" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "ramp_rate_off_to_on_remote" @@ -713,7 +706,6 @@ class InovelliRemoteDimmingDownSpeed(ZHANumberConfigurationEntity): _unique_id_suffix = "dimming_speed_down_remote" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "dimming_speed_down_remote" @@ -727,7 +719,6 @@ class InovelliLocalDimmingDownSpeed(ZHANumberConfigurationEntity): _unique_id_suffix = "dimming_speed_down_local" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "dimming_speed_down_local" @@ -741,7 +732,6 @@ class InovelliLocalRampRateOnToOff(ZHANumberConfigurationEntity): _unique_id_suffix = "ramp_rate_on_to_off_local" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "ramp_rate_on_to_off_local" @@ -755,7 +745,6 @@ class InovelliRemoteDimmingSpeedOnToOff(ZHANumberConfigurationEntity): _unique_id_suffix = "ramp_rate_on_to_off_remote" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 127 _attribute_name = "ramp_rate_on_to_off_remote" @@ -769,7 +758,6 @@ class InovelliMinimumLoadDimmingLevel(ZHANumberConfigurationEntity): _unique_id_suffix = "minimum_level" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 1 _attr_native_max_value: float = 254 _attribute_name = "minimum_level" @@ -783,7 +771,6 @@ class InovelliMaximumLoadDimmingLevel(ZHANumberConfigurationEntity): _unique_id_suffix = "maximum_level" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 2 _attr_native_max_value: float = 255 _attribute_name = "maximum_level" @@ -797,7 +784,6 @@ class InovelliAutoShutoffTimer(ZHANumberConfigurationEntity): _unique_id_suffix = "auto_off_timer" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[14] _attr_native_min_value: float = 0 _attr_native_max_value: float = 32767 _attribute_name = "auto_off_timer" @@ -813,7 +799,6 @@ class InovelliQuickStartTime(ZHANumberConfigurationEntity): _unique_id_suffix = "quick_start_time" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[3] _attr_native_min_value: float = 0 _attr_native_max_value: float = 10 _attribute_name = "quick_start_time" @@ -827,7 +812,6 @@ class InovelliLoadLevelIndicatorTimeout(ZHANumberConfigurationEntity): _unique_id_suffix = "load_level_indicator_timeout" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[14] _attr_native_min_value: float = 0 _attr_native_max_value: float = 11 _attribute_name = "load_level_indicator_timeout" @@ -841,7 +825,6 @@ class InovelliDefaultAllLEDOnColor(ZHANumberConfigurationEntity): _unique_id_suffix = "led_color_when_on" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[15] _attr_native_min_value: float = 0 _attr_native_max_value: float = 255 _attribute_name = "led_color_when_on" @@ -855,7 +838,6 @@ class InovelliDefaultAllLEDOffColor(ZHANumberConfigurationEntity): _unique_id_suffix = "led_color_when_off" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[15] _attr_native_min_value: float = 0 _attr_native_max_value: float = 255 _attribute_name = "led_color_when_off" @@ -869,7 +851,6 @@ class InovelliDefaultAllLEDOnIntensity(ZHANumberConfigurationEntity): _unique_id_suffix = "led_intensity_when_on" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 0 _attr_native_max_value: float = 100 _attribute_name = "led_intensity_when_on" @@ -883,7 +864,6 @@ class InovelliDefaultAllLEDOffIntensity(ZHANumberConfigurationEntity): _unique_id_suffix = "led_intensity_when_off" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 0 _attr_native_max_value: float = 100 _attribute_name = "led_intensity_when_off" @@ -897,7 +877,6 @@ class InovelliDoubleTapUpLevel(ZHANumberConfigurationEntity): _unique_id_suffix = "double_tap_up_level" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 2 _attr_native_max_value: float = 254 _attribute_name = "double_tap_up_level" @@ -911,7 +890,6 @@ class InovelliDoubleTapDownLevel(ZHANumberConfigurationEntity): _unique_id_suffix = "double_tap_down_level" _attr_entity_category = EntityCategory.CONFIG - _attr_icon: str = ICONS[16] _attr_native_min_value: float = 0 _attr_native_max_value: float = 254 _attribute_name = "double_tap_down_level" @@ -933,7 +911,6 @@ class AqaraPetFeederServingSize(ZHANumberConfigurationEntity): _attr_translation_key: str = "serving_size" _attr_mode: NumberMode = NumberMode.BOX - _attr_icon: str = "mdi:counter" @CONFIG_DIAGNOSTIC_MATCH( @@ -952,7 +929,6 @@ class AqaraPetFeederPortionWeight(ZHANumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.BOX _attr_native_unit_of_measurement: str = UnitOfMass.GRAMS - _attr_icon: str = "mdi:weight-gram" @CONFIG_DIAGNOSTIC_MATCH( @@ -972,7 +948,6 @@ class AqaraThermostatAwayTemp(ZHANumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.SLIDER _attr_native_unit_of_measurement: str = UnitOfTemperature.CELSIUS - _attr_icon: str = ICONS[0] @CONFIG_DIAGNOSTIC_MATCH( @@ -993,7 +968,6 @@ class ThermostatLocalTempCalibration(ZHANumberConfigurationEntity): _attr_mode: NumberMode = NumberMode.SLIDER _attr_native_unit_of_measurement: str = UnitOfTemperature.CELSIUS - _attr_icon: str = ICONS[0] @CONFIG_DIAGNOSTIC_MATCH( @@ -1025,7 +999,6 @@ class SonoffPresenceSenorTimeout(ZHANumberConfigurationEntity): _attr_translation_key: str = "presence_detection_timeout" _attr_mode: NumberMode = NumberMode.BOX - _attr_icon: str = "mdi:timer-edit" # pylint: disable-next=hass-invalid-inheritance # needs fixing diff --git a/homeassistant/components/zha/select.py b/homeassistant/components/zha/select.py index c629a16a7c68c..c3c62e6173dfa 100644 --- a/homeassistant/components/zha/select.py +++ b/homeassistant/components/zha/select.py @@ -625,7 +625,6 @@ class AqaraPetFeederMode(ZCLEnumSelectEntity): _attribute_name = "feeding_mode" _enum = AqaraFeedingMode _attr_translation_key: str = "feeding_mode" - _attr_icon: str = "mdi:wrench-clock" class AqaraThermostatPresetMode(types.enum8): @@ -690,4 +689,3 @@ class KeypadLockout(ZCLEnumSelectEntity): _attribute_name: str = "keypad_lockout" _enum = KeypadLockoutEnum _attr_translation_key: str = "keypad_lockout" - _attr_icon: str = "mdi:lock" diff --git a/homeassistant/components/zha/sensor.py b/homeassistant/components/zha/sensor.py index 1bb6b355f6ea2..1a11cd99593fe 100644 --- a/homeassistant/components/zha/sensor.py +++ b/homeassistant/components/zha/sensor.py @@ -1280,7 +1280,6 @@ class TimeLeft(Sensor): _attribute_name = "timer_time_left" _unique_id_suffix = "time_left" _attr_device_class: SensorDeviceClass = SensorDeviceClass.DURATION - _attr_icon = "mdi:timer" _attr_translation_key: str = "timer_time_left" _attr_native_unit_of_measurement = UnitOfTime.MINUTES @@ -1293,7 +1292,6 @@ class IkeaDeviceRunTime(Sensor): _attribute_name = "device_run_time" _unique_id_suffix = "device_run_time" _attr_device_class: SensorDeviceClass = SensorDeviceClass.DURATION - _attr_icon = "mdi:timer" _attr_translation_key: str = "device_run_time" _attr_native_unit_of_measurement = UnitOfTime.MINUTES _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC @@ -1307,7 +1305,6 @@ class IkeaFilterRunTime(Sensor): _attribute_name = "filter_run_time" _unique_id_suffix = "filter_run_time" _attr_device_class: SensorDeviceClass = SensorDeviceClass.DURATION - _attr_icon = "mdi:timer" _attr_translation_key: str = "filter_run_time" _attr_native_unit_of_measurement = UnitOfTime.MINUTES _attr_entity_category: EntityCategory = EntityCategory.DIAGNOSTIC @@ -1328,7 +1325,6 @@ class AqaraPetFeederLastFeedingSource(EnumSensor): _attribute_name = "last_feeding_source" _unique_id_suffix = "last_feeding_source" _attr_translation_key: str = "last_feeding_source" - _attr_icon = "mdi:devices" _enum = AqaraFeedingSource @@ -1340,7 +1336,6 @@ class AqaraPetFeederLastFeedingSize(Sensor): _attribute_name = "last_feeding_size" _unique_id_suffix = "last_feeding_size" _attr_translation_key: str = "last_feeding_size" - _attr_icon: str = "mdi:counter" @MULTI_MATCH(cluster_handler_names="opple_cluster", models={"aqara.feeder.acn001"}) @@ -1352,7 +1347,6 @@ class AqaraPetFeederPortionsDispensed(Sensor): _unique_id_suffix = "portions_dispensed" _attr_translation_key: str = "portions_dispensed_today" _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING - _attr_icon: str = "mdi:counter" @MULTI_MATCH(cluster_handler_names="opple_cluster", models={"aqara.feeder.acn001"}) @@ -1365,7 +1359,6 @@ class AqaraPetFeederWeightDispensed(Sensor): _attr_translation_key: str = "weight_dispensed_today" _attr_native_unit_of_measurement = UnitOfMass.GRAMS _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING - _attr_icon: str = "mdi:weight-gram" @MULTI_MATCH(cluster_handler_names="opple_cluster", models={"lumi.sensor_smoke.acn03"}) @@ -1378,7 +1371,6 @@ class AqaraSmokeDensityDbm(Sensor): _attr_translation_key: str = "smoke_density" _attr_native_unit_of_measurement = "dB/m" _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - _attr_icon: str = "mdi:google-circles-communities" _attr_suggested_display_precision: int = 3 @@ -1397,7 +1389,6 @@ class SonoffPresenceSenorIlluminationStatus(EnumSensor): _attribute_name = "last_illumination_state" _unique_id_suffix = "last_illumination" _attr_translation_key: str = "last_illumination_state" - _attr_icon: str = "mdi:theme-light-dark" _enum = SonoffIlluminationStates @@ -1412,7 +1403,6 @@ class PiHeatingDemand(Sensor): _unique_id_suffix = "pi_heating_demand" _attribute_name = "pi_heating_demand" _attr_translation_key: str = "pi_heating_demand" - _attr_icon: str = "mdi:radiator" _attr_native_unit_of_measurement = PERCENTAGE _decimals = 0 _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT @@ -1438,7 +1428,6 @@ class SetpointChangeSource(EnumSensor): _unique_id_suffix = "setpoint_change_source" _attribute_name = "setpoint_change_source" _attr_translation_key: str = "setpoint_change_source" - _attr_icon: str = "mdi:thermostat" _attr_entity_category = EntityCategory.DIAGNOSTIC _enum = SetpointChangeSourceEnum diff --git a/homeassistant/components/zha/switch.py b/homeassistant/components/zha/switch.py index 726b73c4675cc..0561efbb2f28e 100644 --- a/homeassistant/components/zha/switch.py +++ b/homeassistant/components/zha/switch.py @@ -513,7 +513,6 @@ class AqaraPetFeederLEDIndicator(ZHASwitchConfigurationEntity): _attribute_name = "disable_led_indicator" _attr_translation_key = "led_indicator" _force_inverted = True - _attr_icon: str = "mdi:led-on" @CONFIG_DIAGNOSTIC_MATCH( @@ -525,7 +524,6 @@ class AqaraPetFeederChildLock(ZHASwitchConfigurationEntity): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" - _attr_icon: str = "mdi:account-lock" @CONFIG_DIAGNOSTIC_MATCH( @@ -537,7 +535,6 @@ class TuyaChildLockSwitch(ZHASwitchConfigurationEntity): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" - _attr_icon: str = "mdi:account-lock" @CONFIG_DIAGNOSTIC_MATCH( @@ -571,7 +568,6 @@ class AqaraThermostatChildLock(ZHASwitchConfigurationEntity): _unique_id_suffix = "child_lock" _attribute_name = "child_lock" _attr_translation_key = "child_lock" - _attr_icon: str = "mdi:account-lock" @CONFIG_DIAGNOSTIC_MATCH( @@ -583,7 +579,6 @@ class AqaraHeartbeatIndicator(ZHASwitchConfigurationEntity): _unique_id_suffix = "heartbeat_indicator" _attribute_name = "heartbeat_indicator" _attr_translation_key = "heartbeat_indicator" - _attr_icon: str = "mdi:heart-flash" @CONFIG_DIAGNOSTIC_MATCH( @@ -595,7 +590,6 @@ class AqaraLinkageAlarm(ZHASwitchConfigurationEntity): _unique_id_suffix = "linkage_alarm" _attribute_name = "linkage_alarm" _attr_translation_key = "linkage_alarm" - _attr_icon: str = "mdi:shield-link-variant" @CONFIG_DIAGNOSTIC_MATCH( @@ -607,7 +601,6 @@ class AqaraBuzzerManualMute(ZHASwitchConfigurationEntity): _unique_id_suffix = "buzzer_manual_mute" _attribute_name = "buzzer_manual_mute" _attr_translation_key = "buzzer_manual_mute" - _attr_icon: str = "mdi:volume-off" @CONFIG_DIAGNOSTIC_MATCH( @@ -619,7 +612,6 @@ class AqaraBuzzerManualAlarm(ZHASwitchConfigurationEntity): _unique_id_suffix = "buzzer_manual_alarm" _attribute_name = "buzzer_manual_alarm" _attr_translation_key = "buzzer_manual_alarm" - _attr_icon: str = "mdi:bullhorn" @CONFIG_DIAGNOSTIC_MATCH(cluster_handler_names=CLUSTER_HANDLER_COVER) @@ -632,7 +624,6 @@ class WindowCoveringInversionSwitch(ZHASwitchConfigurationEntity): _unique_id_suffix = "inverted" _attribute_name = WindowCovering.AttributeDefs.config_status.name _attr_translation_key = "inverted" - _attr_icon: str = "mdi:arrow-up-down" @classmethod def create_entity( @@ -726,4 +717,3 @@ class AqaraE1CurtainMotorHooksLockedSwitch(ZHASwitchConfigurationEntity): _unique_id_suffix = "hooks_lock" _attribute_name = "hooks_lock" _attr_translation_key = "hooks_locked" - _attr_icon: str = "mdi:lock"