From da864ca034c66b0002ac8d5b63b1019276512dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Wed, 20 Aug 2025 23:01:03 +0200 Subject: [PATCH] Matter Refrigerator DoorOpen alarm (#150759) Co-authored-by: Joost Lekkerkerker --- .../components/matter/binary_sensor.py | 17 ++++- homeassistant/components/matter/strings.json | 2 +- .../matter/snapshots/test_binary_sensor.ambr | 75 +++++++++++++++---- 3 files changed, 79 insertions(+), 15 deletions(-) diff --git a/homeassistant/components/matter/binary_sensor.py b/homeassistant/components/matter/binary_sensor.py index 3ce0cc68012..ea74baab773 100644 --- a/homeassistant/components/matter/binary_sensor.py +++ b/homeassistant/components/matter/binary_sensor.py @@ -396,7 +396,7 @@ DISCOVERY_SCHEMAS = [ platform=Platform.BINARY_SENSOR, entity_description=MatterBinarySensorEntityDescription( key="DishwasherAlarmDoorError", - translation_key="dishwasher_alarm_door", + translation_key="alarm_door", device_class=BinarySensorDeviceClass.PROBLEM, entity_category=EntityCategory.DIAGNOSTIC, device_to_ha=lambda x: ( @@ -407,4 +407,19 @@ DISCOVERY_SCHEMAS = [ required_attributes=(clusters.DishwasherAlarm.Attributes.State,), allow_multi=True, ), + MatterDiscoverySchema( + platform=Platform.BINARY_SENSOR, + entity_description=MatterBinarySensorEntityDescription( + key="RefrigeratorAlarmDoorOpen", + translation_key="alarm_door", + device_class=BinarySensorDeviceClass.PROBLEM, + entity_category=EntityCategory.DIAGNOSTIC, + device_to_ha=lambda x: ( + x == clusters.RefrigeratorAlarm.Bitmaps.AlarmBitmap.kDoorOpen + ), + ), + entity_class=MatterBinarySensor, + required_attributes=(clusters.RefrigeratorAlarm.Attributes.State,), + allow_multi=True, + ), ] diff --git a/homeassistant/components/matter/strings.json b/homeassistant/components/matter/strings.json index f45baf8729d..e9c023cd74e 100644 --- a/homeassistant/components/matter/strings.json +++ b/homeassistant/components/matter/strings.json @@ -92,7 +92,7 @@ "dishwasher_alarm_inflow": { "name": "Inflow alarm" }, - "dishwasher_alarm_door": { + "alarm_door": { "name": "Door alarm" } }, diff --git a/tests/components/matter/snapshots/test_binary_sensor.ambr b/tests/components/matter/snapshots/test_binary_sensor.ambr index 7e2f1e7618e..8756efdfbd2 100644 --- a/tests/components/matter/snapshots/test_binary_sensor.ambr +++ b/tests/components/matter/snapshots/test_binary_sensor.ambr @@ -519,7 +519,7 @@ 'previous_unique_id': None, 'suggested_object_id': None, 'supported_features': 0, - 'translation_key': 'dishwasher_alarm_door', + 'translation_key': 'alarm_door', 'unique_id': '00000000000004D2-0000000000000036-MatterNodeDevice-1-DishwasherAlarmDoorError-93-2', 'unit_of_measurement': None, }) @@ -587,6 +587,55 @@ 'state': 'off', }) # --- +# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.evse_charger_supply_state', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Charger supply state', + 'platform': 'matter', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'evse_supply_state', + 'unique_id': '00000000000004D2-0000000000000017-MatterNodeDevice-1-EnergyEvseSupplyStateSensor-153-1', + 'unit_of_measurement': None, + }) +# --- +# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'running', + 'friendly_name': 'evse Charger supply state', + }), + 'context': , + 'entity_id': 'binary_sensor.evse_charger_supply_state', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charging_status-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ @@ -685,7 +734,7 @@ 'state': 'on', }) # --- -# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-entry] +# name: test_binary_sensors[silabs_refrigerator][binary_sensor.refrigerator_door_alarm-entry] EntityRegistryEntrySnapshot({ 'aliases': set({ }), @@ -697,8 +746,8 @@ 'device_id': , 'disabled_by': None, 'domain': 'binary_sensor', - 'entity_category': None, - 'entity_id': 'binary_sensor.evse_charger_supply_state', + 'entity_category': , + 'entity_id': 'binary_sensor.refrigerator_door_alarm', 'has_entity_name': True, 'hidden_by': None, 'icon': None, @@ -708,30 +757,30 @@ 'name': None, 'options': dict({ }), - 'original_device_class': , + 'original_device_class': , 'original_icon': None, - 'original_name': 'Charger supply state', + 'original_name': 'Door alarm', 'platform': 'matter', 'previous_unique_id': None, 'suggested_object_id': None, 'supported_features': 0, - 'translation_key': 'evse_supply_state', - 'unique_id': '00000000000004D2-0000000000000017-MatterNodeDevice-1-EnergyEvseSupplyStateSensor-153-1', + 'translation_key': 'alarm_door', + 'unique_id': '00000000000004D2-000000000000003A-MatterNodeDevice-1-RefrigeratorAlarmDoorOpen-87-2', 'unit_of_measurement': None, }) # --- -# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-state] +# name: test_binary_sensors[silabs_refrigerator][binary_sensor.refrigerator_door_alarm-state] StateSnapshot({ 'attributes': ReadOnlyDict({ - 'device_class': 'running', - 'friendly_name': 'evse Charger supply state', + 'device_class': 'problem', + 'friendly_name': 'Refrigerator Door alarm', }), 'context': , - 'entity_id': 'binary_sensor.evse_charger_supply_state', + 'entity_id': 'binary_sensor.refrigerator_door_alarm', 'last_changed': , 'last_reported': , 'last_updated': , - 'state': 'on', + 'state': 'off', }) # --- # name: test_binary_sensors[silabs_water_heater][binary_sensor.water_heater_boost_state-entry]