mirror of
https://github.com/home-assistant/core.git
synced 2026-05-08 17:49:37 +01:00
Make BTHome sensor entities translatable (#156060)
This commit is contained in:
committed by
GitHub
parent
818b7bb33f
commit
2bbf4ebc9e
@@ -59,6 +59,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
key=f"{BTHomeSensorDeviceClass.ACCELERATION}_{Units.ACCELERATION_METERS_PER_SQUARE_SECOND}",
|
||||
native_unit_of_measurement=Units.ACCELERATION_METERS_PER_SQUARE_SECOND,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="acceleration",
|
||||
),
|
||||
# Battery (percent)
|
||||
(BTHomeSensorDeviceClass.BATTERY, Units.PERCENTAGE): SensorEntityDescription(
|
||||
@@ -72,6 +73,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
(BTHomeExtendedSensorDeviceClass.CHANNEL, None): SensorEntityDescription(
|
||||
key=str(BTHomeExtendedSensorDeviceClass.CHANNEL),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="channel",
|
||||
),
|
||||
# Conductivity (μS/cm)
|
||||
(
|
||||
@@ -87,6 +89,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
(BTHomeSensorDeviceClass.COUNT, None): SensorEntityDescription(
|
||||
key=str(BTHomeSensorDeviceClass.COUNT),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="count",
|
||||
),
|
||||
# CO2 (parts per million)
|
||||
(
|
||||
@@ -114,12 +117,14 @@ SENSOR_DESCRIPTIONS = {
|
||||
device_class=SensorDeviceClass.TEMPERATURE,
|
||||
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="dew_point",
|
||||
),
|
||||
# Directions (°)
|
||||
(BTHomeExtendedSensorDeviceClass.DIRECTION, Units.DEGREE): SensorEntityDescription(
|
||||
key=f"{BTHomeExtendedSensorDeviceClass.DIRECTION}_{Units.DEGREE}",
|
||||
native_unit_of_measurement=DEGREE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="direction",
|
||||
),
|
||||
# Distance (mm)
|
||||
(
|
||||
@@ -173,6 +178,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
key=f"{BTHomeSensorDeviceClass.GYROSCOPE}_{Units.GYROSCOPE_DEGREES_PER_SECOND}",
|
||||
native_unit_of_measurement=Units.GYROSCOPE_DEGREES_PER_SECOND,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="gyroscope",
|
||||
),
|
||||
# Humidity in (percent)
|
||||
(BTHomeSensorDeviceClass.HUMIDITY, Units.PERCENTAGE): SensorEntityDescription(
|
||||
@@ -215,6 +221,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
translation_key="packet_id",
|
||||
),
|
||||
# PM10 (μg/m3)
|
||||
(
|
||||
@@ -263,12 +270,14 @@ SENSOR_DESCRIPTIONS = {
|
||||
# Raw (-)
|
||||
(BTHomeExtendedSensorDeviceClass.RAW, None): SensorEntityDescription(
|
||||
key=str(BTHomeExtendedSensorDeviceClass.RAW),
|
||||
translation_key="raw",
|
||||
),
|
||||
# Rotation (°)
|
||||
(BTHomeSensorDeviceClass.ROTATION, Units.DEGREE): SensorEntityDescription(
|
||||
key=f"{BTHomeSensorDeviceClass.ROTATION}_{Units.DEGREE}",
|
||||
native_unit_of_measurement=DEGREE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="rotation",
|
||||
),
|
||||
# Rotational speed (rpm)
|
||||
(
|
||||
@@ -278,6 +287,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
key=f"{BTHomeExtendedSensorDeviceClass.ROTATIONAL_SPEED}_{Units.REVOLUTIONS_PER_MINUTE}",
|
||||
native_unit_of_measurement=REVOLUTIONS_PER_MINUTE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="rotational_speed",
|
||||
),
|
||||
# Signal Strength (RSSI) (dB)
|
||||
(
|
||||
@@ -311,6 +321,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
# Text (-)
|
||||
(BTHomeExtendedSensorDeviceClass.TEXT, None): SensorEntityDescription(
|
||||
key=str(BTHomeExtendedSensorDeviceClass.TEXT),
|
||||
translation_key="text",
|
||||
),
|
||||
# Timestamp (datetime object)
|
||||
(
|
||||
@@ -327,6 +338,7 @@ SENSOR_DESCRIPTIONS = {
|
||||
): SensorEntityDescription(
|
||||
key=str(BTHomeSensorDeviceClass.UV_INDEX),
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
translation_key="uv_index",
|
||||
),
|
||||
# Volatile organic Compounds (VOC) (μg/m3)
|
||||
(
|
||||
@@ -423,10 +435,7 @@ def sensor_update_to_bluetooth_data_update(
|
||||
)
|
||||
for device_key, sensor_values in sensor_update.entity_values.items()
|
||||
},
|
||||
entity_names={
|
||||
device_key_to_bluetooth_entity_key(device_key): sensor_values.name
|
||||
for device_key, sensor_values in sensor_update.entity_values.items()
|
||||
},
|
||||
entity_names={},
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -78,6 +78,44 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sensor": {
|
||||
"acceleration": {
|
||||
"name": "Acceleration"
|
||||
},
|
||||
"channel": {
|
||||
"name": "Channel"
|
||||
},
|
||||
"count": {
|
||||
"name": "Count"
|
||||
},
|
||||
"dew_point": {
|
||||
"name": "Dew point"
|
||||
},
|
||||
"direction": {
|
||||
"name": "Direction"
|
||||
},
|
||||
"gyroscope": {
|
||||
"name": "Gyroscope"
|
||||
},
|
||||
"packet_id": {
|
||||
"name": "Packet ID"
|
||||
},
|
||||
"raw": {
|
||||
"name": "Raw"
|
||||
},
|
||||
"rotation": {
|
||||
"name": "Rotation"
|
||||
},
|
||||
"rotational_speed": {
|
||||
"name": "Rotational speed"
|
||||
},
|
||||
"text": {
|
||||
"name": "Text"
|
||||
},
|
||||
"uv_index": {
|
||||
"name": "UV Index"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,8 +133,8 @@ _LOGGER = logging.getLogger(__name__)
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_mass",
|
||||
"friendly_name": "Test Device 18B2 Mass",
|
||||
"sensor_entity": "sensor.test_device_18b2_weight",
|
||||
"friendly_name": "Test Device 18B2 Weight",
|
||||
"unit_of_measurement": "kg",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "80.3",
|
||||
@@ -150,8 +150,8 @@ _LOGGER = logging.getLogger(__name__)
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_mass",
|
||||
"friendly_name": "Test Device 18B2 Mass",
|
||||
"sensor_entity": "sensor.test_device_18b2_weight",
|
||||
"friendly_name": "Test Device 18B2 Weight",
|
||||
"unit_of_measurement": "lb",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "74.86",
|
||||
@@ -168,7 +168,7 @@ _LOGGER = logging.getLogger(__name__)
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_dew_point",
|
||||
"friendly_name": "Test Device 18B2 Dew Point",
|
||||
"friendly_name": "Test Device 18B2 Dew point",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "17.38",
|
||||
@@ -252,14 +252,14 @@ _LOGGER = logging.getLogger(__name__)
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_pm10",
|
||||
"friendly_name": "Test Device 18B2 Pm10",
|
||||
"friendly_name": "Test Device 18B2 PM10",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "7170",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_pm25",
|
||||
"friendly_name": "Test Device 18B2 Pm25",
|
||||
"sensor_entity": "sensor.test_device_18b2_pm2_5",
|
||||
"friendly_name": "Test Device 18B2 PM2.5",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "3090",
|
||||
@@ -276,7 +276,7 @@ _LOGGER = logging.getLogger(__name__)
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_carbon_dioxide",
|
||||
"friendly_name": "Test Device 18B2 Carbon Dioxide",
|
||||
"friendly_name": "Test Device 18B2 Carbon dioxide",
|
||||
"unit_of_measurement": "ppm",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "1250",
|
||||
@@ -295,7 +295,7 @@ _LOGGER = logging.getLogger(__name__)
|
||||
"sensor_entity": (
|
||||
"sensor.test_device_18b2_volatile_organic_compounds"
|
||||
),
|
||||
"friendly_name": "Test Device 18B2 Volatile Organic Compounds",
|
||||
"friendly_name": "Test Device 18B2 Volatile organic compounds",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "307",
|
||||
@@ -487,8 +487,8 @@ async def test_v1_sensors(
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_mass",
|
||||
"friendly_name": "Test Device 18B2 Mass",
|
||||
"sensor_entity": "sensor.test_device_18b2_weight",
|
||||
"friendly_name": "Test Device 18B2 Weight",
|
||||
"unit_of_measurement": "kg",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "80.3",
|
||||
@@ -504,8 +504,8 @@ async def test_v1_sensors(
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_mass",
|
||||
"friendly_name": "Test Device 18B2 Mass",
|
||||
"sensor_entity": "sensor.test_device_18b2_weight",
|
||||
"friendly_name": "Test Device 18B2 Weight",
|
||||
"unit_of_measurement": "lb",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "74.86",
|
||||
@@ -522,7 +522,7 @@ async def test_v1_sensors(
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_dew_point",
|
||||
"friendly_name": "Test Device 18B2 Dew Point",
|
||||
"friendly_name": "Test Device 18B2 Dew point",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "17.38",
|
||||
@@ -606,14 +606,14 @@ async def test_v1_sensors(
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_pm10",
|
||||
"friendly_name": "Test Device 18B2 Pm10",
|
||||
"friendly_name": "Test Device 18B2 PM10",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "7170",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_pm25",
|
||||
"friendly_name": "Test Device 18B2 Pm25",
|
||||
"sensor_entity": "sensor.test_device_18b2_pm2_5",
|
||||
"friendly_name": "Test Device 18B2 PM2.5",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "3090",
|
||||
@@ -630,7 +630,7 @@ async def test_v1_sensors(
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_carbon_dioxide",
|
||||
"friendly_name": "Test Device 18B2 Carbon Dioxide",
|
||||
"friendly_name": "Test Device 18B2 Carbon dioxide",
|
||||
"unit_of_measurement": "ppm",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "1250",
|
||||
@@ -649,7 +649,7 @@ async def test_v1_sensors(
|
||||
"sensor_entity": (
|
||||
"sensor.test_device_18b2_volatile_organic_compounds"
|
||||
),
|
||||
"friendly_name": "Test Device 18B2 Volatile Organic Compounds",
|
||||
"friendly_name": "Test Device 18B2 Volatile organic compounds",
|
||||
"unit_of_measurement": "μg/m³",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "307",
|
||||
@@ -802,7 +802,7 @@ async def test_v1_sensors(
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_uv_index",
|
||||
"friendly_name": "Test Device 18B2 Uv Index",
|
||||
"friendly_name": "Test Device 18B2 UV Index",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "5.0",
|
||||
},
|
||||
@@ -852,7 +852,7 @@ async def test_v1_sensors(
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_volume_flow_rate",
|
||||
"friendly_name": "Test Device 18B2 Volume Flow Rate",
|
||||
"friendly_name": "Test Device 18B2 Volume flow rate",
|
||||
"unit_of_measurement": "m³/h",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "34.78",
|
||||
@@ -982,8 +982,8 @@ async def test_v1_sensors(
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_volume_storage",
|
||||
"friendly_name": "Test Device 18B2 Volume Storage",
|
||||
"sensor_entity": "sensor.test_device_18b2_stored_volume",
|
||||
"friendly_name": "Test Device 18B2 Stored volume",
|
||||
"unit_of_measurement": "L",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "19551.879",
|
||||
@@ -999,15 +999,15 @@ async def test_v1_sensors(
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature_1",
|
||||
"friendly_name": "Test Device 18B2 Temperature 1",
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature",
|
||||
"friendly_name": "Test Device 18B2 Temperature",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "25.06",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature_2",
|
||||
"friendly_name": "Test Device 18B2 Temperature 2",
|
||||
"friendly_name": "Test Device 18B2 Temperature",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "25.11",
|
||||
@@ -1023,36 +1023,36 @@ async def test_v1_sensors(
|
||||
None,
|
||||
[
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature_1",
|
||||
"friendly_name": "Test Device 18B2 Temperature 1",
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature",
|
||||
"friendly_name": "Test Device 18B2 Temperature",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "25.06",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature_2",
|
||||
"friendly_name": "Test Device 18B2 Temperature 2",
|
||||
"friendly_name": "Test Device 18B2 Temperature",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "25.11",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_temperature_3",
|
||||
"friendly_name": "Test Device 18B2 Temperature 3",
|
||||
"friendly_name": "Test Device 18B2 Temperature",
|
||||
"unit_of_measurement": "°C",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "22.55",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_humidity_1",
|
||||
"friendly_name": "Test Device 18B2 Humidity 1",
|
||||
"sensor_entity": "sensor.test_device_18b2_humidity",
|
||||
"friendly_name": "Test Device 18B2 Humidity",
|
||||
"unit_of_measurement": "%",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "63.27",
|
||||
},
|
||||
{
|
||||
"sensor_entity": "sensor.test_device_18b2_humidity_2",
|
||||
"friendly_name": "Test Device 18B2 Humidity 2",
|
||||
"friendly_name": "Test Device 18B2 Humidity",
|
||||
"unit_of_measurement": "%",
|
||||
"state_class": "measurement",
|
||||
"expected_state": "60.71",
|
||||
|
||||
Reference in New Issue
Block a user