Skip to content

Commit da864ca

Browse files
lbouejoostlek
andauthored
Matter Refrigerator DoorOpen alarm (home-assistant#150759)
Co-authored-by: Joost Lekkerkerker <[email protected]>
1 parent 8d6b7bf commit da864ca

File tree

3 files changed

+79
-15
lines changed

3 files changed

+79
-15
lines changed

homeassistant/components/matter/binary_sensor.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ def _update_from_device(self) -> None:
396396
platform=Platform.BINARY_SENSOR,
397397
entity_description=MatterBinarySensorEntityDescription(
398398
key="DishwasherAlarmDoorError",
399-
translation_key="dishwasher_alarm_door",
399+
translation_key="alarm_door",
400400
device_class=BinarySensorDeviceClass.PROBLEM,
401401
entity_category=EntityCategory.DIAGNOSTIC,
402402
device_to_ha=lambda x: (
@@ -407,4 +407,19 @@ def _update_from_device(self) -> None:
407407
required_attributes=(clusters.DishwasherAlarm.Attributes.State,),
408408
allow_multi=True,
409409
),
410+
MatterDiscoverySchema(
411+
platform=Platform.BINARY_SENSOR,
412+
entity_description=MatterBinarySensorEntityDescription(
413+
key="RefrigeratorAlarmDoorOpen",
414+
translation_key="alarm_door",
415+
device_class=BinarySensorDeviceClass.PROBLEM,
416+
entity_category=EntityCategory.DIAGNOSTIC,
417+
device_to_ha=lambda x: (
418+
x == clusters.RefrigeratorAlarm.Bitmaps.AlarmBitmap.kDoorOpen
419+
),
420+
),
421+
entity_class=MatterBinarySensor,
422+
required_attributes=(clusters.RefrigeratorAlarm.Attributes.State,),
423+
allow_multi=True,
424+
),
410425
]

homeassistant/components/matter/strings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"dishwasher_alarm_inflow": {
9393
"name": "Inflow alarm"
9494
},
95-
"dishwasher_alarm_door": {
95+
"alarm_door": {
9696
"name": "Door alarm"
9797
}
9898
},

tests/components/matter/snapshots/test_binary_sensor.ambr

Lines changed: 62 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@
519519
'previous_unique_id': None,
520520
'suggested_object_id': None,
521521
'supported_features': 0,
522-
'translation_key': 'dishwasher_alarm_door',
522+
'translation_key': 'alarm_door',
523523
'unique_id': '00000000000004D2-0000000000000036-MatterNodeDevice-1-DishwasherAlarmDoorError-93-2',
524524
'unit_of_measurement': None,
525525
})
@@ -587,6 +587,55 @@
587587
'state': 'off',
588588
})
589589
# ---
590+
# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-entry]
591+
EntityRegistryEntrySnapshot({
592+
'aliases': set({
593+
}),
594+
'area_id': None,
595+
'capabilities': None,
596+
'config_entry_id': <ANY>,
597+
'config_subentry_id': <ANY>,
598+
'device_class': None,
599+
'device_id': <ANY>,
600+
'disabled_by': None,
601+
'domain': 'binary_sensor',
602+
'entity_category': None,
603+
'entity_id': 'binary_sensor.evse_charger_supply_state',
604+
'has_entity_name': True,
605+
'hidden_by': None,
606+
'icon': None,
607+
'id': <ANY>,
608+
'labels': set({
609+
}),
610+
'name': None,
611+
'options': dict({
612+
}),
613+
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
614+
'original_icon': None,
615+
'original_name': 'Charger supply state',
616+
'platform': 'matter',
617+
'previous_unique_id': None,
618+
'suggested_object_id': None,
619+
'supported_features': 0,
620+
'translation_key': 'evse_supply_state',
621+
'unique_id': '00000000000004D2-0000000000000017-MatterNodeDevice-1-EnergyEvseSupplyStateSensor-153-1',
622+
'unit_of_measurement': None,
623+
})
624+
# ---
625+
# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-state]
626+
StateSnapshot({
627+
'attributes': ReadOnlyDict({
628+
'device_class': 'running',
629+
'friendly_name': 'evse Charger supply state',
630+
}),
631+
'context': <ANY>,
632+
'entity_id': 'binary_sensor.evse_charger_supply_state',
633+
'last_changed': <ANY>,
634+
'last_reported': <ANY>,
635+
'last_updated': <ANY>,
636+
'state': 'on',
637+
})
638+
# ---
590639
# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charging_status-entry]
591640
EntityRegistryEntrySnapshot({
592641
'aliases': set({
@@ -685,7 +734,7 @@
685734
'state': 'on',
686735
})
687736
# ---
688-
# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-entry]
737+
# name: test_binary_sensors[silabs_refrigerator][binary_sensor.refrigerator_door_alarm-entry]
689738
EntityRegistryEntrySnapshot({
690739
'aliases': set({
691740
}),
@@ -697,8 +746,8 @@
697746
'device_id': <ANY>,
698747
'disabled_by': None,
699748
'domain': 'binary_sensor',
700-
'entity_category': None,
701-
'entity_id': 'binary_sensor.evse_charger_supply_state',
749+
'entity_category': <EntityCategory.DIAGNOSTIC: 'diagnostic'>,
750+
'entity_id': 'binary_sensor.refrigerator_door_alarm',
702751
'has_entity_name': True,
703752
'hidden_by': None,
704753
'icon': None,
@@ -708,30 +757,30 @@
708757
'name': None,
709758
'options': dict({
710759
}),
711-
'original_device_class': <BinarySensorDeviceClass.RUNNING: 'running'>,
760+
'original_device_class': <BinarySensorDeviceClass.PROBLEM: 'problem'>,
712761
'original_icon': None,
713-
'original_name': 'Charger supply state',
762+
'original_name': 'Door alarm',
714763
'platform': 'matter',
715764
'previous_unique_id': None,
716765
'suggested_object_id': None,
717766
'supported_features': 0,
718-
'translation_key': 'evse_supply_state',
719-
'unique_id': '00000000000004D2-0000000000000017-MatterNodeDevice-1-EnergyEvseSupplyStateSensor-153-1',
767+
'translation_key': 'alarm_door',
768+
'unique_id': '00000000000004D2-000000000000003A-MatterNodeDevice-1-RefrigeratorAlarmDoorOpen-87-2',
720769
'unit_of_measurement': None,
721770
})
722771
# ---
723-
# name: test_binary_sensors[silabs_evse_charging][binary_sensor.evse_charger_supply_state-state]
772+
# name: test_binary_sensors[silabs_refrigerator][binary_sensor.refrigerator_door_alarm-state]
724773
StateSnapshot({
725774
'attributes': ReadOnlyDict({
726-
'device_class': 'running',
727-
'friendly_name': 'evse Charger supply state',
775+
'device_class': 'problem',
776+
'friendly_name': 'Refrigerator Door alarm',
728777
}),
729778
'context': <ANY>,
730-
'entity_id': 'binary_sensor.evse_charger_supply_state',
779+
'entity_id': 'binary_sensor.refrigerator_door_alarm',
731780
'last_changed': <ANY>,
732781
'last_reported': <ANY>,
733782
'last_updated': <ANY>,
734-
'state': 'on',
783+
'state': 'off',
735784
})
736785
# ---
737786
# name: test_binary_sensors[silabs_water_heater][binary_sensor.water_heater_boost_state-entry]

0 commit comments

Comments
 (0)