diff --git a/homeassistant/components/matter/lock.py b/homeassistant/components/matter/lock.py index e5067efd482..f58ded01013 100644 --- a/homeassistant/components/matter/lock.py +++ b/homeassistant/components/matter/lock.py @@ -168,6 +168,9 @@ class MatterLock(MatterEntity, LockEntity): self._attr_is_jammed = ( door_state is clusters.DoorLock.Enums.DoorStateEnum.kDoorJammed ) + self._attr_is_open = ( + door_state is clusters.DoorLock.Enums.DoorStateEnum.kDoorOpen + ) DISCOVERY_SCHEMAS = [ diff --git a/tests/components/matter/test_door_lock.py b/tests/components/matter/test_door_lock.py index 7f6abeff62b..6e0e0846ad5 100644 --- a/tests/components/matter/test_door_lock.py +++ b/tests/components/matter/test_door_lock.py @@ -9,6 +9,7 @@ import pytest from homeassistant.components.lock import ( STATE_LOCKED, STATE_LOCKING, + STATE_OPEN, STATE_UNLOCKED, STATE_UNLOCKING, LockEntityFeature, @@ -208,3 +209,10 @@ async def test_lock_with_unbolt( command=clusters.DoorLock.Commands.UnlockDoor(), timed_request_timeout_ms=1000, ) + + set_node_attribute(door_lock_with_unbolt, 1, 257, 3, 0) + await trigger_subscription_callback(hass, matter_client) + + state = hass.states.get("lock.mock_door_lock") + assert state + assert state.state == STATE_OPEN