Attaching Multiple Entities Under A Device for Control Under Google Home?

Hello all,

I’m trying to set up voice-based control/status-checking of my computer over Google Home.

The problem is, in order to get this to work properly, I need to use entities from three sources:

  1. Status would come from a helper that gets its state based on how much power is read by an entity under a power monitor my PC is plugged in through.
  2. Powering the computer on would be handled by a script called, that sends a curl command to a PiKVM I’ve got connected to the computer.
  3. Graceful shutdown of the computer would be handled by the HomeAssistant Agent (GitHub - LAB02-Research/HASS.Agent: Windows-based client for Home Assistant. Provides notifications, quick actions, commands, sensors and more.) installed on it.

All of these work individually. However, I want to create a new “switch” device to tie these all together. The reason I need it to be under a device, and not just an entity, is that it looks like Google Home (which I want to be able to use for checking the status and controlling it) only sees devices. However, from what I’m reading online, it doesn’t seem that you can create a device using YAML for some reason?

I’m still quite new to HomeAssistant, so am unsure what other tools there are available. Is there any way you can think of to bring the control of several separate entities together under some kind of device/object that I am able to access via Google Home?

Thank you

I’ve been thinking about it, and I think that I can accomplish this with an Input Boolean Helper.

The one question I’ve got now, though, is how to make it so that when its status is updated automatically (via monitoring the power draw of the computer), it doesn’t trigger the power-on or power-off automations like manually toggling the switch via the UI or Google Home would.

Disregard. Turns out it isn’t an issue, for some reason. Looks like it won’t run the same automation twice immediately, so was a non-issue using the input_boolean helper for this. Got it up and running like I want it to be.

For anyone curious, this is my write-up on what I was setting up: