Handle exposure of entities to separate Assist Pipelines

Currently if you have multiple Assist Pipelines, when you expose an entity to Assist, it exposes that entity to ALL Assist Pipelines.

This feature request is to handle each of these assist pipelines individually. We should be able to expose entities to one Assist Pipeline, but not to others.

Here is a use case:

Assist Pipeline running with the built-in Home Assistant Conversation Agent:

  • This is 100% local, so we “trust” it with more control, perhaps we expose the ability to turn lights on/off, maybe even turn a pool on and off.

Assist Pipeline running with some cloud-based Large Language Model:

  • We don’t trust this one as much, so we want to expose a more limited set of entities, perhaps things like temperature sensors.

Currently, there there does not seem to be a way to do this, if we want to expose an entity to our local (and privacy respecting) pipeline, we must also expose that entity to all other assist pipelines.

To clarify, because there was quite a bit of confusion about this in the Discord, this request has nothing to do with exposing entities to Alexa or Google, and the issue can be boiled down to this statement: “Entity exposure should be handled separately for each assist pipeline, including separate toggles for automatically exposing new entities per pipeline, as opposed to lumping the entity exposure for all assist pipelines together”

Another example use case for this would be having a voice assist near a pool. It would be nice to be able to command that assistant to do things (turn on the pool, turn on the waterfall, etc), while not allowing it to do certain other actions as it is located outside in an “unsecured area”, while also having a separate assistant inside the house which can perform more actions because more entities are exposed to it.

Great suggestion. I was also looking for this idea, but I don’t see a lot of interest yet.
Upvoted, thank you!