Skip to content

Android entity widget can spin indefinitely after cover.toggle, blocking further interaction #6582

@old-square-eyes

Description

@old-square-eyes

Describe the bug
When using an Android Home Assistant entity widget for a gate/garage cover entity, tapping the widget mid-travel can leave it in a perpetual spinning/loading state. Once this happens, the widget is effectively blocked from further use because it remains busy and no longer provides usable access to the entity.

Image

To Reproduce

  • Add a Home Assistant entity widget to the Android home screen for a gate/garage cover entity.
  • Configure it to use toggle behavior.
  • Tap the widget to trigger the gate.
  • Tap it again while the gate is mid-travel, or otherwise during a state transition.
  • Observe that the widget can remain in a perpetual spinning/loading state.

Expected behavior
The widget should send the toggle action and then recover to an idle usable state within a reasonable time, even if entity state feedback is limited or ambiguous. In the case of a normal gate or garage door this is normal operation and the sensor would remain "open" state even when stopped mid travel. Tapping again should send another toggle to trigger the nex step of the sequence on the gate/door motor. Note this leg is abstracted to the hardware. Only toggle needs to be sent, and sensor state displayed.

If the backend action succeeded but the widget cannot confirm the final state, it should still stop spinning and allow further interaction.

Actual behavior
The widget can remain spinning indefinitely.
While spinning, it appears blocked from further interaction, which prevents me from using that widget again unless I open the app, refresh things manually, or recreate the widget.

Use case
My gate controller behaves like a normal RF step controller:

  • First trigger: start moving.
  • Trigger while moving: stop.
  • Next trigger: reverse direction.

The gate position sensor is only aware of open or closed. It does not provide a reliable intermediate or in-motion state. Because of that, toggle is the correct control model for this entity and matches how the physical RF remote works.

Why this matters
For this kind of gate, stopping mid-travel is intentional and valid behavior, not an error case. The widget getting stuck in a perpetual loading state means I lose quick access to the entity right when I need repeated step-style control.
What I’m expecting

  • The widget should tolerate covers/gates that use step/toggle logic.
  • It should not require a clean “opening/closing/stopped” feedback model to recover.
  • If state confirmation is unclear, it should fail gracefully, stop spinning, and remain tappable.
  • It would be helpful if the widget had a timeout or fallback path so it never stays busy forever.

Environment

  • Home Assistant Android Companion App: 2026.3.2-full
  • Home Assistant Core: 2026.3.2
  • Integration: Meross Garage Door Opener (Meross LAN)
  • Android version: One UI 8 Android 16
  • Phone model: S24 Ultra
  • Entity domain: cover
  • Entity behavior: step/toggle gate controller with binary open/closed sensing only

This may be most visible on cover entities where toggle is the correct control behavior, but state feedback is incomplete during travel.

Old (presumably unresolved issue that was closed): #653

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingwidget

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions