From df6317f65e41c1210a743d6f6ad8315be2ec1f3b Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 29 May 2023 23:36:53 +0200 Subject: [PATCH] Add entity name translations to Buienradar (#91511) Co-authored-by: Erik Montnemery --- homeassistant/components/buienradar/const.py | 46 ++ homeassistant/components/buienradar/sensor.py | 261 ++++++---- .../components/buienradar/strings.json | 478 ++++++++++++++++++ 3 files changed, 676 insertions(+), 109 deletions(-) diff --git a/homeassistant/components/buienradar/const.py b/homeassistant/components/buienradar/const.py index 6af579dd74f..8111f63c923 100644 --- a/homeassistant/components/buienradar/const.py +++ b/homeassistant/components/buienradar/const.py @@ -18,3 +18,49 @@ DEFAULT_COUNTRY = "NL" SCHEDULE_OK = 10 """When an error occurred, new call after (minutes).""" SCHEDULE_NOK = 2 + +STATE_CONDITIONS = ["clear", "cloudy", "fog", "rainy", "snowy", "lightning"] + +STATE_DETAILED_CONDITIONS = [ + "clear", + "partlycloudy", + "partlycloudy-fog", + "partlycloudy-light-rain", + "partlycloudy-rain", + "cloudy", + "fog", + "rainy", + "light-rain", + "light-snow", + "partlycloudy-light-snow", + "partlycloudy-snow", + "partlycloudy-lightning", + "snowy", + "snowy-rainy", + "lightning", +] + +STATE_CONDITION_CODES = [ + "a", + "b", + "j", + "o", + "r", + "c", + "p", + "d", + "n", + "f", + "h", + "k", + "l", + "q", + "w", + "m", + "u", + "i", + "v", + "t", + "g", + "s", +] diff --git a/homeassistant/components/buienradar/sensor.py b/homeassistant/components/buienradar/sensor.py index 06b97cdedad..b5c6e9cf32c 100644 --- a/homeassistant/components/buienradar/sensor.py +++ b/homeassistant/components/buienradar/sensor.py @@ -48,7 +48,14 @@ from homeassistant.core import HomeAssistant, callback from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.util import dt as dt_util -from .const import CONF_TIMEFRAME, DEFAULT_TIMEFRAME, DOMAIN +from .const import ( + CONF_TIMEFRAME, + DEFAULT_TIMEFRAME, + DOMAIN, + STATE_CONDITION_CODES, + STATE_CONDITIONS, + STATE_DETAILED_CONDITIONS, +) from .util import BrData _LOGGER = logging.getLogger(__name__) @@ -67,584 +74,620 @@ STATIONNAME_LABEL = "Stationname" SENSOR_TYPES: tuple[SensorEntityDescription, ...] = ( SensorEntityDescription( key="stationname", - name=STATIONNAME_LABEL, + translation_key="stationname", ), # new in json api (>1.0.0): SensorEntityDescription( key="barometerfc", - name="Barometer value", + translation_key="barometerfc", icon="mdi:gauge", ), # new in json api (>1.0.0): SensorEntityDescription( key="barometerfcname", - name="Barometer", + translation_key="barometerfcname", icon="mdi:gauge", ), # new in json api (>1.0.0): SensorEntityDescription( key="barometerfcnamenl", - name="Barometer", + translation_key="barometerfcnamenl", icon="mdi:gauge", ), SensorEntityDescription( key="condition", - name="Condition", + translation_key="condition", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="conditioncode", - name="Condition code", + translation_key="conditioncode", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditiondetailed", - name="Detailed condition", + translation_key="conditiondetailed", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditionexact", - name="Full condition", + translation_key="conditionexact", ), SensorEntityDescription( key="symbol", - name="Symbol", + translation_key="symbol", ), # new in json api (>1.0.0): SensorEntityDescription( key="feeltemperature", - name="Feel temperature", + translation_key="feeltemperature", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="humidity", - name="Humidity", + translation_key="humidity", native_unit_of_measurement=PERCENTAGE, icon="mdi:water-percent", state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="temperature", - name="Temperature", + translation_key="temperature", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="groundtemperature", - name="Ground temperature", + translation_key="groundtemperature", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="windspeed", - name="Wind speed", + translation_key="windspeed", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="windforce", - name="Wind force", + translation_key="windforce", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="winddirection", - name="Wind direction", + translation_key="winddirection", icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth", - name="Wind direction azimuth", + translation_key="windazimuth", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="pressure", - name="Pressure", + translation_key="pressure", native_unit_of_measurement=UnitOfPressure.HPA, icon="mdi:gauge", state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="visibility", - name="Visibility", + translation_key="visibility", native_unit_of_measurement=UnitOfLength.KILOMETERS, device_class=SensorDeviceClass.DISTANCE, state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="windgust", - name="Wind gust", + translation_key="windgust", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="precipitation", - name="Precipitation", + translation_key="precipitation", native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR, state_class=SensorStateClass.MEASUREMENT, device_class=SensorDeviceClass.PRECIPITATION_INTENSITY, ), SensorEntityDescription( key="irradiance", - name="Irradiance", + translation_key="irradiance", device_class=SensorDeviceClass.IRRADIANCE, native_unit_of_measurement=UnitOfIrradiance.WATTS_PER_SQUARE_METER, state_class=SensorStateClass.MEASUREMENT, ), SensorEntityDescription( key="precipitation_forecast_average", - name="Precipitation forecast average", + translation_key="precipitation_forecast_average", native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR, device_class=SensorDeviceClass.PRECIPITATION_INTENSITY, ), SensorEntityDescription( key="precipitation_forecast_total", - name="Precipitation forecast total", + translation_key="precipitation_forecast_total", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), # new in json api (>1.0.0): SensorEntityDescription( key="rainlast24hour", - name="Rain last 24h", + translation_key="rainlast24hour", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), # new in json api (>1.0.0): SensorEntityDescription( key="rainlasthour", - name="Rain last hour", + translation_key="rainlasthour", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="temperature_1d", - name="Temperature 1d", + translation_key="temperature_1d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="temperature_2d", - name="Temperature 2d", + translation_key="temperature_2d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="temperature_3d", - name="Temperature 3d", + translation_key="temperature_3d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="temperature_4d", - name="Temperature 4d", + translation_key="temperature_4d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="temperature_5d", - name="Temperature 5d", + translation_key="temperature_5d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="mintemp_1d", - name="Minimum temperature 1d", + translation_key="mintemp_1d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="mintemp_2d", - name="Minimum temperature 2d", + translation_key="mintemp_2d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="mintemp_3d", - name="Minimum temperature 3d", + translation_key="mintemp_3d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="mintemp_4d", - name="Minimum temperature 4d", + translation_key="mintemp_4d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="mintemp_5d", - name="Minimum temperature 5d", + translation_key="mintemp_5d", native_unit_of_measurement=UnitOfTemperature.CELSIUS, device_class=SensorDeviceClass.TEMPERATURE, ), SensorEntityDescription( key="rain_1d", - name="Rain 1d", + translation_key="rain_1d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="rain_2d", - name="Rain 2d", + translation_key="rain_2d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="rain_3d", - name="Rain 3d", + translation_key="rain_3d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="rain_4d", - name="Rain 4d", + translation_key="rain_4d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="rain_5d", - name="Rain 5d", + translation_key="rain_5d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), # new in json api (>1.0.0): SensorEntityDescription( key="minrain_1d", - name="Minimum rain 1d", + translation_key="minrain_1d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="minrain_2d", - name="Minimum rain 2d", + translation_key="minrain_2d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="minrain_3d", - name="Minimum rain 3d", + translation_key="minrain_3d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="minrain_4d", - name="Minimum rain 4d", + translation_key="minrain_4d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="minrain_5d", - name="Minimum rain 5d", + translation_key="minrain_5d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), # new in json api (>1.0.0): SensorEntityDescription( key="maxrain_1d", - name="Maximum rain 1d", + translation_key="maxrain_1d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="maxrain_2d", - name="Maximum rain 2d", + translation_key="maxrain_2d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="maxrain_3d", - name="Maximum rain 3d", + translation_key="maxrain_3d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="maxrain_4d", - name="Maximum rain 4d", + translation_key="maxrain_4d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="maxrain_5d", - name="Maximum rain 5d", + translation_key="maxrain_5d", native_unit_of_measurement=UnitOfPrecipitationDepth.MILLIMETERS, device_class=SensorDeviceClass.PRECIPITATION, ), SensorEntityDescription( key="rainchance_1d", - name="Rainchance 1d", + translation_key="rainchance_1d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-pouring", ), SensorEntityDescription( key="rainchance_2d", - name="Rainchance 2d", + translation_key="rainchance_2d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-pouring", ), SensorEntityDescription( key="rainchance_3d", - name="Rainchance 3d", + translation_key="rainchance_3d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-pouring", ), SensorEntityDescription( key="rainchance_4d", - name="Rainchance 4d", + translation_key="rainchance_4d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-pouring", ), SensorEntityDescription( key="rainchance_5d", - name="Rainchance 5d", + translation_key="rainchance_5d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-pouring", ), SensorEntityDescription( key="sunchance_1d", - name="Sunchance 1d", + translation_key="sunchance_1d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-partly-cloudy", ), SensorEntityDescription( key="sunchance_2d", - name="Sunchance 2d", + translation_key="sunchance_2d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-partly-cloudy", ), SensorEntityDescription( key="sunchance_3d", - name="Sunchance 3d", + translation_key="sunchance_3d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-partly-cloudy", ), SensorEntityDescription( key="sunchance_4d", - name="Sunchance 4d", + translation_key="sunchance_4d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-partly-cloudy", ), SensorEntityDescription( key="sunchance_5d", - name="Sunchance 5d", + translation_key="sunchance_5d", native_unit_of_measurement=PERCENTAGE, icon="mdi:weather-partly-cloudy", ), SensorEntityDescription( key="windforce_1d", - name="Wind force 1d", + translation_key="windforce_1d", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="windforce_2d", - name="Wind force 2d", + translation_key="windforce_2d", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="windforce_3d", - name="Wind force 3d", + translation_key="windforce_3d", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="windforce_4d", - name="Wind force 4d", + translation_key="windforce_4d", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="windforce_5d", - name="Wind force 5d", + translation_key="windforce_5d", native_unit_of_measurement="Bft", icon="mdi:weather-windy", ), SensorEntityDescription( key="windspeed_1d", - name="Wind speed 1d", + translation_key="windspeed_1d", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="windspeed_2d", - name="Wind speed 2d", + translation_key="windspeed_2d", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="windspeed_3d", - name="Wind speed 3d", + translation_key="windspeed_3d", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="windspeed_4d", - name="Wind speed 4d", + translation_key="windspeed_4d", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="windspeed_5d", - name="Wind speed 5d", + translation_key="windspeed_5d", native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR, device_class=SensorDeviceClass.WIND_SPEED, ), SensorEntityDescription( key="winddirection_1d", - name="Wind direction 1d", + translation_key="winddirection_1d", icon="mdi:compass-outline", ), SensorEntityDescription( key="winddirection_2d", - name="Wind direction 2d", + translation_key="winddirection_2d", icon="mdi:compass-outline", ), SensorEntityDescription( key="winddirection_3d", - name="Wind direction 3d", + translation_key="winddirection_3d", icon="mdi:compass-outline", ), SensorEntityDescription( key="winddirection_4d", - name="Wind direction 4d", + translation_key="winddirection_4d", icon="mdi:compass-outline", ), SensorEntityDescription( key="winddirection_5d", - name="Wind direction 5d", + translation_key="winddirection_5d", icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth_1d", - name="Wind direction azimuth 1d", + translation_key="windazimuth_1d", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth_2d", - name="Wind direction azimuth 2d", + translation_key="windazimuth_2d", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth_3d", - name="Wind direction azimuth 3d", + translation_key="windazimuth_3d", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth_4d", - name="Wind direction azimuth 4d", + translation_key="windazimuth_4d", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="windazimuth_5d", - name="Wind direction azimuth 5d", + translation_key="windazimuth_5d", native_unit_of_measurement=DEGREE, icon="mdi:compass-outline", ), SensorEntityDescription( key="condition_1d", - name="Condition 1d", + translation_key="condition_1d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="condition_2d", - name="Condition 2d", + translation_key="condition_2d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="condition_3d", - name="Condition 3d", + translation_key="condition_3d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="condition_4d", - name="Condition 4d", + translation_key="condition_4d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="condition_5d", - name="Condition 5d", + translation_key="condition_5d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITIONS, ), SensorEntityDescription( key="conditioncode_1d", - name="Condition code 1d", + translation_key="conditioncode_1d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditioncode_2d", - name="Condition code 2d", + translation_key="conditioncode_2d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditioncode_3d", - name="Condition code 3d", + translation_key="conditioncode_3d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditioncode_4d", - name="Condition code 4d", + translation_key="conditioncode_4d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditioncode_5d", - name="Condition code 5d", + translation_key="conditioncode_5d", + device_class=SensorDeviceClass.ENUM, + options=STATE_CONDITION_CODES, ), SensorEntityDescription( key="conditiondetailed_1d", - name="Detailed condition 1d", + translation_key="conditiondetailed_1d", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditiondetailed_2d", - name="Detailed condition 2d", + translation_key="conditiondetailed_2d", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditiondetailed_3d", - name="Detailed condition 3d", + translation_key="conditiondetailed_3d", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditiondetailed_4d", - name="Detailed condition 4d", + translation_key="conditiondetailed_4d", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditiondetailed_5d", - name="Detailed condition 5d", + translation_key="conditiondetailed_5d", + device_class=SensorDeviceClass.ENUM, + options=STATE_DETAILED_CONDITIONS, ), SensorEntityDescription( key="conditionexact_1d", - name="Full condition 1d", + translation_key="conditionexact_1d", ), SensorEntityDescription( key="conditionexact_2d", - name="Full condition 2d", + translation_key="conditionexact_2d", ), SensorEntityDescription( key="conditionexact_3d", - name="Full condition 3d", + translation_key="conditionexact_3d", ), SensorEntityDescription( key="conditionexact_4d", - name="Full condition 4d", + translation_key="conditionexact_4d", ), SensorEntityDescription( key="conditionexact_5d", - name="Full condition 5d", + translation_key="conditionexact_5d", ), SensorEntityDescription( key="symbol_1d", - name="Symbol 1d", + translation_key="symbol_1d", ), SensorEntityDescription( key="symbol_2d", - name="Symbol 2d", + translation_key="symbol_2d", ), SensorEntityDescription( key="symbol_3d", - name="Symbol 3d", + translation_key="symbol_3d", ), SensorEntityDescription( key="symbol_4d", - name="Symbol 4d", + translation_key="symbol_4d", ), SensorEntityDescription( key="symbol_5d", - name="Symbol 5d", + translation_key="symbol_5d", ), ) @@ -689,17 +732,17 @@ async def async_setup_entry( class BrSensor(SensorEntity): - """Representation of an Buienradar sensor.""" + """Representation of a Buienradar sensor.""" _attr_entity_registry_enabled_default = False _attr_should_poll = False + _attr_has_entity_name = True def __init__( self, client_name, coordinates, description: SensorEntityDescription ) -> None: """Initialize the sensor.""" self.entity_description = description - self._attr_name = f"{client_name} {description.name}" self._measured = None self._attr_unique_id = "{:2.6f}{:2.6f}{}".format( coordinates[CONF_LATITUDE], coordinates[CONF_LONGITUDE], description.key diff --git a/homeassistant/components/buienradar/strings.json b/homeassistant/components/buienradar/strings.json index 740068a952b..d7af3b66688 100644 --- a/homeassistant/components/buienradar/strings.json +++ b/homeassistant/components/buienradar/strings.json @@ -25,5 +25,483 @@ } } } + }, + "entity": { + "sensor": { + "stationname": { + "name": "Station name" + }, + "barometerfc": { + "name": "Barometer value" + }, + "barometerfcname": { + "name": "Barometer" + }, + "barometerfcnamenl": { + "name": "Barometer" + }, + "condition": { + "name": "Condition", + "state": { + "clear": "Clear", + "cloudy": "[%key:component::weather::entity_component::_::state::cloudy%]", + "fog": "[%key:component::weather::entity_component::_::state::fog%]", + "rainy": "[%key:component::weather::entity_component::_::state::rainy%]", + "snowy": "[%key:component::weather::entity_component::_::state::snowy%]", + "lightning": "[%key:component::weather::entity_component::_::state::lightning%]" + } + }, + "conditioncode": { + "name": "Condition code" + }, + "conditiondetailed": { + "name": "Detailed condition", + "state": { + "clear": "Clear", + "partlycloudy": "[%key:component::weather::entity_component::_::state::partlycloudy%]", + "partlycloudy-fog": "Partly cloudy, fog", + "partlycloudy-light-rain": "Partly cloudy, light rain", + "partlycloudy-rain": "Partly cloudy, rain", + "cloudy": "[%key:component::weather::entity_component::_::state::cloudy%]", + "fog": "[%key:component::weather::entity_component::_::state::fog%]", + "rainy": "[%key:component::weather::entity_component::_::state::rainy%]", + "light-rain": "Light rain", + "light-snow": "Light snow", + "partlycloudy-light-snow": "Partly cloudy, light snow", + "partlycloudy-snow": "Partly cloudy, snow", + "partlycloudy-lightning": "Partly cloudy, lightning", + "snowy": "[%key:component::weather::entity_component::_::state::snowy%]", + "snowy-rainy": "[%key:component::weather::entity_component::_::state::snowy-rainy%]", + "lightning": "[%key:component::weather::entity_component::_::state::lightning%]" + } + }, + "conditionexact": { + "name": "Full condition" + }, + "symbol": { + "name": "Symbol" + }, + "feeltemperature": { + "name": "Feel temperature" + }, + "humidity": { + "name": "[%key:component::sensor::entity_component::humidity::name%]" + }, + "temperature": { + "name": "[%key:component::sensor::entity_component::temperature::name%]" + }, + "groundtemperature": { + "name": "Ground temperature" + }, + "windspeed": { + "name": "[%key:component::sensor::entity_component::wind_speed::name%]" + }, + "windforce": { + "name": "Wind force" + }, + "winddirection": { + "name": "Wind direction" + }, + "windazimuth": { + "name": "Wind direction azimuth" + }, + "pressure": { + "name": "[%key:component::sensor::entity_component::pressure::name%]" + }, + "visibility": { + "name": "[%key:component::weather::entity_component::_::state_attributes::visibility::name%]" + }, + "windgust": { + "name": "Wind gust" + }, + "precipitation": { + "name": "[%key:component::sensor::entity_component::precipitation::name%]" + }, + "irradiance": { + "name": "[%key:component::sensor::entity_component::irradiance::name%]" + }, + "precipitation_forecast_average": { + "name": "Precipitation forecast average" + }, + "precipitation_forecast_total": { + "name": "Precipitation forecast total" + }, + "rainlast24hour": { + "name": "Rain last 24h" + }, + "rainlasthour": { + "name": "Rain last hour" + }, + "temperature_1d": { + "name": "Temperature 1d" + }, + "temperature_2d": { + "name": "Temperature 2d" + }, + "temperature_3d": { + "name": "Temperature 3d" + }, + "temperature_4d": { + "name": "Temperature 4d" + }, + "temperature_5d": { + "name": "Temperature 5d" + }, + "mintemp_1d": { + "name": "Minimum temperature 1d" + }, + "mintemp_2d": { + "name": "Minimum temperature 2d" + }, + "mintemp_3d": { + "name": "Minimum temperature 3d" + }, + "mintemp_4d": { + "name": "Minimum temperature 4d" + }, + "mintemp_5d": { + "name": "Minimum temperature 5d" + }, + "rain_1d": { + "name": "Rain 1d" + }, + "rain_2d": { + "name": "Rain 2d" + }, + "rain_3d": { + "name": "Rain 3d" + }, + "rain_4d": { + "name": "Rain 4d" + }, + "rain_5d": { + "name": "Rain 5d" + }, + "minrain_1d": { + "name": "Minimum rain 1d" + }, + "minrain_2d": { + "name": "Minimum rain 2d" + }, + "minrain_3d": { + "name": "Minimum rain 3d" + }, + "minrain_4d": { + "name": "Minimum rain 4d" + }, + "minrain_5d": { + "name": "Minimum rain 5d" + }, + "maxrain_1d": { + "name": "Maximum rain 1d" + }, + "maxrain_2d": { + "name": "Maximum rain 2d" + }, + "maxrain_3d": { + "name": "Maximum rain 3d" + }, + "maxrain_4d": { + "name": "Maximum rain 4d" + }, + "maxrain_5d": { + "name": "Maximum rain 5d" + }, + "rainchance_1d": { + "name": "Rainchance 1d" + }, + "rainchance_2d": { + "name": "Rainchance 2d" + }, + "rainchance_3d": { + "name": "Rainchance 3d" + }, + "rainchance_4d": { + "name": "Rainchance 4d" + }, + "rainchance_5d": { + "name": "Rainchance 5d" + }, + "sunchance_1d": { + "name": "Sunchance 1d" + }, + "sunchance_2d": { + "name": "Sunchance 2d" + }, + "sunchance_3d": { + "name": "Sunchance 3d" + }, + "sunchance_4d": { + "name": "Sunchance 4d" + }, + "sunchance_5d": { + "name": "Sunchance 5d" + }, + "windforce_1d": { + "name": "Wind force 1d" + }, + "windforce_2d": { + "name": "Wind force 2d" + }, + "windforce_3d": { + "name": "Wind force 3d" + }, + "windforce_4d": { + "name": "Wind force 4d" + }, + "windforce_5d": { + "name": "Wind force 5d" + }, + "windspeed_1d": { + "name": "Wind speed 1d" + }, + "windspeed_2d": { + "name": "Wind speed 2d" + }, + "windspeed_3d": { + "name": "Wind speed 3d" + }, + "windspeed_4d": { + "name": "Wind speed 4d" + }, + "windspeed_5d": { + "name": "Wind speed 5d" + }, + "winddirection_1d": { + "name": "Wind direction 1d" + }, + "winddirection_2d": { + "name": "Wind direction 2d" + }, + "winddirection_3d": { + "name": "Wind direction 3d" + }, + "winddirection_4d": { + "name": "Wind direction 4d" + }, + "winddirection_5d": { + "name": "Wind direction 5d" + }, + "windazimuth_1d": { + "name": "Wind direction azimuth 1d" + }, + "windazimuth_2d": { + "name": "Wind direction azimuth 2d" + }, + "windazimuth_3d": { + "name": "Wind direction azimuth 3d" + }, + "windazimuth_4d": { + "name": "Wind direction azimuth 4d" + }, + "windazimuth_5d": { + "name": "Wind direction azimuth 5d" + }, + "condition_1d": { + "name": "Condition 1d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::condition::state::clear%]", + "cloudy": "[%key:component::buienradar::entity::sensor::condition::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::condition::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::condition::state::rainy%]", + "snowy": "[%key:component::buienradar::entity::sensor::condition::state::snowy%]", + "lightning": "[%key:component::buienradar::entity::sensor::condition::state::lightning%]" + } + }, + "condition_2d": { + "name": "Condition 2d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::condition::state::clear%]", + "cloudy": "[%key:component::buienradar::entity::sensor::condition::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::condition::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::condition::state::rainy%]", + "snowy": "[%key:component::buienradar::entity::sensor::condition::state::snowy%]", + "lightning": "[%key:component::buienradar::entity::sensor::condition::state::lightning%]" + } + }, + "condition_3d": { + "name": "Condition 3d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::condition::state::clear%]", + "cloudy": "[%key:component::buienradar::entity::sensor::condition::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::condition::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::condition::state::rainy%]", + "snowy": "[%key:component::buienradar::entity::sensor::condition::state::snowy%]", + "lightning": "[%key:component::buienradar::entity::sensor::condition::state::lightning%]" + } + }, + "condition_4d": { + "name": "Condition 4d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::condition::state::clear%]", + "cloudy": "[%key:component::buienradar::entity::sensor::condition::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::condition::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::condition::state::rainy%]", + "snowy": "[%key:component::buienradar::entity::sensor::condition::state::snowy%]", + "lightning": "[%key:component::buienradar::entity::sensor::condition::state::lightning%]" + } + }, + "condition_5d": { + "name": "Condition 5d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::condition::state::clear%]", + "cloudy": "[%key:component::buienradar::entity::sensor::condition::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::condition::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::condition::state::rainy%]", + "snowy": "[%key:component::buienradar::entity::sensor::condition::state::snowy%]", + "lightning": "[%key:component::buienradar::entity::sensor::condition::state::lightning%]" + } + }, + "conditioncode_1d": { + "name": "Condition code 1d" + }, + "conditioncode_2d": { + "name": "Condition code 2d" + }, + "conditioncode_3d": { + "name": "Condition code 3d" + }, + "conditioncode_4d": { + "name": "Condition code 4d" + }, + "conditioncode_5d": { + "name": "Condition code 5d" + }, + "conditiondetailed_1d": { + "name": "Detailed condition 1d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::clear%]", + "partlycloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy%]", + "partlycloudy-fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-fog%]", + "partlycloudy-light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-rain%]", + "partlycloudy-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-rain%]", + "cloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::rainy%]", + "light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-rain%]", + "light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-snow%]", + "partlycloudy-light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-snow%]", + "partlycloudy-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-snow%]", + "partlycloudy-lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-lightning%]", + "snowy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy%]", + "snowy-rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy-rainy%]", + "lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::lightning%]" + } + }, + "conditiondetailed_2d": { + "name": "Detailed condition 2d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::clear%]", + "partlycloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy%]", + "partlycloudy-fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-fog%]", + "partlycloudy-light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-rain%]", + "partlycloudy-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-rain%]", + "cloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::rainy%]", + "light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-rain%]", + "light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-snow%]", + "partlycloudy-light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-snow%]", + "partlycloudy-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-snow%]", + "partlycloudy-lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-lightning%]", + "snowy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy%]", + "snowy-rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy-rainy%]", + "lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::lightning%]" + } + }, + "conditiondetailed_3d": { + "name": "Detailed condition 3d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::clear%]", + "partlycloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy%]", + "partlycloudy-fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-fog%]", + "partlycloudy-light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-rain%]", + "partlycloudy-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-rain%]", + "cloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::rainy%]", + "light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-rain%]", + "light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-snow%]", + "partlycloudy-light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-snow%]", + "partlycloudy-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-snow%]", + "partlycloudy-lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-lightning%]", + "snowy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy%]", + "snowy-rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy-rainy%]", + "lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::lightning%]" + } + }, + "conditiondetailed_4d": { + "name": "Detailed condition 4d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::clear%]", + "partlycloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy%]", + "partlycloudy-fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-fog%]", + "partlycloudy-light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-rain%]", + "partlycloudy-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-rain%]", + "cloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::rainy%]", + "light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-rain%]", + "light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-snow%]", + "partlycloudy-light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-snow%]", + "partlycloudy-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-snow%]", + "partlycloudy-lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-lightning%]", + "snowy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy%]", + "snowy-rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy-rainy%]", + "lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::lightning%]" + } + }, + "conditiondetailed_5d": { + "name": "Detailed condition 5d", + "state": { + "clear": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::clear%]", + "partlycloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy%]", + "partlycloudy-fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-fog%]", + "partlycloudy-light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-rain%]", + "partlycloudy-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-rain%]", + "cloudy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::cloudy%]", + "fog": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::fog%]", + "rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::rainy%]", + "light-rain": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-rain%]", + "light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::light-snow%]", + "partlycloudy-light-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-light-snow%]", + "partlycloudy-snow": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-snow%]", + "partlycloudy-lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::partlycloudy-lightning%]", + "snowy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy%]", + "snowy-rainy": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::snowy-rainy%]", + "lightning": "[%key:component::buienradar::entity::sensor::conditiondetailed::state::lightning%]" + } + }, + "conditionexact_1d": { + "name": "Full condition 1d" + }, + "conditionexact_2d": { + "name": "Full condition 2d" + }, + "conditionexact_3d": { + "name": "Full condition 3d" + }, + "conditionexact_4d": { + "name": "Full condition 4d" + }, + "conditionexact_5d": { + "name": "Full condition 5d" + }, + "symbol_1d": { + "name": "Symbol 1d" + }, + "symbol_2d": { + "name": "Symbol 2d" + }, + "symbol_3d": { + "name": "Symbol 3d" + }, + "symbol_4d": { + "name": "Symbol 4d" + }, + "symbol_5d": { + "name": "Symbol 5d" + } + } } }