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 entitiespull/90855/head
parent
65b877bb77
commit
0d019a3c4c
|
@ -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,
|
||||
|
|
|
@ -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__(
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue