How to expose only a single entity to alexa via emulate_hue?

By default, I can already see all my devices under http://<ip>/api/pi/lights. But I now want to restrict this to a single entity only. But if I use expose_by_default: false and list the entity, the url does not expose anything. What might be wrong?

emulated_hue:
  listen_port: 80
  expose_by_default: false
  entities:
    switch.dishwasher:
      name: "My Dishwasher"

Add:

      hidden: false

to:

    switch.dishwasher

like this:

emulated_hue:
  listen_port: 80
  expose_by_default: false
  entities:
    switch.dishwasher:
      name: "My Dishwasher"
      hidden: false
1 Like

Explicit configured entities are hidden by default? Omg ok, I thought the hidden attribute would be the negation of expose_by_default, that would make much more sense…

1 Like

I encountered the same challenge understanding this configuration’s terminology.

1 Like

It’s hands down the worse implementation of exposing entities that Home Assistant has. It should be rewritten like the smart_home configuration.

2 Likes

Does anyone know if/how you can hide a “real” Hue bridge from Alexa while still exposing Emulated Hue to it?

Good question.

I recently started building a new Home Assistant server. One of the first things it discovered is my real Philips Hue bridge and an emulated one (that I’ve created using node-red-contrib-amazon-echo). Both appear with identical names so it’s challenging to know which of the two is which.

One way to differentiate them is to shut down one (i.e. the one you wish to have ignored) and restart Home Assistant. Now only one will be discovered and you specify to ignore it from being discovered again