I integrated my Aqara U200 into HA a couple of months ago and IIRC it worked correctly --updated in HA when unlocked or locked, etc.
Lately it’s been stuck on lock in HA. If the U200 is locked and I select unlock in HA it:
Unlocks the U200
In HA, has a “pending” icon for a few seconds then shows as locked again (U200 is unlocked at this point)
If I select unlock again, HA again has the “pending” symbol for the lock, U200 beeps but does not unlock (b/c it’s already unlocked). During the “pending” icon time window, lock appears as an option in HA and If I select it the U200 locks. If I do nothing U200 shows as locked but is actually unlocked.
I am on the latest Aqara firmware. Has anyone else ran into this problem?
The following error message sometimes appears when attempting an unlock:
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:241
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 9:52:43 AM (2 occurrences)
Last logged: 10:20:28 AM
[140152987906064] Unexpected exception
[140152985842688] Unexpected exception
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 241, in handle_call_service
response = await hass.services.async_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2763, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2806, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 999, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1071, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/lock/__init__.py", line 239, in async_handle_unlock_service
await self.async_unlock(**self.add_default_code(kwargs))
File "/usr/src/homeassistant/homeassistant/components/matter/lock.py", line 115, in async_unlock
await self.send_device_command(
File "/usr/src/homeassistant/homeassistant/components/matter/lock.py", line 70, in send_device_command
await self.matter_client.send_device_command(
File "/usr/local/lib/python3.12/site-packages/matter_server/client/client.py", line 454, in send_device_command
return await self.send_command(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/matter_server/client/client.py", line 583, in send_command
return await future
^^^^^^^^^^^^
matter_server.common.errors.UnknownError: InteractionModelError: UnsupportedAccess (0x7e)
Yes, i can confirm this for my Aqara U200. this just happened couple of days ago.
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/lock/__init__.py", line 226, in async_handle_lock_service
await self.async_lock(**self.add_default_code(kwargs))
File "/usr/src/homeassistant/homeassistant/components/matter/lock.py", line 90, in async_lock
await self.send_device_command(
File "/usr/src/homeassistant/homeassistant/components/matter/lock.py", line 70, in send_device_command
await self.matter_client.send_device_command(
File "/usr/local/lib/python3.12/site-packages/matter_server/client/client.py", line 454, in send_device_command
return await self.send_command(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/matter_server/client/client.py", line 583, in send_command
return await future
^^^^^^^^^^^^
matter_server.common.errors.UnknownError: InteractionModelError: UnsupportedAccess (0x7e)
I have the same issue. I have now configured a virtual template lock that resorts back to HomeKit when thread is failing (I created some dummy switches to control the behavior). Finally some peace of mind.
This lock is working correctly for me now knocks on wood
Unfortunately I’ve changed a few things so I’m not sure what fixed it. In the last few weeks I have:
Updated Matter Server a couple of times
Fixed an Alexa Integration and unlinked/relinked my Home Assistant Skill to my Alexa app.
The Alexa fix was adding the “Send to Alexa” credentials and permissions, which I was lacking before. That was causing a bunch of odd errors, unsure if this was one of them or not. I’ll keep this thread updated incase my issues come back.
There was a bug in the Matter Server which made subscription stop working. This has been resolved with the 6.5.0 release (specificially by this PR Retry subscription setup if necessary by agners · Pull Request #873 · home-assistant-libs/python-matter-server · GitHub). The symptoms you described likely got triggered by this bug: Once the Matter Server lost subscription with the device, commands still get sent, but the state of the lock was no longer reflected correclty. And once the wrong state was assumed on Home Assistant side, the wrong command got sent, which lead to the error you described.