Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Integrate with Home Assistant's Voice Assistant section #28

Open
ankushg opened this issue Jan 12, 2025 · 6 comments
Open
Assignees
Labels
enhancement New feature or request

Comments

@ankushg
Copy link

ankushg commented Jan 12, 2025

Is your feature request related to a problem? Please describe.
It's often tricky to maintain allowlist/blocklist filters outside of home assistant, especially in homes where people have differing levels of knowledge about the full home automation stack.

Describe the solution you'd like
It would be great if Matterbridge showed up in Home Assistant's built-in voice assistant section and integrated with the integrated GUI to expose/hide entities

https://www.home-assistant.io/voice_control/voice_remote_expose_devices/

@Luligu Luligu self-assigned this Jan 16, 2025
@Luligu Luligu added the enhancement New feature or request label Jan 16, 2025
@Luligu
Copy link
Owner

Luligu commented Jan 16, 2025

Thanks very interesting idea... will check it.

@robvanoostenrijk
Copy link
Collaborator

robvanoostenrijk commented Jan 25, 2025

It looks like entities exposed as voice assistant entities are available through the websocket API:

In the below example the light and 3 climate controls are configured as exposed.

Message:

{"type":"homeassistant/expose_entity/list","id":41}

Response:

{
	"id": 41,
	"type": "result",
	"success": true,
	"result": {
		"exposed_entities": {
			"sun.sun": {
				"conversation": false
			},
			"zone.home": {
				"conversation": false
			},
			"climate.airconditioning_living": {
				"conversation": true
			},
			"climate.airconditioning_den": {
				"conversation": true
			},
			"climate.airconditioning_bedroom": {
				"conversation": true
			},
			"switch.smart_plug_multimedia": {
				"conversation": false
			},
			"switch.smart_plug_computer": {
				"conversation": false
			},
			"light.smart_bulb_desk": {
				"conversation": true
			}
		}
	}
}

This looks to be a very interesting way to easily expose devices to matterbridge-hass directly from Home Assistant.

Known assistants as of now are:
KNOWN_ASSISTANTS = ("cloud.alexa", "cloud.google_assistant", "conversation")

@Luligu
Copy link
Owner

Luligu commented Feb 7, 2025

Hi,
sorry for the late reply.

What do we do with this api?

@robvanoostenrijk
Copy link
Collaborator

Technically it could be used to allow matterbridge-hass to pull a list of configured devices from home assistant.
It might conflict to use this list when its also used for voice assistant white-listing.

Perhaps as an optional data source for matterbridge-hass to take in devices which are supported and where conversation: true?

@Luligu
Copy link
Owner

Luligu commented Feb 7, 2025

How can we do white listing with voice assistant?

My knowledge of ha is limited sorry...

Not my primary controller.

@robvanoostenrijk
Copy link
Collaborator

No problem, the process is described here:
https://www.home-assistant.io/voice_control/voice_remote_expose_devices/

Ideally you can just select entities from the full entity list in Home Assistant and mark them as exposed.
The result is then visible in the API response above as { conversation: true } for each item that has been whitelisted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants