mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 20:27:08 +00:00
Fix sending a (default) pincode to Matter Lock operations (#95402)
This commit is contained in:
parent
99a622c8ee
commit
e7f29263e3
@ -8,7 +8,7 @@ from chip.clusters import Objects as clusters
|
|||||||
|
|
||||||
from homeassistant.components.lock import LockEntity, LockEntityDescription
|
from homeassistant.components.lock import LockEntity, LockEntityDescription
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import Platform
|
from homeassistant.const import ATTR_CODE, Platform
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
|
|
||||||
@ -56,11 +56,25 @@ class MatterLock(MatterEntity, LockEntity):
|
|||||||
|
|
||||||
async def async_lock(self, **kwargs: Any) -> None:
|
async def async_lock(self, **kwargs: Any) -> None:
|
||||||
"""Lock the lock with pin if needed."""
|
"""Lock the lock with pin if needed."""
|
||||||
await self.send_device_command(command=clusters.DoorLock.Commands.LockDoor())
|
code: str = kwargs.get(
|
||||||
|
ATTR_CODE,
|
||||||
|
self._lock_option_default_code,
|
||||||
|
)
|
||||||
|
code_bytes = code.encode() if code else None
|
||||||
|
await self.send_device_command(
|
||||||
|
command=clusters.DoorLock.Commands.LockDoor(code_bytes)
|
||||||
|
)
|
||||||
|
|
||||||
async def async_unlock(self, **kwargs: Any) -> None:
|
async def async_unlock(self, **kwargs: Any) -> None:
|
||||||
"""Unlock the lock with pin if needed."""
|
"""Unlock the lock with pin if needed."""
|
||||||
await self.send_device_command(command=clusters.DoorLock.Commands.UnlockDoor())
|
code: str = kwargs.get(
|
||||||
|
ATTR_CODE,
|
||||||
|
self._lock_option_default_code,
|
||||||
|
)
|
||||||
|
code_bytes = code.encode() if code else None
|
||||||
|
await self.send_device_command(
|
||||||
|
command=clusters.DoorLock.Commands.UnlockDoor(code_bytes)
|
||||||
|
)
|
||||||
|
|
||||||
@callback
|
@callback
|
||||||
def _update_from_device(self) -> None:
|
def _update_from_device(self) -> None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user