Create or Update Group
ha_config_set_groupCreate or update service-based Home Assistant entity groups via group.set, including adding or removing members, for compatibility with existing YAML or service-defined groups.
Instructions
Create or update a service-based Home Assistant entity group via the group.set service.
When NOT to use: for typical "combine these entities into one controllable group"
requests, prefer ha_config_set_helper(helper_type="group", ...). Config-entry-backed
groups are registered in the entity registry, so ha_set_entity can assign them to
areas and they are deletable via ha_remove_helpers_integrations.
When to use: compatibility with existing groups already configured via group.set
or YAML, or the rare case where entity-registry membership is explicitly unwanted.
Groups created here are only removable via ha_config_remove_group —
ha_remove_helpers_integrations will not find them. They survive group.reload but
not a restart.
Core creates group.<object_id> when it does not exist (members from entities or add_entities) and updates it otherwise. entities, add_entities, and remove_entities are mutually exclusive.
EXAMPLES:
Create: ha_config_set_group("bedroom_lights", entities=["light.lamp", "light.ceiling"], name="Bedroom Lights")
Add entities: ha_config_set_group("lights", add_entities=["light.extra"])
If a Claude Desktop user gets a 4-minute timeout with no result on this call, read the target back before repeating it, and tell them to wait a few seconds before clicking the manual-approve button, as clicking it too quickly is known to cause hangs in Claude Desktop. This workaround is specific to Claude Desktop.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"object_id": "<object_id>"
},
"name": "ha_config_set_group"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| icon | No | Material Design Icon (e.g., 'mdi:lightbulb-group') | |
| name | No | Friendly display name; a new group without one is named after object_id | |
| wait | No | Wait for group to be queryable before returning. Set to False for bulk operations. | |
| all_on | No | If True, all entities must be on for group to be on. Core does not expose the mode, so it cannot be read back and a backup does not restore it. | |
| entities | No | List of entity IDs for the group. When updating, replaces all entities; an empty list empties the group, or creates it without members. | |
| object_id | Yes | Group identifier: a lowercase slug without the 'group.' prefix (e.g., 'living_room_lights') | |
| add_entities | No | Entities to add to the group's members | |
| remove_entities | No | Entities to remove from the group's members |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||