From 0d019a3c4c0e0b16495958f843604547e2d4e6da Mon Sep 17 00:00:00 2001 From: Tom Puttemans Date: Wed, 5 Apr 2023 16:59:07 +0200 Subject: [PATCH] Support entity name translation in DSMR Reader component (#90836) * Use translation_key instead of name for the entity names and enum values This change allows for the translation of entity names and their values based on a key, instead of having the English text in the code * Adjusted tariff options order Not really wrong, but this way it is consistent with all other entities --- .../components/dsmr_reader/definitions.py | 164 ++++++------ .../components/dsmr_reader/sensor.py | 1 + .../components/dsmr_reader/strings.json | 251 ++++++++++++++++++ 3 files changed, 335 insertions(+), 81 deletions(-) diff --git a/homeassistant/components/dsmr_reader/definitions.py b/homeassistant/components/dsmr_reader/definitions.py index ddf149d680f..33bba375fd3 100644 --- a/homeassistant/components/dsmr_reader/definitions.py +++ b/homeassistant/components/dsmr_reader/definitions.py @@ -48,49 +48,49 @@ class DSMRReaderSensorEntityDescription(SensorEntityDescription): SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_delivered_1", - name="Low tariff usage", + translation_key="low_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_returned_1", - name="Low tariff returned", + translation_key="low_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_delivered_2", - name="High tariff usage", + translation_key="high_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_returned_2", - name="High tariff returned", + translation_key="high_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_currently_delivered", - name="Current power usage", + translation_key="current_power_usage", device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, state_class=SensorStateClass.MEASUREMENT, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/electricity_currently_returned", - name="Current power return", + translation_key="current_power_return", device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, state_class=SensorStateClass.MEASUREMENT, ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_delivered_l1", - name="Current power usage L1", + translation_key="current_power_usage_l1", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -98,7 +98,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_delivered_l2", - name="Current power usage L2", + translation_key="current_power_usage_l2", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -106,7 +106,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_delivered_l3", - name="Current power usage L3", + translation_key="current_power_usage_l3", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -114,7 +114,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_returned_l1", - name="Current power return L1", + translation_key="current_power_return_l1", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -122,7 +122,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_returned_l2", - name="Current power return L2", + translation_key="current_power_return_l2", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -130,7 +130,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_currently_returned_l3", - name="Current power return L3", + translation_key="current_power_return_l3", entity_registry_enabled_default=False, device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, @@ -138,7 +138,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/extra_device_delivered", - name="Gas meter usage", + translation_key="gas_meter_usage", entity_registry_enabled_default=False, icon="mdi:fire", native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, @@ -146,7 +146,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_voltage_l1", - name="Current voltage L1", + translation_key="current_voltage_l1", entity_registry_enabled_default=False, device_class=SensorDeviceClass.VOLTAGE, native_unit_of_measurement=UnitOfElectricPotential.VOLT, @@ -154,7 +154,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_voltage_l2", - name="Current voltage L2", + translation_key="current_voltage_l2", entity_registry_enabled_default=False, device_class=SensorDeviceClass.VOLTAGE, native_unit_of_measurement=UnitOfElectricPotential.VOLT, @@ -162,7 +162,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_voltage_l3", - name="Current voltage L3", + translation_key="current_voltage_l3", entity_registry_enabled_default=False, device_class=SensorDeviceClass.VOLTAGE, native_unit_of_measurement=UnitOfElectricPotential.VOLT, @@ -170,7 +170,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_power_current_l1", - name="Phase power current L1", + translation_key="phase_power_current_l1", entity_registry_enabled_default=False, device_class=SensorDeviceClass.CURRENT, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE, @@ -178,7 +178,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_power_current_l2", - name="Phase power current L2", + translation_key="phase_power_current_l2", entity_registry_enabled_default=False, device_class=SensorDeviceClass.CURRENT, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE, @@ -186,7 +186,7 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/phase_power_current_l3", - name="Phase power current L3", + translation_key="phase_power_current_l3", entity_registry_enabled_default=False, device_class=SensorDeviceClass.CURRENT, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE, @@ -194,384 +194,386 @@ SENSORS: tuple[DSMRReaderSensorEntityDescription, ...] = ( ), DSMRReaderSensorEntityDescription( key="dsmr/reading/timestamp", - name="Telegram timestamp", + translation_key="telegram_timestamp", entity_registry_enabled_default=False, device_class=SensorDeviceClass.TIMESTAMP, state=dt_util.parse_datetime, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/gas/delivered", - name="Gas usage", + translation_key="gas_usage", device_class=SensorDeviceClass.GAS, native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/gas/currently_delivered", - name="Current gas usage", + translation_key="current_gas_usage", native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, state_class=SensorStateClass.MEASUREMENT, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/gas/read_at", - name="Gas meter read", + translation_key="gas_meter_read", entity_registry_enabled_default=False, device_class=SensorDeviceClass.TIMESTAMP, state=dt_util.parse_datetime, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity1", - name="Low tariff usage (daily)", + translation_key="daily_low_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity2", - name="High tariff usage (daily)", + translation_key="daily_high_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity1_returned", - name="Low tariff return (daily)", + translation_key="daily_low_tariff_return", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity2_returned", - name="High tariff return (daily)", + translation_key="daily_high_tariff_return", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity_merged", - name="Power usage total (daily)", + translation_key="daily_power_usage_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity_returned_merged", - name="Power return total (daily)", + translation_key="daily_power_return_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, state_class=SensorStateClass.TOTAL_INCREASING, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity1_cost", - name="Low tariff cost (daily)", + translation_key="daily_low_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity2_cost", - name="High tariff cost (daily)", + translation_key="daily_high_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/electricity_cost_merged", - name="Power total cost (daily)", + translation_key="daily_power_total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/gas", - name="Gas usage (daily)", + translation_key="daily_gas_usage", icon="mdi:counter", native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/gas_cost", - name="Gas cost", + translation_key="gas_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/total_cost", - name="Total cost", + translation_key="total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/energy_supplier_price_electricity_delivered_1", - name="Low tariff delivered price", + translation_key="low_tariff_delivered_price", icon="mdi:currency-eur", native_unit_of_measurement=PRICE_EUR_KWH, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/energy_supplier_price_electricity_delivered_2", - name="High tariff delivered price", + translation_key="high_tariff_delivered_price", icon="mdi:currency-eur", native_unit_of_measurement=PRICE_EUR_KWH, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/energy_supplier_price_electricity_returned_1", - name="Low tariff returned price", + translation_key="low_tariff_returned_price", icon="mdi:currency-eur", native_unit_of_measurement=PRICE_EUR_KWH, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/energy_supplier_price_electricity_returned_2", - name="High tariff returned price", + translation_key="high_tariff_returned_price", icon="mdi:currency-eur", native_unit_of_measurement=PRICE_EUR_KWH, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/energy_supplier_price_gas", - name="Gas price", + translation_key="gas_price", icon="mdi:currency-eur", native_unit_of_measurement=PRICE_EUR_M3, ), DSMRReaderSensorEntityDescription( key="dsmr/day-consumption/fixed_cost", - name="Current day fixed cost", + translation_key="current_day_fixed_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/dsmr_version", - name="DSMR version", + translation_key="dsmr_version", entity_registry_enabled_default=False, icon="mdi:alert-circle", state=dsmr_transform, ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/electricity_tariff", - name="Electricity tariff", + translation_key="electricity_tariff", + device_class=SensorDeviceClass.ENUM, + options=["low", "high"], icon="mdi:flash", state=tariff_transform, ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/power_failure_count", - name="Power failure count", + translation_key="power_failure_count", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/long_power_failure_count", - name="Long power failure count", + translation_key="long_power_failure_count", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_sag_count_l1", - name="Voltage sag L1", + translation_key="voltage_sag_l1", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_sag_count_l2", - name="Voltage sag L2", + translation_key="voltage_sag_l2", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_sag_count_l3", - name="Voltage sag L3", + translation_key="voltage_sag_l3", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_swell_count_l1", - name="Voltage swell L1", + translation_key="voltage_swell_l1", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_swell_count_l2", - name="Voltage swell L2", + translation_key="voltage_swell_l2", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/voltage_swell_count_l3", - name="Voltage swell L3", + translation_key="voltage_swell_l3", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/meter-stats/rejected_telegrams", - name="Rejected telegrams", + translation_key="rejected_telegrams", entity_registry_enabled_default=False, icon="mdi:flash", ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity1", - name="Current month low tariff usage", + translation_key="current_month_low_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity2", - name="Current month high tariff usage", + translation_key="current_month_high_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity1_returned", - name="Current month low tariff returned", + translation_key="current_month_low_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity2_returned", - name="Current month high tariff returned", + translation_key="current_month_high_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity_merged", - name="Current month power usage total", + translation_key="current_month_power_usage_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity_returned_merged", - name="Current month power return total", + translation_key="current_month_power_return_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity1_cost", - name="Current month low tariff cost", + translation_key="current_month_low_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity2_cost", - name="Current month high tariff cost", + translation_key="current_month_high_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/electricity_cost_merged", - name="Current month power total cost", + translation_key="current_month_power_total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/gas", - name="Current month gas usage", + translation_key="current_month_gas_usage", icon="mdi:counter", native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/gas_cost", - name="Current month gas cost", + translation_key="current_month_gas_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/fixed_cost", - name="Current month fixed cost", + translation_key="current_month_fixed_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-month/total_cost", - name="Current month total cost", + translation_key="current_month_total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity1", - name="Current year low tariff usage", + translation_key="current_year_low_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity2", - name="Current year high tariff usage", + translation_key="current_year_high_tariff_usage", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity1_returned", - name="Current year low tariff returned", + translation_key="current_year_low_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity2_returned", - name="Current year high tariff returned", + translation_key="current_year_high_tariff_returned", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity_merged", - name="Current year power usage total", + translation_key="current_year_power_usage_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity_returned_merged", - name="Current year power returned total", + translation_key="current_year_power_returned_total", device_class=SensorDeviceClass.ENERGY, native_unit_of_measurement=UnitOfEnergy.KILO_WATT_HOUR, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity1_cost", - name="Current year low tariff cost", + translation_key="current_year_low_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity2_cost", - name="Current year high tariff cost", + translation_key="current_year_high_tariff_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/electricity_cost_merged", - name="Current year power total cost", + translation_key="current_year_power_total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/gas", - name="Current year gas usage", + translation_key="current_year_gas_usage", icon="mdi:counter", native_unit_of_measurement=UnitOfVolume.CUBIC_METERS, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/gas_cost", - name="Current year gas cost", + translation_key="current_year_gas_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/fixed_cost", - name="Current year fixed cost", + translation_key="current_year_fixed_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/current-year/total_cost", - name="Current year total cost", + translation_key="current_year_total_cost", icon="mdi:currency-eur", native_unit_of_measurement=CURRENCY_EURO, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/quarter-hour-peak-electricity/average_delivered", - name="Previous quarter-hour peak usage", + translation_key="previous_quarter_hour_peak_usage", device_class=SensorDeviceClass.POWER, native_unit_of_measurement=UnitOfPower.KILO_WATT, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/quarter-hour-peak-electricity/read_at_start", - name="Quarter-hour peak start time", + translation_key="quarter_hour_peak_start_time", entity_registry_enabled_default=False, device_class=SensorDeviceClass.TIMESTAMP, state=dt_util.parse_datetime, ), DSMRReaderSensorEntityDescription( key="dsmr/consumption/quarter-hour-peak-electricity/read_at_end", - name="Quarter-hour peak end time", + translation_key="quarter_hour_peak_end_time", entity_registry_enabled_default=False, device_class=SensorDeviceClass.TIMESTAMP, state=dt_util.parse_datetime, diff --git a/homeassistant/components/dsmr_reader/sensor.py b/homeassistant/components/dsmr_reader/sensor.py index 28dc0abb2df..c618995ed45 100644 --- a/homeassistant/components/dsmr_reader/sensor.py +++ b/homeassistant/components/dsmr_reader/sensor.py @@ -23,6 +23,7 @@ async def async_setup_entry( class DSMRSensor(SensorEntity): """Representation of a DSMR sensor that is updated via MQTT.""" + _attr_has_entity_name = True entity_description: DSMRReaderSensorEntityDescription def __init__( diff --git a/homeassistant/components/dsmr_reader/strings.json b/homeassistant/components/dsmr_reader/strings.json index 73c4ac04402..fce274e8917 100644 --- a/homeassistant/components/dsmr_reader/strings.json +++ b/homeassistant/components/dsmr_reader/strings.json @@ -8,5 +8,256 @@ "description": "Make sure to configure the 'split topic' data sources in DSMR Reader." } } + }, + "entity": { + "sensor": { + "low_tariff_usage": { + "name": "Low tariff usage" + }, + "low_tariff_returned": { + "name": "Low tariff returned" + }, + "high_tariff_usage": { + "name": "High tariff usage" + }, + "high_tariff_returned": { + "name": "High tariff returned" + }, + "current_power_usage": { + "name": "Current power usage" + }, + "current_power_return": { + "name": "Current power return" + }, + "current_power_usage_l1": { + "name": "Current power usage L1" + }, + "current_power_usage_l2": { + "name": "Current power usage L2" + }, + "current_power_usage_l3": { + "name": "Current power usage L3" + }, + "current_power_return_l1": { + "name": "Current power return L1" + }, + "current_power_return_l2": { + "name": "Current power return L2" + }, + "current_power_return_l3": { + "name": "Current power return L3" + }, + "gas_meter_usage": { + "name": "Gas meter usage" + }, + "current_voltage_l1": { + "name": "Current voltage L1" + }, + "current_voltage_l2": { + "name": "Current voltage L2" + }, + "current_voltage_l3": { + "name": "Current voltage L3" + }, + "phase_power_current_l1": { + "name": "Phase power current L1" + }, + "phase_power_current_l2": { + "name": "Phase power current L2" + }, + "phase_power_current_l3": { + "name": "Phase power current L3" + }, + "telegram_timestamp": { + "name": "Telegram timestamp" + }, + "gas_usage": { + "name": "Gas usage" + }, + "current_gas_usage": { + "name": "Current gas usage" + }, + "gas_meter_read": { + "name": "Gas meter read" + }, + "daily_low_tariff_usage": { + "name": "Low tariff usage (daily)" + }, + "daily_high_tariff_usage": { + "name": "High tariff usage (daily)" + }, + "daily_low_tariff_return": { + "name": "Low tariff return (daily)" + }, + "daily_high_tariff_return": { + "name": "High tariff return (daily)" + }, + "daily_power_usage_total": { + "name": "Power usage total (daily)" + }, + "daily_power_return_total": { + "name": "Power return total (daily)" + }, + "daily_low_tariff_cost": { + "name": "Low tariff cost (daily)" + }, + "daily_high_tariff_cost": { + "name": "High tariff cost (daily)" + }, + "daily_power_total_cost": { + "name": "Power total cost (daily)" + }, + "daily_gas_usage": { + "name": "Gas usage (daily)" + }, + "gas_cost": { + "name": "Gas cost" + }, + "total_cost": { + "name": "Total cost" + }, + "low_tariff_delivered_price": { + "name": "Low tariff delivered price" + }, + "high_tariff_delivered_price": { + "name": "High tariff delivered price" + }, + "low_tariff_returned_price": { + "name": "Low tariff returned price" + }, + "high_tariff_returned_price": { + "name": "High tariff returned price" + }, + "gas_price": { + "name": "Gas Price" + }, + "current_day_fixed_cost": { + "name": "Current day fixed cost" + }, + "dsmr_version": { + "name": "DSMR version" + }, + "electricity_tariff": { + "name": "Electricity tariff", + "state": { + "low": "Low", + "high": "High" + } + }, + "power_failure_count": { + "name": "Power failure count" + }, + "long_power_failure_count": { + "name": "Long power failure count" + }, + "voltage_sag_l1": { + "name": "Voltage sag L1" + }, + "voltage_sag_l2": { + "name": "Voltage sag L2" + }, + "voltage_sag_l3": { + "name": "Voltage sag L3" + }, + "voltage_swell_l1": { + "name": "Voltage swell L1" + }, + "voltage_swell_l2": { + "name": "Voltage swell L2" + }, + "voltage_swell_l3": { + "name": "Voltage swell L3" + }, + "rejected_telegrams": { + "name": "Rejected telegrams" + }, + "current_month_low_tariff_usage": { + "name": "Current month low tariff usage" + }, + "current_month_high_tariff_usage": { + "name": "Current month high tariff usage" + }, + "current_month_low_tariff_returned": { + "name": "Current month low tariff returned" + }, + "current_month_high_tariff_returned": { + "name": "Current month high tariff returned" + }, + "current_month_power_usage_total": { + "name": "Current month power usage total" + }, + "current_month_power_return_total": { + "name": "Current month power return total" + }, + "current_month_low_tariff_cost": { + "name": "Current month low tariff cost" + }, + "current_month_high_tariff_cost": { + "name": "Current month high tariff cost" + }, + "current_month_power_total_cost": { + "name": "Current month power total cost" + }, + "current_month_gas_usage": { + "name": "Current month gas usage" + }, + "current_month_gas_cost": { + "name": "Current month gas cost" + }, + "current_month_fixed_cost": { + "name": "Current month fixed cost" + }, + "current_month_total_cost": { + "name": "Current month total cost" + }, + "current_year_low_tariff_usage": { + "name": "Current year low tariff usage" + }, + "current_year_high_tariff_usage": { + "name": "Current year high tariff usage" + }, + "current_year_low_tariff_returned": { + "name": "Current year low tariff returned" + }, + "current_year_high_tariff_returned": { + "name": "Current year high tariff returned" + }, + "current_year_power_usage_total": { + "name": "Current year power usage total" + }, + "current_year_power_returned_total": { + "name": "Current year power returned total" + }, + "current_year_low_tariff_cost": { + "name": "Current year low tariff cost" + }, + "current_year_high_tariff_cost": { + "name": "Current year high tariff cost" + }, + "current_year_power_total_cost": { + "name": "Current year power total cost" + }, + "current_year_gas_usage": { + "name": "Current year gas usage" + }, + "current_year_gas_cost": { + "name": "Current year gas cost" + }, + "current_year_fixed_cost": { + "name": "Current year fixed cost" + }, + "current_year_total_cost": { + "name": "Current year total cost" + }, + "previous_quarter_hour_peak_usage": { + "name": "Previous quarter-hour peak usage" + }, + "quarter_hour_peak_start_time": { + "name": "Quarter-hour peak start time" + }, + "quarter_hour_peak_end_time": { + "name": "Quarter-hour peak end time" + } + } } }