From eae748dd180f3a68e8cb72ec600aac29a02eb100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Dias?= Date: Mon, 5 Oct 2026 13:02:10 +0100 Subject: [PATCH] Add power sensors for Netatmo dimmers (#184107) Co-authored-by: Claude Opus 5.5 (1M context) --- .../components/netatmo/coordinator.py | 5 +- homeassistant/components/netatmo/sensor.py | 2 + .../netatmo/snapshots/test_sensor.ambr | 110 ++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/netatmo/coordinator.py b/homeassistant/components/netatmo/coordinator.py index 7ab2370d8412..9f6517384f87 100644 --- a/homeassistant/components/netatmo/coordinator.py +++ b/homeassistant/components/netatmo/coordinator.py @@ -444,7 +444,10 @@ class NetatmoDataHandler: NETATMO_CREATE_CAMERA, NETATMO_CREATE_CAMERA_LIGHT, ], - NetatmoDeviceCategory.dimmer: [NETATMO_CREATE_LIGHT], + NetatmoDeviceCategory.dimmer: [ + NETATMO_CREATE_LIGHT, + NETATMO_CREATE_LEGACY_SENSOR, + ], NetatmoDeviceCategory.shutter: [ NETATMO_CREATE_COVER, NETATMO_CREATE_BUTTON, diff --git a/homeassistant/components/netatmo/sensor.py b/homeassistant/components/netatmo/sensor.py index 8930f44347dd..0c4e68f35c59 100644 --- a/homeassistant/components/netatmo/sensor.py +++ b/homeassistant/components/netatmo/sensor.py @@ -462,6 +462,7 @@ DEVICE_CATEGORY_LEGACY_SENSORS: Final[ ] = { NetatmoDeviceCategory.meter: NETATMO_WEATHER_SENSOR_DESCRIPTIONS, NetatmoDeviceCategory.switch: NETATMO_WEATHER_SENSOR_DESCRIPTIONS, + NetatmoDeviceCategory.dimmer: NETATMO_WEATHER_SENSOR_DESCRIPTIONS, NetatmoDeviceCategory.climate: NETATMO_WEATHER_SENSOR_DESCRIPTIONS, } @@ -470,6 +471,7 @@ DEVICE_CATEGORY_SENSOR_URLS: Final[dict[NetatmoDeviceCategory, str]] = { NetatmoDeviceCategory.meter: CONF_URL_ENERGY, NetatmoDeviceCategory.opening: CONF_URL_SECURITY, NetatmoDeviceCategory.switch: CONF_URL_CONTROL, + NetatmoDeviceCategory.dimmer: CONF_URL_CONTROL, } diff --git a/tests/components/netatmo/snapshots/test_sensor.ambr b/tests/components/netatmo/snapshots/test_sensor.ambr index 9206611984a9..ba78a90878d2 100644 --- a/tests/components/netatmo/snapshots/test_sensor.ambr +++ b/tests/components/netatmo/snapshots/test_sensor.ambr @@ -5720,6 +5720,116 @@ 'state': 'True', }) # --- +# name: test_entity[sensor.unknown_00_11_22_33_00_11_45_fe-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': , + 'entity_id': 'sensor.unknown_00_11_22_33_00_11_45_fe', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'netatmo', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': '00:11:22:33:00:11:45:fe-00:11:22:33:00:11:45:fe-reachable', + 'unit_of_measurement': None, + }) +# --- +# name: test_entity[sensor.unknown_00_11_22_33_00_11_45_fe-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'Data provided by Netatmo', + : 'Unknown 00:11:22:33:00:11:45:fe', + }), + 'context': , + 'entity_id': 'sensor.unknown_00_11_22_33_00_11_45_fe', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'True', + }) +# --- +# name: test_entity[sensor.unknown_00_11_22_33_00_11_45_fe_power-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + : , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.unknown_00_11_22_33_00_11_45_fe_power', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Power', + 'options': dict({ + 'sensor': dict({ + 'suggested_display_precision': 0, + }), + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Power', + 'platform': 'netatmo', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': '00:11:22:33:00:11:45:fe-00:11:22:33:00:11:45:fe-power', + 'unit_of_measurement': , + }) +# --- +# name: test_entity[sensor.unknown_00_11_22_33_00_11_45_fe_power-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + : 'Data provided by Netatmo', + : 'power', + : 'Unknown 00:11:22:33:00:11:45:fe Power', + : , + : , + }), + 'context': , + 'entity_id': 'sensor.unknown_00_11_22_33_00_11_45_fe_power', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0', + }) +# --- # name: test_entity[sensor.villa_atmospheric_pressure-entry] EntityRegistryEntrySnapshot({ 'aliases': list([