From 5afb59ae9493b8e935556c5b4ad4d58e61ebe701 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Wed, 12 Feb 2025 14:25:21 +0000 Subject: [PATCH 01/10] fix brigtness sensor having percent as unit. --- homeassistant/components/homee/sensor.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/homee/sensor.py b/homeassistant/components/homee/sensor.py index 237b80915aa560..42f47ce3b5252c 100644 --- a/homeassistant/components/homee/sensor.py +++ b/homeassistant/components/homee/sensor.py @@ -40,6 +40,16 @@ def get_window_value(attribute: HomeeAttribute) -> str | None: return vals.get(attribute.current_value) +def get_brightness_value(attribute: HomeeAttribute) -> float: + """Return the value for a brightness sensor.""" + if attribute.unit == "klx": + return attribute.current_value * 1000 + if attribute.unit == "%": + return attribute.current_value * 500 + + return attribute.current_value + + @dataclass(frozen=True, kw_only=True) class HomeeSensorEntityDescription(SensorEntityDescription): """A class that describes Homee sensor entities.""" @@ -68,11 +78,8 @@ class HomeeSensorEntityDescription(SensorEntityDescription): key="brightness", device_class=SensorDeviceClass.ILLUMINANCE, state_class=SensorStateClass.MEASUREMENT, - value_fn=( - lambda attribute: attribute.current_value * 1000 - if attribute.unit == "klx" - else attribute.current_value - ), + value_fn=get_brightness_value, + native_unit_of_measurement_fn=lambda unit: "lx", ), AttributeType.CURRENT: HomeeSensorEntityDescription( key="current", From 45cadc62f70821bfc237c874de4c2548b6e4b7dc Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Wed, 26 Feb 2025 17:02:30 +0000 Subject: [PATCH 02/10] add test for percent-brightness-sensor --- tests/components/homee/fixtures/sensors.json | 28 ++++++++++ .../homee/snapshots/test_sensor.ambr | 52 +++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index f4a7f4622185ec..b3ea08ed23636e 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -710,6 +710,34 @@ "based_on": 1, "data": "", "name": "" + }, + { + "id": 34, + "node_id": 1, + "instance": 0, + "minimum": 0, + "maximum": 100, + "current_value": 2.0, + "target_value": 2.0, + "last_value": 2.0, + "unit": "%", + "step_value": 1.0, + "editable": 0, + "type": 11, + "state": 1, + "last_changed": 1739320320, + "changed_by": 1, + "changed_by_id": 0, + "based_on": 1, + "data": "", + "name": "", + "options": { + "history": { + "day": 1, + "week": 26, + "month": 6 + } + } } ] } diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index 3101723232eed7..2e74fe4572c0b6 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -518,6 +518,58 @@ 'state': '51.0', }) # --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_multisensor_illuminance', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Illuminance', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'brightness', + 'unique_id': '00055511EECC-1-34', + 'unit_of_measurement': 'lx', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'illuminance', + 'friendly_name': 'Test MultiSensor Illuminance', + 'state_class': , + 'unit_of_measurement': 'lx', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_illuminance', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1000.0', + }) +# --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ From 6485bbb66612580a7e98ff196c9782a7cc8b00ca Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Thu, 27 Feb 2025 07:04:59 +0000 Subject: [PATCH 03/10] remove valve position and update tests --- homeassistant/components/homee/sensor.py | 7 +- homeassistant/components/homee/strings.json | 3 - tests/components/homee/fixtures/sensors.json | 122 ++++------- .../homee/snapshots/test_sensor.ambr | 189 ++++-------------- tests/components/homee/test_sensor.py | 16 +- 5 files changed, 95 insertions(+), 242 deletions(-) diff --git a/homeassistant/components/homee/sensor.py b/homeassistant/components/homee/sensor.py index 13af0d84d123ef..665ff4f3687c07 100644 --- a/homeassistant/components/homee/sensor.py +++ b/homeassistant/components/homee/sensor.py @@ -79,7 +79,7 @@ class HomeeSensorEntityDescription(SensorEntityDescription): device_class=SensorDeviceClass.ILLUMINANCE, state_class=SensorStateClass.MEASUREMENT, value_fn=get_brightness_value, - native_unit_of_measurement_fn=lambda unit: "lx", + native_unit_of_measurement_fn=lambda unit: HOMEE_UNIT_TO_HA_UNIT["lx"], ), AttributeType.CURRENT: HomeeSensorEntityDescription( key="current", @@ -91,11 +91,6 @@ class HomeeSensorEntityDescription(SensorEntityDescription): device_class=SensorDeviceClass.POWER, state_class=SensorStateClass.MEASUREMENT, ), - AttributeType.CURRENT_VALVE_POSITION: HomeeSensorEntityDescription( - key="valve_position", - entity_category=EntityCategory.DIAGNOSTIC, - state_class=SensorStateClass.MEASUREMENT, - ), AttributeType.DAWN: HomeeSensorEntityDescription( key="dawn", device_class=SensorDeviceClass.ILLUMINANCE, diff --git a/homeassistant/components/homee/strings.json b/homeassistant/components/homee/strings.json index cf5b90dbe2a6a3..590ae2e97d9fd3 100644 --- a/homeassistant/components/homee/strings.json +++ b/homeassistant/components/homee/strings.json @@ -221,9 +221,6 @@ "uv": { "name": "Ultraviolet" }, - "valve_position": { - "name": "Valve position" - }, "voltage_instance": { "name": "Voltage {instance}" }, diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index b3ea08ed23636e..87a3dacaef811b 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -82,30 +82,37 @@ "name": "" }, { - "id": 4, + "id": 34, "node_id": 1, - "instance": 0, + "instance": 1, "minimum": 0, "maximum": 100, - "current_value": 100.0, - "target_value": 100.0, - "last_value": 100.0, + "current_value": 2.0, + "target_value": 2.0, + "last_value": 2.0, "unit": "%", "step_value": 1.0, "editable": 0, - "type": 8, + "type": 11, "state": 1, - "last_changed": 1709982926, + "last_changed": 1739320320, "changed_by": 1, "changed_by_id": 0, "based_on": 1, "data": "", - "name": "" + "name": "", + "options": { + "history": { + "day": 1, + "week": 26, + "month": 6 + } + } }, { "id": 5, "node_id": 1, - "instance": 1, + "instance": 2, "minimum": 0, "maximum": 65000, "current_value": 175.0, @@ -126,7 +133,7 @@ { "id": 6, "node_id": 1, - "instance": 2, + "instance": 3, "minimum": 1, "maximum": 100, "current_value": 7.0, @@ -191,27 +198,6 @@ "node_id": 1, "instance": 0, "minimum": 0, - "maximum": 100, - "current_value": 70.0, - "target_value": 0.0, - "last_value": 0.0, - "unit": "%", - "step_value": 1.0, - "editable": 0, - "type": 18, - "state": 1, - "last_changed": 1711796633, - "changed_by": 1, - "changed_by_id": 0, - "based_on": 1, - "data": "", - "name": "" - }, - { - "id": 10, - "node_id": 1, - "instance": 0, - "minimum": 0, "maximum": 500, "current_value": 500.0, "target_value": 500.0, @@ -229,7 +215,7 @@ "name": "" }, { - "id": 11, + "id": 10, "node_id": 1, "instance": 0, "minimum": -40, @@ -250,7 +236,7 @@ "name": "" }, { - "id": 12, + "id": 11, "node_id": 1, "instance": 0, "minimum": 0, @@ -271,7 +257,7 @@ "name": "" }, { - "id": 13, + "id": 12, "node_id": 1, "instance": 0, "minimum": 0, @@ -292,7 +278,7 @@ "name": "" }, { - "id": 14, + "id": 13, "node_id": 1, "instance": 0, "minimum": -64, @@ -313,7 +299,7 @@ "name": "" }, { - "id": 15, + "id": 14, "node_id": 1, "instance": 0, "minimum": 0, @@ -334,7 +320,7 @@ "name": "" }, { - "id": 16, + "id": 15, "node_id": 1, "instance": 0, "minimum": 0, @@ -355,7 +341,7 @@ "name": "" }, { - "id": 17, + "id": 16, "node_id": 1, "instance": 0, "minimum": 0, @@ -376,7 +362,7 @@ "name": "" }, { - "id": 18, + "id": 17, "node_id": 1, "instance": 0, "minimum": 0, @@ -397,7 +383,7 @@ "name": "" }, { - "id": 19, + "id": 18, "node_id": 1, "instance": 0, "minimum": 0, @@ -418,7 +404,7 @@ "name": "" }, { - "id": 20, + "id": 19, "node_id": 1, "instance": 0, "minimum": -64, @@ -439,7 +425,7 @@ "name": "" }, { - "id": 21, + "id": 20, "node_id": 1, "instance": 0, "minimum": 0, @@ -460,7 +446,7 @@ "name": "" }, { - "id": 22, + "id": 21, "node_id": 1, "instance": 0, "minimum": 0, @@ -481,7 +467,7 @@ "name": "" }, { - "id": 23, + "id": 22, "node_id": 1, "instance": 0, "minimum": -50, @@ -502,7 +488,7 @@ "name": "" }, { - "id": 24, + "id": 23, "node_id": 1, "instance": 0, "minimum": 0, @@ -523,7 +509,7 @@ "name": "" }, { - "id": 25, + "id": 24, "node_id": 1, "instance": 0, "minimum": 0, @@ -544,7 +530,7 @@ "name": "" }, { - "id": 26, + "id": 25, "node_id": 1, "instance": 0, "minimum": 0, @@ -565,7 +551,7 @@ "name": "" }, { - "id": 27, + "id": 26, "node_id": 1, "instance": 0, "minimum": 0, @@ -586,7 +572,7 @@ "name": "" }, { - "id": 28, + "id": 27, "node_id": 1, "instance": 0, "minimum": 0, @@ -607,7 +593,7 @@ "name": "" }, { - "id": 29, + "id": 28, "node_id": 1, "instance": 0, "minimum": 0, @@ -628,7 +614,7 @@ "name": "" }, { - "id": 30, + "id": 29, "node_id": 1, "instance": 1, "minimum": 0, @@ -649,7 +635,7 @@ "name": "" }, { - "id": 31, + "id": 30, "node_id": 1, "instance": 2, "minimum": 0, @@ -670,7 +656,7 @@ "name": "" }, { - "id": 32, + "id": 31, "node_id": 1, "instance": 0, "minimum": 0, @@ -691,7 +677,7 @@ "name": "" }, { - "id": 33, + "id": 32, "node_id": 1, "instance": 0, "minimum": 0, @@ -710,34 +696,6 @@ "based_on": 1, "data": "", "name": "" - }, - { - "id": 34, - "node_id": 1, - "instance": 0, - "minimum": 0, - "maximum": 100, - "current_value": 2.0, - "target_value": 2.0, - "last_value": 2.0, - "unit": "%", - "step_value": 1.0, - "editable": 0, - "type": 11, - "state": 1, - "last_changed": 1739320320, - "changed_by": 1, - "changed_by_id": 0, - "based_on": 1, - "data": "", - "name": "", - "options": { - "history": { - "day": 1, - "week": 26, - "month": 6 - } - } } ] } diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index 2e74fe4572c0b6..17aea11abad276 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -51,58 +51,6 @@ 'state': '100.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.test_multisensor_battery_2', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Battery', - 'platform': 'homee', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'battery', - 'unique_id': '00055511EECC-1-4', - 'unit_of_measurement': '%', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'battery', - 'friendly_name': 'Test MultiSensor Battery', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.test_multisensor_battery_2', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '100.0', - }) -# --- # name: test_sensor_snapshot[sensor.test_multisensor_current_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -239,7 +187,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'dawn', - 'unique_id': '00055511EECC-1-10', + 'unique_id': '00055511EECC-1-9', 'unit_of_measurement': 'lx', }) # --- @@ -291,7 +239,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'device_temperature', - 'unique_id': '00055511EECC-1-11', + 'unique_id': '00055511EECC-1-10', 'unit_of_measurement': , }) # --- @@ -447,7 +395,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'exhaust_motor_revs', - 'unique_id': '00055511EECC-1-12', + 'unique_id': '00055511EECC-1-11', 'unit_of_measurement': 'rpm', }) # --- @@ -498,7 +446,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'humidity', - 'unique_id': '00055511EECC-1-22', + 'unique_id': '00055511EECC-1-21', 'unit_of_measurement': '%', }) # --- @@ -518,7 +466,7 @@ 'state': '51.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-entry] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -533,7 +481,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, - 'entity_id': 'sensor.test_multisensor_illuminance', + 'entity_id': 'sensor.test_multisensor_illuminance_1', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -545,32 +493,32 @@ }), 'original_device_class': , 'original_icon': None, - 'original_name': 'Illuminance', + 'original_name': 'Illuminance 1', 'platform': 'homee', 'previous_unique_id': None, 'supported_features': 0, - 'translation_key': 'brightness', + 'translation_key': 'brightness_instance', 'unique_id': '00055511EECC-1-34', 'unit_of_measurement': 'lx', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-state] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'illuminance', - 'friendly_name': 'Test MultiSensor Illuminance', + 'friendly_name': 'Test MultiSensor Illuminance 1', 'state_class': , 'unit_of_measurement': 'lx', }), 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance', + 'entity_id': 'sensor.test_multisensor_illuminance_1', 'last_changed': , 'last_reported': , 'last_updated': , 'state': '1000.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-entry] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -585,7 +533,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, - 'entity_id': 'sensor.test_multisensor_illuminance_1', + 'entity_id': 'sensor.test_multisensor_illuminance_2', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -597,7 +545,7 @@ }), 'original_device_class': , 'original_icon': None, - 'original_name': 'Illuminance 1', + 'original_name': 'Illuminance 2', 'platform': 'homee', 'previous_unique_id': None, 'supported_features': 0, @@ -606,23 +554,23 @@ 'unit_of_measurement': 'lx', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-state] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'illuminance', - 'friendly_name': 'Test MultiSensor Illuminance 1', + 'friendly_name': 'Test MultiSensor Illuminance 2', 'state_class': , 'unit_of_measurement': 'lx', }), 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_1', + 'entity_id': 'sensor.test_multisensor_illuminance_2', 'last_changed': , 'last_reported': , 'last_updated': , 'state': '175.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-entry] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_3-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -637,7 +585,7 @@ 'disabled_by': None, 'domain': 'sensor', 'entity_category': None, - 'entity_id': 'sensor.test_multisensor_illuminance_2', + 'entity_id': 'sensor.test_multisensor_illuminance_3', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -649,7 +597,7 @@ }), 'original_device_class': , 'original_icon': None, - 'original_name': 'Illuminance 2', + 'original_name': 'Illuminance 3', 'platform': 'homee', 'previous_unique_id': None, 'supported_features': 0, @@ -658,16 +606,16 @@ 'unit_of_measurement': 'lx', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_3-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'illuminance', - 'friendly_name': 'Test MultiSensor Illuminance 2', + 'friendly_name': 'Test MultiSensor Illuminance 3', 'state_class': , 'unit_of_measurement': 'lx', }), 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_2', + 'entity_id': 'sensor.test_multisensor_illuminance_3', 'last_changed': , 'last_reported': , 'last_updated': , @@ -706,7 +654,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'indoor_humidity', - 'unique_id': '00055511EECC-1-13', + 'unique_id': '00055511EECC-1-12', 'unit_of_measurement': '%', }) # --- @@ -758,7 +706,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'indoor_temperature', - 'unique_id': '00055511EECC-1-14', + 'unique_id': '00055511EECC-1-13', 'unit_of_measurement': , }) # --- @@ -810,7 +758,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'intake_motor_revs', - 'unique_id': '00055511EECC-1-15', + 'unique_id': '00055511EECC-1-14', 'unit_of_measurement': 'rpm', }) # --- @@ -861,7 +809,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'level', - 'unique_id': '00055511EECC-1-16', + 'unique_id': '00055511EECC-1-15', 'unit_of_measurement': , }) # --- @@ -913,7 +861,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'link_quality', - 'unique_id': '00055511EECC-1-17', + 'unique_id': '00055511EECC-1-16', 'unit_of_measurement': None, }) # --- @@ -1044,7 +992,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'operating_hours', - 'unique_id': '00055511EECC-1-18', + 'unique_id': '00055511EECC-1-17', 'unit_of_measurement': , }) # --- @@ -1096,7 +1044,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'outdoor_humidity', - 'unique_id': '00055511EECC-1-19', + 'unique_id': '00055511EECC-1-18', 'unit_of_measurement': '%', }) # --- @@ -1148,7 +1096,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'outdoor_temperature', - 'unique_id': '00055511EECC-1-20', + 'unique_id': '00055511EECC-1-19', 'unit_of_measurement': , }) # --- @@ -1200,7 +1148,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'position', - 'unique_id': '00055511EECC-1-21', + 'unique_id': '00055511EECC-1-20', 'unit_of_measurement': '%', }) # --- @@ -1257,7 +1205,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'up_down', - 'unique_id': '00055511EECC-1-28', + 'unique_id': '00055511EECC-1-27', 'unit_of_measurement': None, }) # --- @@ -1314,7 +1262,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'temperature', - 'unique_id': '00055511EECC-1-23', + 'unique_id': '00055511EECC-1-22', 'unit_of_measurement': , }) # --- @@ -1366,7 +1314,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_current', - 'unique_id': '00055511EECC-1-25', + 'unique_id': '00055511EECC-1-24', 'unit_of_measurement': , }) # --- @@ -1418,7 +1366,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_energy', - 'unique_id': '00055511EECC-1-24', + 'unique_id': '00055511EECC-1-23', 'unit_of_measurement': , }) # --- @@ -1470,7 +1418,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_power', - 'unique_id': '00055511EECC-1-26', + 'unique_id': '00055511EECC-1-25', 'unit_of_measurement': , }) # --- @@ -1522,7 +1470,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_voltage', - 'unique_id': '00055511EECC-1-27', + 'unique_id': '00055511EECC-1-26', 'unit_of_measurement': , }) # --- @@ -1574,7 +1522,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'uv', - 'unique_id': '00055511EECC-1-29', + 'unique_id': '00055511EECC-1-28', 'unit_of_measurement': None, }) # --- @@ -1592,57 +1540,6 @@ 'state': '6.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_valve_position-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.test_multisensor_valve_position', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Valve position', - 'platform': 'homee', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'valve_position', - 'unique_id': '00055511EECC-1-9', - 'unit_of_measurement': '%', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_valve_position-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'Test MultiSensor Valve position', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.test_multisensor_valve_position', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '70.0', - }) -# --- # name: test_sensor_snapshot[sensor.test_multisensor_voltage_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -1675,7 +1572,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'voltage_instance', - 'unique_id': '00055511EECC-1-30', + 'unique_id': '00055511EECC-1-29', 'unit_of_measurement': , }) # --- @@ -1727,7 +1624,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'voltage_instance', - 'unique_id': '00055511EECC-1-31', + 'unique_id': '00055511EECC-1-30', 'unit_of_measurement': , }) # --- @@ -1782,7 +1679,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'wind_speed', - 'unique_id': '00055511EECC-1-32', + 'unique_id': '00055511EECC-1-31', 'unit_of_measurement': , }) # --- @@ -1838,7 +1735,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'window_position', - 'unique_id': '00055511EECC-1-33', + 'unique_id': '00055511EECC-1-32', 'unit_of_measurement': None, }) # --- diff --git a/tests/components/homee/test_sensor.py b/tests/components/homee/test_sensor.py index a2ba991c49bccb..a637e400000c18 100644 --- a/tests/components/homee/test_sensor.py +++ b/tests/components/homee/test_sensor.py @@ -37,7 +37,7 @@ async def test_up_down_values( assert hass.states.get("sensor.test_multisensor_state").state == OPEN_CLOSE_MAP[0] - attribute = mock_homee.nodes[0].attributes[27] + attribute = mock_homee.nodes[0].attributes[26] for i in range(1, 5): await async_update_attribute_value(hass, attribute, i) assert ( @@ -69,7 +69,7 @@ async def test_window_position( == WINDOW_MAP[0] ) - attribute = mock_homee.nodes[0].attributes[32] + attribute = mock_homee.nodes[0].attributes[31] for i in range(1, 3): await async_update_attribute_value(hass, attribute, i) assert ( @@ -97,17 +97,23 @@ async def test_brightness_sensor( mock_homee.get_node_by_id.return_value = mock_homee.nodes[0] await setup_integration(hass, mock_config_entry) + # Sensor with Homee unit % sensor_state = hass.states.get("sensor.test_multisensor_illuminance_1") - assert sensor_state.state == "175.0" + assert sensor_state.state == "1000.0" assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 1" - # Sensor with Homee unit klx sensor_state = hass.states.get("sensor.test_multisensor_illuminance_2") - assert sensor_state.state == "7000.0" + assert sensor_state.state == "175.0" assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 2" + # Sensor with Homee unit klx + sensor_state = hass.states.get("sensor.test_multisensor_illuminance_3") + assert sensor_state.state == "7000.0" + assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX + assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 3" + async def test_sensor_snapshot( hass: HomeAssistant, From f1ceb04eab6f093190c27dbde6242775c0cc7565 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Thu, 27 Feb 2025 07:14:30 +0000 Subject: [PATCH 04/10] Removed test, because covered by Snapshots --- tests/components/homee/test_sensor.py | 30 +-------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/tests/components/homee/test_sensor.py b/tests/components/homee/test_sensor.py index a637e400000c18..791aad0b28bccd 100644 --- a/tests/components/homee/test_sensor.py +++ b/tests/components/homee/test_sensor.py @@ -11,7 +11,7 @@ WINDOW_MAP, WINDOW_MAP_REVERSED, ) -from homeassistant.const import LIGHT_LUX, Platform +from homeassistant.const import Platform from homeassistant.core import HomeAssistant from homeassistant.helpers import entity_registry as er @@ -87,34 +87,6 @@ async def test_window_position( ) -async def test_brightness_sensor( - hass: HomeAssistant, - mock_homee: MagicMock, - mock_config_entry: MockConfigEntry, -) -> None: - """Test brightness sensor's lx & klx units and naming of multi-instance sensors.""" - mock_homee.nodes = [build_mock_node("sensors.json")] - mock_homee.get_node_by_id.return_value = mock_homee.nodes[0] - await setup_integration(hass, mock_config_entry) - - # Sensor with Homee unit % - sensor_state = hass.states.get("sensor.test_multisensor_illuminance_1") - assert sensor_state.state == "1000.0" - assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX - assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 1" - - sensor_state = hass.states.get("sensor.test_multisensor_illuminance_2") - assert sensor_state.state == "175.0" - assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX - assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 2" - - # Sensor with Homee unit klx - sensor_state = hass.states.get("sensor.test_multisensor_illuminance_3") - assert sensor_state.state == "7000.0" - assert sensor_state.attributes["unit_of_measurement"] == LIGHT_LUX - assert sensor_state.attributes["friendly_name"] == "Test MultiSensor Illuminance 3" - - async def test_sensor_snapshot( hass: HomeAssistant, mock_homee: MagicMock, From 0539998dbe0fce795521996855643404d701f85b Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sat, 1 Mar 2025 13:37:22 +0000 Subject: [PATCH 05/10] fix review comments --- homeassistant/components/homee/icons.json | 6 +++ homeassistant/components/homee/sensor.py | 39 ++++++++++++++----- homeassistant/components/homee/strings.json | 3 ++ .../homee/snapshots/test_sensor.ambr | 9 ++--- 4 files changed, 43 insertions(+), 14 deletions(-) diff --git a/homeassistant/components/homee/icons.json b/homeassistant/components/homee/icons.json index 07ae598095b582..beb7f36618f87a 100644 --- a/homeassistant/components/homee/icons.json +++ b/homeassistant/components/homee/icons.json @@ -1,6 +1,12 @@ { "entity": { "sensor": { + "brightness": { + "default": "mdi:brightness-5" + }, + "brightness_instance": { + "default": "mdi:brightness-5" + }, "link_quality": { "default": "mdi:signal" }, diff --git a/homeassistant/components/homee/sensor.py b/homeassistant/components/homee/sensor.py index 665ff4f3687c07..d5f2031e1aa780 100644 --- a/homeassistant/components/homee/sensor.py +++ b/homeassistant/components/homee/sensor.py @@ -40,20 +40,22 @@ def get_window_value(attribute: HomeeAttribute) -> str | None: return vals.get(attribute.current_value) -def get_brightness_value(attribute: HomeeAttribute) -> float: - """Return the value for a brightness sensor.""" - if attribute.unit == "klx": - return attribute.current_value * 1000 +def get_brightness_device_class( + attribute: HomeeAttribute, device_class: SensorDeviceClass | None +) -> SensorDeviceClass | None: + """Return the device class for a brightness sensor.""" if attribute.unit == "%": - return attribute.current_value * 500 - - return attribute.current_value + return None + return device_class @dataclass(frozen=True, kw_only=True) class HomeeSensorEntityDescription(SensorEntityDescription): """A class that describes Homee sensor entities.""" + device_class_fn: Callable[ + [HomeeAttribute, SensorDeviceClass | None], SensorDeviceClass | None + ] = lambda attribute, device_class: device_class value_fn: Callable[[HomeeAttribute], str | float | None] = ( lambda value: value.current_value ) @@ -77,9 +79,16 @@ class HomeeSensorEntityDescription(SensorEntityDescription): AttributeType.BRIGHTNESS: HomeeSensorEntityDescription( key="brightness", device_class=SensorDeviceClass.ILLUMINANCE, + device_class_fn=get_brightness_device_class, state_class=SensorStateClass.MEASUREMENT, - value_fn=get_brightness_value, - native_unit_of_measurement_fn=lambda unit: HOMEE_UNIT_TO_HA_UNIT["lx"], + value_fn=( + lambda attribute: attribute.current_value * 1000 + if attribute.unit == "klx" + else attribute.current_value + ), + native_unit_of_measurement_fn=lambda unit: HOMEE_UNIT_TO_HA_UNIT["lx"] + if unit == "klx" + else HOMEE_UNIT_TO_HA_UNIT[unit], ), AttributeType.CURRENT: HomeeSensorEntityDescription( key="current", @@ -91,6 +100,11 @@ class HomeeSensorEntityDescription(SensorEntityDescription): device_class=SensorDeviceClass.POWER, state_class=SensorStateClass.MEASUREMENT, ), + AttributeType.CURRENT_VALVE_POSITION: HomeeSensorEntityDescription( + key="valve_position", + entity_category=EntityCategory.DIAGNOSTIC, + state_class=SensorStateClass.MEASUREMENT, + ), AttributeType.DAWN: HomeeSensorEntityDescription( key="dawn", device_class=SensorDeviceClass.ILLUMINANCE, @@ -306,6 +320,13 @@ def __init__( self._attr_translation_key = f"{self._attr_translation_key}_instance" self._attr_translation_placeholders = {"instance": str(attribute.instance)} + @property + def device_class(self) -> SensorDeviceClass | None: + """Return the device class of the sensor.""" + return self.entity_description.device_class_fn( + self._attribute, self.entity_description.device_class + ) + @property def native_value(self) -> float | str | None: """Return the native value of the sensor.""" diff --git a/homeassistant/components/homee/strings.json b/homeassistant/components/homee/strings.json index 590ae2e97d9fd3..cf5b90dbe2a6a3 100644 --- a/homeassistant/components/homee/strings.json +++ b/homeassistant/components/homee/strings.json @@ -221,6 +221,9 @@ "uv": { "name": "Ultraviolet" }, + "valve_position": { + "name": "Valve position" + }, "voltage_instance": { "name": "Voltage {instance}" }, diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index 17aea11abad276..bbe0b7992c7fce 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -491,7 +491,7 @@ 'name': None, 'options': dict({ }), - 'original_device_class': , + 'original_device_class': None, 'original_icon': None, 'original_name': 'Illuminance 1', 'platform': 'homee', @@ -499,23 +499,22 @@ 'supported_features': 0, 'translation_key': 'brightness_instance', 'unique_id': '00055511EECC-1-34', - 'unit_of_measurement': 'lx', + 'unit_of_measurement': '%', }) # --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-state] StateSnapshot({ 'attributes': ReadOnlyDict({ - 'device_class': 'illuminance', 'friendly_name': 'Test MultiSensor Illuminance 1', 'state_class': , - 'unit_of_measurement': 'lx', + 'unit_of_measurement': '%', }), 'context': , 'entity_id': 'sensor.test_multisensor_illuminance_1', 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '1000.0', + 'state': '2.0', }) # --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-entry] From 83c2ee0226662048101589ecddcbc8d244523b54 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sun, 2 Mar 2025 10:24:04 +0000 Subject: [PATCH 06/10] move device calss to init. --- homeassistant/components/homee/sensor.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/homee/sensor.py b/homeassistant/components/homee/sensor.py index d5f2031e1aa780..c58d5825eee5c3 100644 --- a/homeassistant/components/homee/sensor.py +++ b/homeassistant/components/homee/sensor.py @@ -319,12 +319,8 @@ def __init__( if attribute.instance > 0: self._attr_translation_key = f"{self._attr_translation_key}_instance" self._attr_translation_placeholders = {"instance": str(attribute.instance)} - - @property - def device_class(self) -> SensorDeviceClass | None: - """Return the device class of the sensor.""" - return self.entity_description.device_class_fn( - self._attribute, self.entity_description.device_class + self._attr_device_class = description.device_class_fn( + attribute, description.device_class ) @property From 38b6819845a34c0ca9af1355c40042c899e66a68 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sun, 2 Mar 2025 14:45:42 +0000 Subject: [PATCH 07/10] fix test --- tests/components/homee/fixtures/sensors.json | 94 ++++---- .../homee/snapshots/test_sensor.ambr | 216 +++++++++++------- tests/components/homee/test_sensor.py | 4 +- 3 files changed, 190 insertions(+), 124 deletions(-) diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index 87a3dacaef811b..f4a7f4622185ec 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -82,37 +82,30 @@ "name": "" }, { - "id": 34, + "id": 4, "node_id": 1, - "instance": 1, + "instance": 0, "minimum": 0, "maximum": 100, - "current_value": 2.0, - "target_value": 2.0, - "last_value": 2.0, + "current_value": 100.0, + "target_value": 100.0, + "last_value": 100.0, "unit": "%", "step_value": 1.0, "editable": 0, - "type": 11, + "type": 8, "state": 1, - "last_changed": 1739320320, + "last_changed": 1709982926, "changed_by": 1, "changed_by_id": 0, "based_on": 1, "data": "", - "name": "", - "options": { - "history": { - "day": 1, - "week": 26, - "month": 6 - } - } + "name": "" }, { "id": 5, "node_id": 1, - "instance": 2, + "instance": 1, "minimum": 0, "maximum": 65000, "current_value": 175.0, @@ -133,7 +126,7 @@ { "id": 6, "node_id": 1, - "instance": 3, + "instance": 2, "minimum": 1, "maximum": 100, "current_value": 7.0, @@ -198,6 +191,27 @@ "node_id": 1, "instance": 0, "minimum": 0, + "maximum": 100, + "current_value": 70.0, + "target_value": 0.0, + "last_value": 0.0, + "unit": "%", + "step_value": 1.0, + "editable": 0, + "type": 18, + "state": 1, + "last_changed": 1711796633, + "changed_by": 1, + "changed_by_id": 0, + "based_on": 1, + "data": "", + "name": "" + }, + { + "id": 10, + "node_id": 1, + "instance": 0, + "minimum": 0, "maximum": 500, "current_value": 500.0, "target_value": 500.0, @@ -215,7 +229,7 @@ "name": "" }, { - "id": 10, + "id": 11, "node_id": 1, "instance": 0, "minimum": -40, @@ -236,7 +250,7 @@ "name": "" }, { - "id": 11, + "id": 12, "node_id": 1, "instance": 0, "minimum": 0, @@ -257,7 +271,7 @@ "name": "" }, { - "id": 12, + "id": 13, "node_id": 1, "instance": 0, "minimum": 0, @@ -278,7 +292,7 @@ "name": "" }, { - "id": 13, + "id": 14, "node_id": 1, "instance": 0, "minimum": -64, @@ -299,7 +313,7 @@ "name": "" }, { - "id": 14, + "id": 15, "node_id": 1, "instance": 0, "minimum": 0, @@ -320,7 +334,7 @@ "name": "" }, { - "id": 15, + "id": 16, "node_id": 1, "instance": 0, "minimum": 0, @@ -341,7 +355,7 @@ "name": "" }, { - "id": 16, + "id": 17, "node_id": 1, "instance": 0, "minimum": 0, @@ -362,7 +376,7 @@ "name": "" }, { - "id": 17, + "id": 18, "node_id": 1, "instance": 0, "minimum": 0, @@ -383,7 +397,7 @@ "name": "" }, { - "id": 18, + "id": 19, "node_id": 1, "instance": 0, "minimum": 0, @@ -404,7 +418,7 @@ "name": "" }, { - "id": 19, + "id": 20, "node_id": 1, "instance": 0, "minimum": -64, @@ -425,7 +439,7 @@ "name": "" }, { - "id": 20, + "id": 21, "node_id": 1, "instance": 0, "minimum": 0, @@ -446,7 +460,7 @@ "name": "" }, { - "id": 21, + "id": 22, "node_id": 1, "instance": 0, "minimum": 0, @@ -467,7 +481,7 @@ "name": "" }, { - "id": 22, + "id": 23, "node_id": 1, "instance": 0, "minimum": -50, @@ -488,7 +502,7 @@ "name": "" }, { - "id": 23, + "id": 24, "node_id": 1, "instance": 0, "minimum": 0, @@ -509,7 +523,7 @@ "name": "" }, { - "id": 24, + "id": 25, "node_id": 1, "instance": 0, "minimum": 0, @@ -530,7 +544,7 @@ "name": "" }, { - "id": 25, + "id": 26, "node_id": 1, "instance": 0, "minimum": 0, @@ -551,7 +565,7 @@ "name": "" }, { - "id": 26, + "id": 27, "node_id": 1, "instance": 0, "minimum": 0, @@ -572,7 +586,7 @@ "name": "" }, { - "id": 27, + "id": 28, "node_id": 1, "instance": 0, "minimum": 0, @@ -593,7 +607,7 @@ "name": "" }, { - "id": 28, + "id": 29, "node_id": 1, "instance": 0, "minimum": 0, @@ -614,7 +628,7 @@ "name": "" }, { - "id": 29, + "id": 30, "node_id": 1, "instance": 1, "minimum": 0, @@ -635,7 +649,7 @@ "name": "" }, { - "id": 30, + "id": 31, "node_id": 1, "instance": 2, "minimum": 0, @@ -656,7 +670,7 @@ "name": "" }, { - "id": 31, + "id": 32, "node_id": 1, "instance": 0, "minimum": 0, @@ -677,7 +691,7 @@ "name": "" }, { - "id": 32, + "id": 33, "node_id": 1, "instance": 0, "minimum": 0, diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index bbe0b7992c7fce..3101723232eed7 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -51,6 +51,58 @@ 'state': '100.0', }) # --- +# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.test_multisensor_battery_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery', + 'unique_id': '00055511EECC-1-4', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Test MultiSensor Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_battery_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '100.0', + }) +# --- # name: test_sensor_snapshot[sensor.test_multisensor_current_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -187,7 +239,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'dawn', - 'unique_id': '00055511EECC-1-9', + 'unique_id': '00055511EECC-1-10', 'unit_of_measurement': 'lx', }) # --- @@ -239,7 +291,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'device_temperature', - 'unique_id': '00055511EECC-1-10', + 'unique_id': '00055511EECC-1-11', 'unit_of_measurement': , }) # --- @@ -395,7 +447,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'exhaust_motor_revs', - 'unique_id': '00055511EECC-1-11', + 'unique_id': '00055511EECC-1-12', 'unit_of_measurement': 'rpm', }) # --- @@ -446,7 +498,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'humidity', - 'unique_id': '00055511EECC-1-21', + 'unique_id': '00055511EECC-1-22', 'unit_of_measurement': '%', }) # --- @@ -491,30 +543,31 @@ 'name': None, 'options': dict({ }), - 'original_device_class': None, + 'original_device_class': , 'original_icon': None, 'original_name': 'Illuminance 1', 'platform': 'homee', 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'brightness_instance', - 'unique_id': '00055511EECC-1-34', - 'unit_of_measurement': '%', + 'unique_id': '00055511EECC-1-5', + 'unit_of_measurement': 'lx', }) # --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-state] StateSnapshot({ 'attributes': ReadOnlyDict({ + 'device_class': 'illuminance', 'friendly_name': 'Test MultiSensor Illuminance 1', 'state_class': , - 'unit_of_measurement': '%', + 'unit_of_measurement': 'lx', }), 'context': , 'entity_id': 'sensor.test_multisensor_illuminance_1', 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '2.0', + 'state': '175.0', }) # --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-entry] @@ -549,7 +602,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'brightness_instance', - 'unique_id': '00055511EECC-1-5', + 'unique_id': '00055511EECC-1-6', 'unit_of_measurement': 'lx', }) # --- @@ -566,58 +619,6 @@ 'last_changed': , 'last_reported': , 'last_updated': , - 'state': '175.0', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_3-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.test_multisensor_illuminance_3', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Illuminance 3', - 'platform': 'homee', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'brightness_instance', - 'unique_id': '00055511EECC-1-6', - 'unit_of_measurement': 'lx', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_3-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'illuminance', - 'friendly_name': 'Test MultiSensor Illuminance 3', - 'state_class': , - 'unit_of_measurement': 'lx', - }), - 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_3', - 'last_changed': , - 'last_reported': , - 'last_updated': , 'state': '7000.0', }) # --- @@ -653,7 +654,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'indoor_humidity', - 'unique_id': '00055511EECC-1-12', + 'unique_id': '00055511EECC-1-13', 'unit_of_measurement': '%', }) # --- @@ -705,7 +706,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'indoor_temperature', - 'unique_id': '00055511EECC-1-13', + 'unique_id': '00055511EECC-1-14', 'unit_of_measurement': , }) # --- @@ -757,7 +758,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'intake_motor_revs', - 'unique_id': '00055511EECC-1-14', + 'unique_id': '00055511EECC-1-15', 'unit_of_measurement': 'rpm', }) # --- @@ -808,7 +809,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'level', - 'unique_id': '00055511EECC-1-15', + 'unique_id': '00055511EECC-1-16', 'unit_of_measurement': , }) # --- @@ -860,7 +861,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'link_quality', - 'unique_id': '00055511EECC-1-16', + 'unique_id': '00055511EECC-1-17', 'unit_of_measurement': None, }) # --- @@ -991,7 +992,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'operating_hours', - 'unique_id': '00055511EECC-1-17', + 'unique_id': '00055511EECC-1-18', 'unit_of_measurement': , }) # --- @@ -1043,7 +1044,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'outdoor_humidity', - 'unique_id': '00055511EECC-1-18', + 'unique_id': '00055511EECC-1-19', 'unit_of_measurement': '%', }) # --- @@ -1095,7 +1096,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'outdoor_temperature', - 'unique_id': '00055511EECC-1-19', + 'unique_id': '00055511EECC-1-20', 'unit_of_measurement': , }) # --- @@ -1147,7 +1148,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'position', - 'unique_id': '00055511EECC-1-20', + 'unique_id': '00055511EECC-1-21', 'unit_of_measurement': '%', }) # --- @@ -1204,7 +1205,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'up_down', - 'unique_id': '00055511EECC-1-27', + 'unique_id': '00055511EECC-1-28', 'unit_of_measurement': None, }) # --- @@ -1261,7 +1262,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'temperature', - 'unique_id': '00055511EECC-1-22', + 'unique_id': '00055511EECC-1-23', 'unit_of_measurement': , }) # --- @@ -1313,7 +1314,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_current', - 'unique_id': '00055511EECC-1-24', + 'unique_id': '00055511EECC-1-25', 'unit_of_measurement': , }) # --- @@ -1365,7 +1366,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_energy', - 'unique_id': '00055511EECC-1-23', + 'unique_id': '00055511EECC-1-24', 'unit_of_measurement': , }) # --- @@ -1417,7 +1418,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_power', - 'unique_id': '00055511EECC-1-25', + 'unique_id': '00055511EECC-1-26', 'unit_of_measurement': , }) # --- @@ -1469,7 +1470,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'total_voltage', - 'unique_id': '00055511EECC-1-26', + 'unique_id': '00055511EECC-1-27', 'unit_of_measurement': , }) # --- @@ -1521,7 +1522,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'uv', - 'unique_id': '00055511EECC-1-28', + 'unique_id': '00055511EECC-1-29', 'unit_of_measurement': None, }) # --- @@ -1539,6 +1540,57 @@ 'state': '6.0', }) # --- +# name: test_sensor_snapshot[sensor.test_multisensor_valve_position-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.test_multisensor_valve_position', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Valve position', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'valve_position', + 'unique_id': '00055511EECC-1-9', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_valve_position-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test MultiSensor Valve position', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_valve_position', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '70.0', + }) +# --- # name: test_sensor_snapshot[sensor.test_multisensor_voltage_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -1571,7 +1623,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'voltage_instance', - 'unique_id': '00055511EECC-1-29', + 'unique_id': '00055511EECC-1-30', 'unit_of_measurement': , }) # --- @@ -1623,7 +1675,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'voltage_instance', - 'unique_id': '00055511EECC-1-30', + 'unique_id': '00055511EECC-1-31', 'unit_of_measurement': , }) # --- @@ -1678,7 +1730,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'wind_speed', - 'unique_id': '00055511EECC-1-31', + 'unique_id': '00055511EECC-1-32', 'unit_of_measurement': , }) # --- @@ -1734,7 +1786,7 @@ 'previous_unique_id': None, 'supported_features': 0, 'translation_key': 'window_position', - 'unique_id': '00055511EECC-1-32', + 'unique_id': '00055511EECC-1-33', 'unit_of_measurement': None, }) # --- diff --git a/tests/components/homee/test_sensor.py b/tests/components/homee/test_sensor.py index 791aad0b28bccd..cdbd6a0d1169ec 100644 --- a/tests/components/homee/test_sensor.py +++ b/tests/components/homee/test_sensor.py @@ -37,7 +37,7 @@ async def test_up_down_values( assert hass.states.get("sensor.test_multisensor_state").state == OPEN_CLOSE_MAP[0] - attribute = mock_homee.nodes[0].attributes[26] + attribute = mock_homee.nodes[0].attributes[27] for i in range(1, 5): await async_update_attribute_value(hass, attribute, i) assert ( @@ -69,7 +69,7 @@ async def test_window_position( == WINDOW_MAP[0] ) - attribute = mock_homee.nodes[0].attributes[31] + attribute = mock_homee.nodes[0].attributes[32] for i in range(1, 3): await async_update_attribute_value(hass, attribute, i) assert ( From b0497853b278fa99319ef6a17af49060fdbb06e1 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sun, 2 Mar 2025 16:37:16 +0000 Subject: [PATCH 08/10] fix review comments --- homeassistant/components/homee/sensor.py | 3 - homeassistant/components/homee/strings.json | 3 + tests/components/homee/fixtures/sensors.json | 2 +- .../homee/snapshots/test_sensor.ambr | 103 +++++++++--------- 4 files changed, 55 insertions(+), 56 deletions(-) diff --git a/homeassistant/components/homee/sensor.py b/homeassistant/components/homee/sensor.py index c58d5825eee5c3..410f87f2168ae6 100644 --- a/homeassistant/components/homee/sensor.py +++ b/homeassistant/components/homee/sensor.py @@ -86,9 +86,6 @@ class HomeeSensorEntityDescription(SensorEntityDescription): if attribute.unit == "klx" else attribute.current_value ), - native_unit_of_measurement_fn=lambda unit: HOMEE_UNIT_TO_HA_UNIT["lx"] - if unit == "klx" - else HOMEE_UNIT_TO_HA_UNIT[unit], ), AttributeType.CURRENT: HomeeSensorEntityDescription( key="current", diff --git a/homeassistant/components/homee/strings.json b/homeassistant/components/homee/strings.json index cf5b90dbe2a6a3..94f85824280af5 100644 --- a/homeassistant/components/homee/strings.json +++ b/homeassistant/components/homee/strings.json @@ -111,6 +111,9 @@ } }, "sensor": { + "brightness": { + "name": "Illuminance" + }, "brightness_instance": { "name": "Illuminance {instance}" }, diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index f4a7f4622185ec..15baf6c5a4b859 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -93,7 +93,7 @@ "unit": "%", "step_value": 1.0, "editable": 0, - "type": 8, + "type": 11, "state": 1, "last_changed": 1709982926, "changed_by": 1, diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index 3101723232eed7..caac021383da25 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -51,58 +51,6 @@ 'state': '100.0', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': , - 'entity_id': 'sensor.test_multisensor_battery_2', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), - 'original_device_class': , - 'original_icon': None, - 'original_name': 'Battery', - 'platform': 'homee', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'battery', - 'unique_id': '00055511EECC-1-4', - 'unit_of_measurement': '%', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'device_class': 'battery', - 'friendly_name': 'Test MultiSensor Battery', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.test_multisensor_battery_2', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '100.0', - }) -# --- # name: test_sensor_snapshot[sensor.test_multisensor_current_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -518,6 +466,57 @@ 'state': '51.0', }) # --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_multisensor_illuminance', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Illuminance', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'brightness', + 'unique_id': '00055511EECC-1-4', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test MultiSensor Illuminance', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_illuminance', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '100.0', + }) +# --- # name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ From 25a0553016d5daf990ede1bb3b1d3372967a6580 Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sun, 2 Mar 2025 18:49:25 +0000 Subject: [PATCH 09/10] add battery sensor back to test fixture --- tests/components/homee/fixtures/sensors.json | 21 +++++++ .../homee/snapshots/test_sensor.ambr | 55 ++++++++++++++++++- tests/components/homee/test_sensor.py | 4 +- 3 files changed, 76 insertions(+), 4 deletions(-) diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index 15baf6c5a4b859..7323befecdabbc 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -81,6 +81,27 @@ "data": "", "name": "" }, + { + "id": 34, + "node_id": 1, + "instance": 2, + "minimum": 0, + "maximum": 100, + "current_value": 100.0, + "target_value": 100.0, + "last_value": 100.0, + "unit": "%", + "step_value": 1.0, + "editable": 0, + "type": 11, + "state": 1, + "last_changed": 1709982926, + "changed_by": 1, + "changed_by_id": 0, + "based_on": 1, + "data": "", + "name": "" + }, { "id": 4, "node_id": 1, diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index caac021383da25..5c443fde76ca72 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -594,6 +594,57 @@ 'name': None, 'options': dict({ }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Illuminance 2', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'brightness_instance', + 'unique_id': '00055511EECC-1-34', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Test MultiSensor Illuminance 2', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_illuminance_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '100.0', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.test_multisensor_illuminance_2_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), 'original_device_class': , 'original_icon': None, 'original_name': 'Illuminance 2', @@ -605,7 +656,7 @@ 'unit_of_measurement': 'lx', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2_2-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'illuminance', @@ -614,7 +665,7 @@ 'unit_of_measurement': 'lx', }), 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_2', + 'entity_id': 'sensor.test_multisensor_illuminance_2_2', 'last_changed': , 'last_reported': , 'last_updated': , diff --git a/tests/components/homee/test_sensor.py b/tests/components/homee/test_sensor.py index cdbd6a0d1169ec..bbdad4c4469493 100644 --- a/tests/components/homee/test_sensor.py +++ b/tests/components/homee/test_sensor.py @@ -37,7 +37,7 @@ async def test_up_down_values( assert hass.states.get("sensor.test_multisensor_state").state == OPEN_CLOSE_MAP[0] - attribute = mock_homee.nodes[0].attributes[27] + attribute = mock_homee.nodes[0].attributes[28] for i in range(1, 5): await async_update_attribute_value(hass, attribute, i) assert ( @@ -69,7 +69,7 @@ async def test_window_position( == WINDOW_MAP[0] ) - attribute = mock_homee.nodes[0].attributes[32] + attribute = mock_homee.nodes[0].attributes[33] for i in range(1, 3): await async_update_attribute_value(hass, attribute, i) assert ( From d67cab2875b9036d0512a22fc5ad539da0b53f6e Mon Sep 17 00:00:00 2001 From: Taraman17 Date: Sun, 2 Mar 2025 18:50:48 +0000 Subject: [PATCH 10/10] fix --- tests/components/homee/fixtures/sensors.json | 2 +- .../homee/snapshots/test_sensor.ambr | 107 +++++++++--------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/tests/components/homee/fixtures/sensors.json b/tests/components/homee/fixtures/sensors.json index 7323befecdabbc..bcc36a85ee7eef 100644 --- a/tests/components/homee/fixtures/sensors.json +++ b/tests/components/homee/fixtures/sensors.json @@ -93,7 +93,7 @@ "unit": "%", "step_value": 1.0, "editable": 0, - "type": 11, + "type": 8, "state": 1, "last_changed": 1709982926, "changed_by": 1, diff --git a/tests/components/homee/snapshots/test_sensor.ambr b/tests/components/homee/snapshots/test_sensor.ambr index 5c443fde76ca72..b35943630d5b8d 100644 --- a/tests/components/homee/snapshots/test_sensor.ambr +++ b/tests/components/homee/snapshots/test_sensor.ambr @@ -51,6 +51,58 @@ 'state': '100.0', }) # --- +# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.test_multisensor_battery_2', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Battery', + 'platform': 'homee', + 'previous_unique_id': None, + 'supported_features': 0, + 'translation_key': 'battery_instance', + 'unique_id': '00055511EECC-1-34', + 'unit_of_measurement': '%', + }) +# --- +# name: test_sensor_snapshot[sensor.test_multisensor_battery_2-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'battery', + 'friendly_name': 'Test MultiSensor Battery', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.test_multisensor_battery_2', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '100.0', + }) +# --- # name: test_sensor_snapshot[sensor.test_multisensor_current_1-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -594,57 +646,6 @@ 'name': None, 'options': dict({ }), - 'original_device_class': None, - 'original_icon': None, - 'original_name': 'Illuminance 2', - 'platform': 'homee', - 'previous_unique_id': None, - 'supported_features': 0, - 'translation_key': 'brightness_instance', - 'unique_id': '00055511EECC-1-34', - 'unit_of_measurement': '%', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] - StateSnapshot({ - 'attributes': ReadOnlyDict({ - 'friendly_name': 'Test MultiSensor Illuminance 2', - 'state_class': , - 'unit_of_measurement': '%', - }), - 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_2', - 'last_changed': , - 'last_reported': , - 'last_updated': , - 'state': '100.0', - }) -# --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2_2-entry] - EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), - 'area_id': None, - 'capabilities': dict({ - 'state_class': , - }), - 'config_entry_id': , - 'config_subentry_id': , - 'device_class': None, - 'device_id': , - 'disabled_by': None, - 'domain': 'sensor', - 'entity_category': None, - 'entity_id': 'sensor.test_multisensor_illuminance_2_2', - 'has_entity_name': True, - 'hidden_by': None, - 'icon': None, - 'id': , - 'labels': set({ - }), - 'name': None, - 'options': dict({ - }), 'original_device_class': , 'original_icon': None, 'original_name': 'Illuminance 2', @@ -656,7 +657,7 @@ 'unit_of_measurement': 'lx', }) # --- -# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2_2-state] +# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-state] StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'illuminance', @@ -665,7 +666,7 @@ 'unit_of_measurement': 'lx', }), 'context': , - 'entity_id': 'sensor.test_multisensor_illuminance_2_2', + 'entity_id': 'sensor.test_multisensor_illuminance_2', 'last_changed': , 'last_reported': , 'last_updated': ,