core: surepetcare - cat flap: "ERROR (UN)LOCKING DEVICE - PLEASE CHECK IMMEDIATELY"

The problem

This integration has suddenly become rather flakey; it had been working fine until recently (last 2 days) where it’s been failing.

The error doesn’t give much away unfortunately:

Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/script/__init__.py", line 594, in _async_run
    return await self.script.async_run(script_vars, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 1578, in async_run
    return await asyncio.shield(run.async_run())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 420, in async_run
    await self._async_step(log_exceptions=False)
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 470, in _async_step
    self._handle_exception(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 493, in _handle_exception
    raise exception
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 951, in _async_if_step
    await self._async_run_script(if_data["if_then"])
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 1069, in _async_run_script
    await self._async_run_long_action(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 1578, in async_run
    return await asyncio.shield(run.async_run())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 420, in async_run
    await self._async_step(log_exceptions=False)
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 470, in _async_step
    self._handle_exception(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 493, in _handle_exception
    raise exception
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/script.py", line 720, in _async_device_step
    await device_action.async_call_action_from_config(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/device_automation/action.py", line 71, in async_call_action_from_config
    await platform.async_call_action_from_config(hass, config, variables, context)
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/lock/device_action.py", line 88, in async_call_action_from_config
    await hass.services.async_call(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 2035, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 2072, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 876, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 948, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/lock/__init__.py", line 99, in _async_lock
    await entity.async_lock(**remove_entity_service_fields(service_call))
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/surepetcare/lock.py", line 88, in async_lock
    await self.coordinator.lock_states_callbacks[self._lock_state](self._id)
  File "/lsiopy/lib/python3.11/site-packages/surepy/client.py", line 347, in lock_out
    return await self._set_lock_state(device_id, LockState.LOCKED_OUT)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/surepy/client.py", line 373, in _set_lock_state
    raise SurePetcareError("ERROR (UN)LOCKING DEVICE - PLEASE CHECK IMMEDIATELY!")
surepy.exceptions.SurePetcareError: ERROR (UN)LOCKING DEVICE - PLEASE CHECK IMMEDIATELY!

What version of Home Assistant Core has the issue?

core-2023.11.3

What was the last working version of Home Assistant Core?

core-2023.11.3

What type of installation are you running?

Home Assistant Container

Integration causing the issue

surepetcare

Link to integration documentation on our website

https://www.home-assistant.io/integrations/surepetcare/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Reactions: 6
  • Comments: 23 (6 by maintainers)

Most upvoted comments

there’s an open MR from a sureflap dev already, will merge it later today probably ✌️

@heisenberg2980 just tested - works perfectly, thanks so much 😃

It seems https://github.com/benleb/surepy/pull/201 solves the issue and it has been merged today, hopefully it will be available in Home Assistant soon

The merge is slates for 2023.12.4 release, which isn’t released yet, what build did you use?

Ah yes, this is the problem I’m still on core 2023.12.3 and, as you say, awaiting 12.4… Just for my future edification, is there somewhere on the PR (or elsewhere) I could have seen this for myself?

more or less 😄 in the MR https://github.com/home-assistant/core/pull/106101 you can see it here

image

or in the sidebar

image