CJNE / ha-porscheconnect

Porsche Connect custom component for Home Assistant
MIT License
31 stars 14 forks source link

Lock behaviour. It lock but it does not unlock even with a pre-determined code set-up #257

Open barto64 opened 2 days ago

barto64 commented 2 days ago

Version of the custom_component

new_api version

Describe the bug

I have been able to lock the car using the "lock" entity, but when trying to unlock I can see the error after pushing the "unlock" action. Action could not be executed lock/unlock. PIN code not provided.

I have entered my PIN on the "pre-determined code" of the lock entity but it doews not seem to work. Not sure if it is an error or I am missing something.

Debug log

2024-11-25 13:04:05.375 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547247394096] Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2802, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2845, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1007, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1079, 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 "/config/custom_components/porscheconnect/lock.py", line 80, in async_unlock raise ValueError("PIN code not provided.") ValueError: PIN code not provided.

fredriklj commented 6 hours ago

Not sure either, have not tried "pre-determined code". Could you see if it works by calling the service and giving the pin explicitly. Something like:

action: lock.unlock
data:
    code: "1234"