home-assistant/core · warning · HomeAssistantError

{self.entity_id} does not support {action}

Error message

{self.entity_id} does not support {action}

What it means

Raised by BondLight._async_has_action_or_raise when the Bond device's action list does not contain the requested action (e.g. Action.START_INCREASING_BRIGHTNESS for the deprecated start_increasing_brightness service). The entity checks self._device.has_action(action) locally and refuses before any API call.

Source

Thrown at homeassistant/components/bond/light.py:154

        """Turn on the light."""
        if brightness := kwargs.get(ATTR_BRIGHTNESS):
            await self._bond.action(
                self._device_id,
                Action.set_brightness(round((brightness * 100) / 255)),
            )
        else:
            await self._bond.action(self._device_id, Action.turn_light_on())

    @override
    async def async_turn_off(self, **kwargs: Any) -> None:
        """Turn off the light."""
        await self._bond.action(self._device_id, Action.turn_light_off())

    @callback
    def _async_has_action_or_raise(self, action: str) -> None:
        """Raise HomeAssistantError if the device does not support an action."""
        if not self._device.has_action(action):
            raise HomeAssistantError(f"{self.entity_id} does not support {action}")

    async def async_start_increasing_brightness(self) -> None:
        """Start increasing the light brightness."""
        _LOGGER.warning(
            "The bond.start_increasing_brightness service is deprecated and has been"
            " replaced with a button; Call the button.press service instead"
        )
        self._async_has_action_or_raise(Action.START_INCREASING_BRIGHTNESS)
        await self._bond.action(
            self._device_id, Action(Action.START_INCREASING_BRIGHTNESS)
        )

    async def async_start_decreasing_brightness(self) -> None:
        """Start decreasing the light brightness."""
        _LOGGER.warning(
            "The bond.start_decreasing_brightness service is deprecated and has been"
            " replaced with a button; Call the button.press service instead"
        )

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Switch the automation to the replacement button entity: use button.press on the Start Brightness Increase button instead of the deprecated service.
  2. Verify the device supports the action in the Bond app (device actions list).
  3. Remove the deprecated service call entirely — the log line already warns it is replaced by a button.

Example fix

# before
await hass.services.async_call("bond", "start_increasing_brightness", {"entity_id": "light.x"})
# after
await hass.services.async_call("button", "press", {"entity_id": "button.x_start_brightness_increase"})
Defensive patterns

Strategy: type-guard

Type guard

def light_has_action(entity, action: str) -> bool:
    """True when the Bond device's action list contains action."""
    device = getattr(entity, "_device", None)
    return bool(device and device.has_action(action))

Try / catch

if not entity._device.has_action(Action.START_INCREASING_BRIGHTNESS):
    _LOGGER.debug("skipping unsupported action")
else:
    await entity.async_start_increasing_brightness()

Prevention

When it happens

Trigger: Calling the deprecated bond.start_increasing_brightness service (or start_decreasing) on a light whose Bond device profile omits that action; using the old service instead of the replacement button entity.

Common situations: Old automations still calling the deprecated service against devices that never had brightness actions; device re-paired with a more restricted profile.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/1723530720a45afb. Report an issue: GitHub.