mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-31 07:16:47 +00:00
163 lines
5.4 KiB
Markdown
163 lines
5.4 KiB
Markdown
---
|
|
layout: page
|
|
title: "Group"
|
|
description: "Instructions on how to setup groups within Home Assistant."
|
|
date: 2015-03-23 19:59
|
|
sidebar: true
|
|
comments: false
|
|
sharing: true
|
|
footer: true
|
|
logo: home-assistant.png
|
|
ha_category: Organization
|
|
ha_qa_scale: internal
|
|
---
|
|
|
|
Groups allow the user to combine multiple entities into one. A group can be promoted to a **view** by setting `view: true` under the group definition. This will make the group available as a new tab in the frontend.
|
|
|
|
Check the **Set State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page from the **Developer Tools** and browse the **Current entities:** listing for all available entities.
|
|
|
|
By default, every group appears in the HOME tab. If you create a group `default_view` it will REPLACE the contents of the HOME tab so you can customize the HOME tab as you wish.
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
group:
|
|
default_view:
|
|
view: true
|
|
icon: mdi:home
|
|
entities:
|
|
- group.kitchen
|
|
- group.awesome_people
|
|
- group.climate
|
|
kitchen:
|
|
name: Kitchen
|
|
entities:
|
|
- switch.kitchen_pin_3
|
|
upstairs:
|
|
name: Kids
|
|
icon: mdi:account-multiple
|
|
view: true
|
|
entities:
|
|
- input_boolean.notify_home
|
|
- camera.demo_camera
|
|
- device_tracker.demo_paulus
|
|
- group.garden
|
|
climate:
|
|
name: Climate
|
|
view: false
|
|
entities:
|
|
- sensor.bedroom_temp
|
|
- sensor.porch_temp
|
|
awesome_people:
|
|
name: Awesome People
|
|
view: false
|
|
entities:
|
|
- device_tracker.dad_smith
|
|
- device_tracker.mom_smith
|
|
```
|
|
|
|
{% configuration %}
|
|
name:
|
|
description: Name of the group.
|
|
required: false
|
|
type: string
|
|
view:
|
|
description: "If yes then the entry will be shown as a view (tab) at the top. Groups that are set to `view: yes` cannot be used as entities in other views."
|
|
required: false
|
|
type: boolean
|
|
icon:
|
|
description: If the group is a view, this icon will show at the top in the frontend instead of the name. If the group is a view and both name and icon have been specified, the icon will appear at the top of the frontend and the name will be displayed as the mouse-over text. If it's not a view, then the icon shows when this group is used in another group.
|
|
required: false
|
|
type: string
|
|
control:
|
|
description: Set value to `hidden`. If hidden then the group switch will be hidden.
|
|
required: false
|
|
type: string
|
|
entities:
|
|
description: Array or comma delimited string, list of entities to group.
|
|
required: true
|
|
type: list
|
|
all:
|
|
description: Set this to `true` if the group state should only turn *on* if **all** grouped entities are *on*.
|
|
required: false
|
|
type: boolean
|
|
{% endconfiguration %}
|
|
|
|
<p class='img'>
|
|
<img src='/images/blog/2016-01-release-12/views.png'>
|
|
Example of groups shown as views in the frontend.
|
|
</p>
|
|
|
|
If all entities in a group are switches or lights then Home Assistant adds a switch at the top of the card that turns them all on/off at once. If you want to hide this switch, set `control` to `hidden`.
|
|
|
|
You can create views (tabs) that contain other groups (but not other groups which are marked as `view: true`).
|
|
Notice in the example below that in order to refer to the group "Living Room", you use `group.living_room` (lowercase and spaces replaced with underscores).
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry that shows two groups, referred to in a view group (tab)
|
|
Living Room:
|
|
control: hidden
|
|
entities:
|
|
- light.light_family_1
|
|
- binary_sensor.motion_living
|
|
Bedroom: light.light_bedroom, switch.sleeping
|
|
Rooms:
|
|
view: true
|
|
name: Rooms
|
|
entities:
|
|
- group.living_room
|
|
- group.bedroom
|
|
```
|
|
|
|
## {% linkable_title Default groups %}
|
|
|
|
Some components automatically create special groups containing component entities. These groups are named like `group.all_...`, for example:
|
|
|
|
- `group.all_switches`
|
|
- `group.all_lights`
|
|
- `group.all_devices`
|
|
- `group.all_scripts`
|
|
- `group.all_automations`
|
|
|
|
You can see list of these groups in **State** <img src='/images/screenshots/developer-tool-states-icon.png' class='no-shadow' height='38' /> page of the **Developer Tools**.
|
|
|
|
Default groups appear in the HOME tab, if not overridden by user views and groups. Default groups are hidden by default, so you must [customize](/docs/configuration/customizing-devices/) them to be visible in your custom groups and views.
|
|
|
|
```yaml
|
|
# Example configuration.yaml to include default groups in custom view
|
|
customize:
|
|
group.all_automations:
|
|
hidden: false
|
|
group.all_scripts:
|
|
hidden: false
|
|
group:
|
|
automation_view:
|
|
name: Automation
|
|
view: true
|
|
entities:
|
|
- group.all_automations
|
|
- group.all_scripts
|
|
```
|
|
|
|
## {% linkable_title Group behavior %}
|
|
|
|
By default when any member of a group is `on` then the group will also be `on`. Similarly with a device tracker, when any member of the group is `home` then the group is `home`. If you set the `all` option to `true` though, this behavior is inverted and all members of the group have to be `on` for the group to turn on as well.
|
|
|
|
## {% linkable_title Customize group order %}
|
|
You can also order your groups using [customize](/docs/configuration/customizing-devices/) with `order: ` if they don't show up in the order you want them in.
|
|
|
|
```yaml
|
|
# Example configuration.yaml to order groups with order:
|
|
customize:
|
|
group.all_automations:
|
|
order: 1
|
|
group.all_scripts:
|
|
order: 2
|
|
group:
|
|
automation_view:
|
|
name: Automation
|
|
view: true
|
|
entities:
|
|
- group.all_automations
|
|
- group.all_scripts
|
|
```
|