From b53b162d05a1b8238eb41cc29355f2e4fd629dd3 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Wed, 28 Jun 2023 08:36:10 +0200 Subject: [PATCH] Add entity translations to Flo (#95347) * Add entity translations to Flo * Add entity translations to Flo --- homeassistant/components/flo/binary_sensor.py | 6 ++-- homeassistant/components/flo/entity.py | 2 -- homeassistant/components/flo/sensor.py | 35 +++++++++---------- homeassistant/components/flo/strings.json | 32 +++++++++++++++++ homeassistant/components/flo/switch.py | 4 ++- 5 files changed, 56 insertions(+), 23 deletions(-) diff --git a/homeassistant/components/flo/binary_sensor.py b/homeassistant/components/flo/binary_sensor.py index f5c051d1a70..d61f67cc623 100644 --- a/homeassistant/components/flo/binary_sensor.py +++ b/homeassistant/components/flo/binary_sensor.py @@ -45,10 +45,11 @@ class FloPendingAlertsBinarySensor(FloEntity, BinarySensorEntity): """Binary sensor that reports on if there are any pending system alerts.""" _attr_device_class = BinarySensorDeviceClass.PROBLEM + _attr_translation_key = "pending_system_alerts" def __init__(self, device): """Initialize the pending alerts binary sensor.""" - super().__init__("pending_system_alerts", "Pending system alerts", device) + super().__init__("pending_system_alerts", device) @property def is_on(self): @@ -71,10 +72,11 @@ class FloWaterDetectedBinarySensor(FloEntity, BinarySensorEntity): """Binary sensor that reports if water is detected (for leak detectors).""" _attr_device_class = BinarySensorDeviceClass.PROBLEM + _attr_translation_key = "water_detected" def __init__(self, device): """Initialize the pending alerts binary sensor.""" - super().__init__("water_detected", "Water detected", device) + super().__init__("water_detected", device) @property def is_on(self): diff --git a/homeassistant/components/flo/entity.py b/homeassistant/components/flo/entity.py index 39ad57f5c03..e9d02432598 100644 --- a/homeassistant/components/flo/entity.py +++ b/homeassistant/components/flo/entity.py @@ -20,12 +20,10 @@ class FloEntity(Entity): def __init__( self, entity_type: str, - name: str, device: FloDeviceDataUpdateCoordinator, **kwargs, ) -> None: """Init Flo entity.""" - self._attr_name = name self._attr_unique_id = f"{device.mac_address}_{entity_type}" self._device: FloDeviceDataUpdateCoordinator = device diff --git a/homeassistant/components/flo/sensor.py b/homeassistant/components/flo/sensor.py index 2c89123dac1..f0aca366cfb 100644 --- a/homeassistant/components/flo/sensor.py +++ b/homeassistant/components/flo/sensor.py @@ -22,14 +22,6 @@ from .entity import FloEntity WATER_ICON = "mdi:water" GAUGE_ICON = "mdi:gauge" -NAME_DAILY_USAGE = "Today's water usage" -NAME_CURRENT_SYSTEM_MODE = "Current system mode" -NAME_FLOW_RATE = "Water flow rate" -NAME_WATER_TEMPERATURE = "Water temperature" -NAME_AIR_TEMPERATURE = "Temperature" -NAME_WATER_PRESSURE = "Water pressure" -NAME_HUMIDITY = "Humidity" -NAME_BATTERY = "Battery" async def async_setup_entry( @@ -46,7 +38,7 @@ async def async_setup_entry( if device.device_type == "puck_oem": entities.extend( [ - FloTemperatureSensor(NAME_AIR_TEMPERATURE, device), + FloTemperatureSensor(device, False), FloHumiditySensor(device), FloBatterySensor(device), ] @@ -57,7 +49,7 @@ async def async_setup_entry( FloDailyUsageSensor(device), FloSystemModeSensor(device), FloCurrentFlowRateSensor(device), - FloTemperatureSensor(NAME_WATER_TEMPERATURE, device), + FloTemperatureSensor(device, True), FloPressureSensor(device), ] ) @@ -71,10 +63,11 @@ class FloDailyUsageSensor(FloEntity, SensorEntity): _attr_native_unit_of_measurement = UnitOfVolume.GALLONS _attr_state_class: SensorStateClass = SensorStateClass.TOTAL_INCREASING _attr_device_class = SensorDeviceClass.WATER + _attr_translation_key = "daily_consumption" def __init__(self, device): """Initialize the daily water usage sensor.""" - super().__init__("daily_consumption", NAME_DAILY_USAGE, device) + super().__init__("daily_consumption", device) self._state: float = None @property @@ -88,9 +81,11 @@ class FloDailyUsageSensor(FloEntity, SensorEntity): class FloSystemModeSensor(FloEntity, SensorEntity): """Monitors the current Flo system mode.""" + _attr_translation_key = "current_system_mode" + def __init__(self, device): """Initialize the system mode sensor.""" - super().__init__("current_system_mode", NAME_CURRENT_SYSTEM_MODE, device) + super().__init__("current_system_mode", device) self._state: str = None @property @@ -107,10 +102,11 @@ class FloCurrentFlowRateSensor(FloEntity, SensorEntity): _attr_icon = GAUGE_ICON _attr_native_unit_of_measurement = "gpm" _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _attr_translation_key = "current_flow_rate" def __init__(self, device): """Initialize the flow rate sensor.""" - super().__init__("current_flow_rate", NAME_FLOW_RATE, device) + super().__init__("current_flow_rate", device) self._state: float = None @property @@ -128,9 +124,11 @@ class FloTemperatureSensor(FloEntity, SensorEntity): _attr_native_unit_of_measurement = UnitOfTemperature.FAHRENHEIT _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT - def __init__(self, name, device): + def __init__(self, device, is_water): """Initialize the temperature sensor.""" - super().__init__("temperature", name, device) + super().__init__("temperature", device) + if is_water: + self._attr_translation_key = "water_temperature" self._state: float = None @property @@ -150,7 +148,7 @@ class FloHumiditySensor(FloEntity, SensorEntity): def __init__(self, device): """Initialize the humidity sensor.""" - super().__init__("humidity", NAME_HUMIDITY, device) + super().__init__("humidity", device) self._state: float = None @property @@ -167,10 +165,11 @@ class FloPressureSensor(FloEntity, SensorEntity): _attr_device_class = SensorDeviceClass.PRESSURE _attr_native_unit_of_measurement = UnitOfPressure.PSI _attr_state_class: SensorStateClass = SensorStateClass.MEASUREMENT + _attr_translation_key = "water_pressure" def __init__(self, device): """Initialize the pressure sensor.""" - super().__init__("water_pressure", NAME_WATER_PRESSURE, device) + super().__init__("water_pressure", device) self._state: float = None @property @@ -190,7 +189,7 @@ class FloBatterySensor(FloEntity, SensorEntity): def __init__(self, device): """Initialize the battery sensor.""" - super().__init__("battery", NAME_BATTERY, device) + super().__init__("battery", device) self._state: float = None @property diff --git a/homeassistant/components/flo/strings.json b/homeassistant/components/flo/strings.json index d6e3212b4ea..fadfc304fce 100644 --- a/homeassistant/components/flo/strings.json +++ b/homeassistant/components/flo/strings.json @@ -17,5 +17,37 @@ "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" } + }, + "entity": { + "binary_sensor": { + "pending_system_alerts": { + "name": "Pending system alerts" + }, + "water_detected": { + "name": "Water detected" + } + }, + "sensor": { + "daily_consumption": { + "name": "Today's water usage" + }, + "current_system_mode": { + "name": "Current system mode" + }, + "current_flow_rate": { + "name": "Water flow rate" + }, + "water_temperature": { + "name": "Water temperature" + }, + "water_pressure": { + "name": "Water pressure" + } + }, + "switch": { + "shutoff_valve": { + "name": "Shutoff valve" + } + } } } diff --git a/homeassistant/components/flo/switch.py b/homeassistant/components/flo/switch.py index 84c37bb4987..cd522ed177d 100644 --- a/homeassistant/components/flo/switch.py +++ b/homeassistant/components/flo/switch.py @@ -68,9 +68,11 @@ async def async_setup_entry( class FloSwitch(FloEntity, SwitchEntity): """Switch class for the Flo by Moen valve.""" + _attr_translation_key = "shutoff_valve" + def __init__(self, device: FloDeviceDataUpdateCoordinator) -> None: """Initialize the Flo switch.""" - super().__init__("shutoff_valve", "Shutoff valve", device) + super().__init__("shutoff_valve", device) self._state = self._device.last_known_valve_state == "open" @property