Add icon translations to ZHA (#112368)

pull/113464/head
Joost Lekkerkerker 2024-03-14 19:28:54 +01:00 committed by GitHub
parent 5c59b4d846
commit 2b3f0a9459
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 178 additions and 51 deletions

View File

@ -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

View File

@ -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"
}
}

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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"