Is there any way for a template to list ALL devices?

Every solution I have seen starts with the states object or an entity list, so it misses any device that has no entities. For example (and the reason for this question), Pico remotes in the lutron_caseta integration don’t have any entities; they exist only to emit events.

I know I can open the device registry file core.device_registry and look manually for the entry I want and pull the information from there. It looks like I can also download diagnostics from the integration page and, again, manually review that JSON to find it. Neither of those seems ideal.

The use case: if I want to trigger an automation on a Pico button press, I have to start the event listener in the GUI and actually press the button to see what comes out, which is something like this:

event_type: lutron_caseta_button_event
data:
  serial: 44269999
  type: Pico2Button
  button_number: 4
  leap_button_number: 2
  device_name: Family Room Reading
  device_id: 999999c4996082fd89f8b6b3d7ec58bc
  area_name: Family Room
  button_type: "off"
  action: release
origin: LOCAL
time_fired: "2025-02-02T15:16:31.263090+00:00"
context:
  id: 01JK3KR5CZ21TXAPYVK17XNZE4
  parent_id: null
  user_id: null

And then I can use the name, serial, and device_id as I wish. But without pressing the actual button I’m not sure where to get this info.

If the answer is “just look at the JSON” then so be it, but I wonder if I’m missing something.

Thanks!

According to the documentation for the Lutron Caseta integration, it creates button entities (for transmitting) and it supports Device Triggers (for receiving; available button events are revealed when the trigger is composed in the Automation Editor).

Perhaps that’s only available when your system uses certain models of the bridge?


FWIW, the technique you described represents the traditional way that a remote-control’s button events were handled. The drawback is what you have already encountered, namely button events aren’t documented, or self-evident, and must be discovered empirically.

What came afterwards were Device Triggers, button and event entities. Both Device Triggers and event entities reveal the available events.

How many of these concepts are incorporated into an integration is determined by the integration’s maintainers.

If you’re seeing the device’s button events in the device registry then it implies the integration supports Device Triggers.