---
title: "Features for dashboard cards"
description: "Decorate your dashboard cards with quick controls."
related:
- docs: /dashboards/humidifier/
title: Humidifier card
- docs: /dashboards/thermostat/
title: Thermostat card
- docs: /dashboards/tile/
title: Tile card
---
Some dashboard cards have support for features. These widgets add quick controls to the card. Supported features depend on the card and entity capabilities. Multiple features can be added to a single card.
Screenshot of tile cards with features.
Features can be enabled on the following cards:
- [Humidifier](/dashboards/humidifier/)
- [Thermostat](/dashboards/thermostat/)
- [Tile](/dashboards/tile/)
- [Area](/dashboards/area/)
## Customizing features
1. Edit the card and open the **Features** section.
2. To add an additional feature to your card, select **Add feature**.
- **Info**: The available options for a feature depend on the entity and type of feature.
- For example, not all entities have a [toggle](#toggle) or a [counter-action](#counter-actions).
3. On tile cards, you can adjust the feature position.
- Under **Features** > **Feature position**, select **Bottom** or **Inline**:

4. Reordering features:
- Some features of the tile card, such as the presets or the HVAC modes of a thermostat, can show buttons.
- To reorder the buttons, enable **Customize** and drag and drop the buttons into position.
- If you don't like the buttons, you can replace them by a **Dropdown** instead.
- Under **Style**, select the **Dropdown** option.

## Alarm modes
Widget that displays buttons to arm and disarm an [alarm](/integrations/alarm_control_panel).
Screenshot of the tile card with alarm modes feature
```yaml
features:
- type: "alarm-modes"
modes:
- armed_home
- armed_away
- armed_night
- armed_vacation
- armed_custom_bypass
- disarmed
```
{% configuration features %}
type:
required: true
description: "`alarm-modes`"
type: string
modes:
required: true
description: List of modes to show on the card. The list can contain `armed_home`, `armed_away`, `armed_night`, `armed_vacation`, `armed_custom_bypass`, and `disarmed`.
type: list
{% endconfiguration %}
## Bar gauge
Widget that displays the state of a numeric [sensor](/integrations/sensor) as a horizontal bar.
Screenshots of the tile card with the bar gauge feature
```yaml
features:
- type: "bar-gauge"
min: 0
max: 100
```
{% configuration features %}
type:
required: true
description: "`bar-gauge`"
type: string
min:
required: false
description: Minimum value for the gauge range.
type: integer
default: 0
max:
required: false
description: Maximum value for the gauge range.
type: integer
default: 100
{% endconfiguration %}
## Button
Widget that displays buttons to control [button](/integrations/button), [input_button](/integrations/input_button), [scene](/integrations/scene), or [script](/integrations/script).
Screenshot of the tile card with the button feature
```yaml
features:
- type: "button"
action_name: "Press"
data:
variable: some_value
```
{% configuration features %}
type:
required: true
description: "`button`"
type: string
action_name:
required: false
type: string
description: Text inside the button.
type: string
data:
required: false
description: Additional data to be passed when the action is executed. Only applies to script.
type: map
{% endconfiguration %}
## Climate fan modes
Widget that displays buttons or icons to control the fan mode for a [climate](/integrations/climate) device.
Screenshot of the tile card with the climate fan modes feature
```yaml
features:
- type: "climate-fan-modes"
style: "icons"
fan_modes:
- "off"
- low
- medium
- high
```
{% configuration features %}
type:
required: true
description: "`climate-fan-modes`"
type: string
style:
required: false
description: "How the fan modes should be displayed. It can be either `dropdown` or `icons`."
type: string
default: dropdown
fan_modes:
required: true
description: List of fan modes to show on the card. The list can contain `on`, `off`, `auto`, `low`, `medium`, `high`, `middle`, `focus` and `diffuse` or any other custom fan mode.
type: list
{% endconfiguration %}
## Climate HVAC modes
Widget that displays buttons to control the HVAC mode for a [climate](/integrations/climate).
Screenshot of the tile card with the climate HVAC modes feature
```yaml
features:
- type: "climate-hvac-modes"
hvac_modes:
- auto
- heat_cool
- heat
- cool
- dry
- fan_only
- "off"
```
{% configuration features %}
type:
required: true
description: "`climate-hvac-modes`"
type: string
style:
required: false
description: "How the modes should be displayed. It can be either `dropdown` or `icons`."
type: string
default: icons
hvac_modes:
required: true
description: List of modes to show on the card. The list can contain `auto`, `heat_cool`, `heat`, `cool`, `dry`, `fan_only`, and `off`.
type: list
{% endconfiguration %}
## Climate preset modes
Widget that displays buttons or icons to control the preset mode for a [climate](/integrations/climate).
Screenshot of the tile card with the climate preset modes feature
```yaml
features:
- type: "climate-preset-modes"
style: "icons"
preset_modes:
- home
- eco
```
{% configuration features %}
type:
required: true
description: "`climate-preset-modes`"
type: string
style:
required: false
description: "How the preset modes should be displayed. It can be either `dropdown` or `icons`."
type: string
default: dropdown
preset_modes:
required: true
description: List of preset modes to show on the card. The list can contain `eco`, `away`, `boost`, `comfort`, `home`, `sleep`, and `activity` or any other custom preset mode.
type: list
{% endconfiguration %}
## Counter actions
Widget that displays buttons to increment, decrement, and reset a [counter](/integrations/counter).
Screenshot of the tile card with counter actions feature
```yaml
features:
- type: "counter-actions"
actions:
- increment
- decrement
- reset
```
{% configuration features %}
type:
required: true
description: "`counter-actions`"
type: string
actions:
required: true
description: List of actions to show on the card. The list can contain `increment`, `decrement`, and `reset`.
type: list
{% endconfiguration %}
## Cover open/close
Widget that displays buttons to open, close, or stop a [cover](/integrations/cover).
Screenshot of the tile card with cover open/close feature
```yaml
features:
- type: "cover-open-close"
```
{% configuration features %}
type:
required: true
description: "`cover-open-close`"
type: string
{% endconfiguration %}
## Cover position
Widget that displays a slider to control the position for a [cover](/integrations/cover).
Screenshot of the tile card with the cover position feature
```yaml
features:
- type: "cover-position"
```
{% configuration features %}
type:
required: true
description: "`cover-position`"
type: string
{% endconfiguration %}
## Cover tilt
Widget that displays buttons to open, close, or stop a [cover](/integrations/cover).
Screenshot of the tile card with cover tilt feature
```yaml
features:
- type: "cover-tilt"
```
{% configuration features %}
type:
required: true
description: "`cover-tilt`"
type: string
{% endconfiguration %}
## Cover tilt position
Widget that displays a slider to control the tilt position for a [cover](/integrations/cover).
Screenshot of the tile card with the cover tilt position feature
```yaml
features:
- type: "cover-tilt-position"
```
{% configuration features %}
type:
required: true
description: "`cover-tilt-position`"
type: string
{% endconfiguration %}
## Date
Widget that displays a button to select a date using the date picker dialog for the [date](/integrations/date), [datetime](/integrations/datetime), and [input datetime](/integrations/input_datetime) entities.
Screenshot of the tile card with the date feature
```yaml
features:
- type: "date"
```
{% configuration features %}
type:
required: true
description: "`date`"
type: string
{% endconfiguration %}
## Fan direction
Widget that displays controls to change direction for a [fan](/integrations/fan).
Screenshot of the tile card with the fan direction feature
```yaml
features:
- type: "fan-direction"
```
{% configuration features %}
type:
required: true
description: "`fan-direction`"
type: string
{% endconfiguration %}
## Fan oscillate
Widget that displays controls to change oscillation state for a [fan](/integrations/fan).
Screenshot of the tile card with the fan oscillate feature
```yaml
features:
- type: "fan-oscillate"
```
{% configuration features %}
type:
required: true
description: "`fan-oscillate`"
type: string
{% endconfiguration %}
## Fan preset modes
Widget that displays buttons or icons to control the preset mode for a [fan](/integrations/fan).
Screenshot of the tile card with the fan preset modes feature
```yaml
features:
- type: "fan-preset-modes"
style: "icons"
preset_modes:
- auto
- smart
- sleep
- 'on'
```
{% configuration features %}
type:
required: true
description: "`fan-preset-modes`"
type: string
style:
required: false
description: "How the preset modes should be displayed. It can be either `dropdown` or `icons`."
type: string
default: dropdown
preset_modes:
required: true
description: List of preset modes to show on the card. The list can contain any supported preset modes.
type: list
{% endconfiguration %}
## Fan speed
Widget that displays speed controls for a [fan](/integrations/fan).
Screenshot of the tile card with fan speed feature
```yaml
features:
- type: "fan-speed"
```
{% configuration features %}
type:
required: true
description: "`fan-speed`"
type: string
{% endconfiguration %}
## Humidifier modes
Widget that displays buttons or icons to control the mode for a [humidifier](/integrations/humidifier).
Screenshot of the tile card with the humidifier modes feature
```yaml
features:
- type: "humidifier-modes"
style: "icons"
modes:
- home
- eco
```
{% configuration features %}
type:
required: true
description: "`humidifier-modes`"
type: string
style:
required: false
description: "How the modes should be displayed. It can be either `dropdown` or `icons`."
type: string
default: dropdown
modes:
required: true
description: List of modes to show on the card. The list can contain `normal`, `eco`, `away`, `boost`, `comfort`, `home`, `sleep`, `auto`, and `baby` or any other custom mode.
type: list
{% endconfiguration %}
## Humidifier toggle
Widget that displays buttons to turn on or off a [humidifier](/integrations/humidifier).
Screenshot of the tile card with the humidifier toggle feature
```yaml
features:
- type: "humidifier-toggle"
```
{% configuration features %}
type:
required: true
description: "`humidifier-toggle`"
type: string
{% endconfiguration %}
## Lawn mower commands
Widget that displays buttons to control a [lawn mower](/integrations/lawn_mower).
Screenshot of the tile card with the lawn mower commands feature
```yaml
features:
- type: "lawn-mower-commands"
commands:
- start_pause
- dock
```
{% configuration features %}
type:
required: true
description: "`lawn-mower-commands`"
type: string
commands:
required: true
description: List of commands to show on the card. The list can contain `start_pause` and `dock`.
type: list
{% endconfiguration %}
## Light brightness
Widget that displays a slider to select the brightness for a [light](/integrations/light).
Screenshot of the tile card with light brightness feature
```yaml
features:
- type: "light-brightness"
```
{% configuration features %}
type:
required: true
description: "`light-brightness`"
type: string
{% endconfiguration %}
## Light color temp
Widget that displays a slider to select the color temperature for a [light](/integrations/light).
Screenshot of the tile card with the light color temperature feature
```yaml
features:
- type: "light-color-temp"
```
{% configuration features %}
type:
required: true
description: "`light-color-temp`"
type: string
{% endconfiguration %}
## Lock commands
Widget that displays buttons to lock or unlock a [lock](/integrations/lock).
Screenshot of the tile card with the lock commands feature
```yaml
features:
- type: "lock-commands"
```
{% configuration features %}
type:
required: true
description: "`lock-commands`"
type: string
{% endconfiguration %}
## Lock open door
Widget that displays a button to [open a door](/integrations/lock).
Screenshot of the tile card with the lock open door feature
```yaml
features:
- type: "lock-open-door"
```
{% configuration features %}
type:
required: true
description: "`lock-open-door`"
type: string
{% endconfiguration %}
## Media player playback controls
Widget that displays playback controls for a [media player](/integrations/media_player).
Screenshot of the tile card with media player playback feature
```yaml
features:
- type: "media-player-playback"
```
{% configuration features %}
type:
required: true
description: "`media-player-playback`"
type: string
{% endconfiguration %}
## Media player volume buttons
Widget that displays buttons to control the volume for a [media player](/integrations/media_player).
Screenshot of the tile card with media player volume buttons feature
```yaml
features:
- type: "media-player-volume-buttons"
```
{% configuration features %}
type:
required: true
description: "`media-player-volume-buttons`"
type: string
step:
required: false
description: "The step size of the volume. The default is 5%."
type: integer
default: 5
{% endconfiguration %}
## Media player volume slider
Widget that displays a slider to control the volume for a [media player](/integrations/media_player).
Screenshot of the tile card with media player volume slider feature
```yaml
features:
- type: "media-player-volume-slider"
```
{% configuration features %}
type:
required: true
description: "`media-player-volume-slider`"
type: string
{% endconfiguration %}
## Numeric input
Widget that displays a slider or buttons to set the value for a [number](/integrations/number) or [input number](/integrations/input_number).
Screenshot of the tile card with the numeric input feature
```yaml
features:
- type: "numeric-input"
style: "buttons"
```
{% configuration features %}
type:
required: true
description: "`numeric-input`"
type: string
style:
required: false
description: "Which style of control to display. It can be either `buttons` or `slider`."
type: string
default: slider
{% endconfiguration %}
## Target humidity
Widget that displays a slider to select the target humidity for a [humidifier](/integrations/humidifier).
Screenshot of the tile card with the target humidity feature
```yaml
features:
- type: "target-humidity"
```
{% configuration features %}
type:
required: true
description: "`target-humidity`"
type: string
{% endconfiguration %}
## Target temperature
Widget that displays buttons to select the target temperature for a [climate](/integrations/climate) or a [water heater](/integrations/water_heater).
Screenshot of the tile card with the target temperature feature
```yaml
features:
- type: "target-temperature"
```
{% configuration features %}
type:
required: true
description: "`target-temperature`"
type: string
{% endconfiguration %}
## Toggle
Widget that displays a button to toggle a [switch](/integrations/switch) or [input boolean](/integrations/input_boolean) entity on or off.
Screenshot of the tile card with the toggle feature
```yaml
features:
- type: "toggle"
```
{% configuration features %}
type:
required: true
description: "`toggle`"
type: string
{% endconfiguration %}
## Trend graph
Widget that displays the a trend of the history for a numeric [sensor](/integrations/sensor).
Screenshot of the tile card with the trend graph feature
```yaml
features:
- type: "trend-graph"
hours_to_show: 24
detail: true
```
{% configuration features %}
type:
required: true
description: "`trend-graph`"
type: string
hours_to_show:
required: false
description: Hours to show in graph. Minimum is 1 hour. Big values can result in delayed rendering, especially if the selected entities have a lot of state changes.
type: integer
default: 24
detail:
required: false
description: Show more detail in the graph. When enabled, samples to 1 point per 5 pixels. When disabled, samples to 1 point per hour using mean values for a smoother graph.
type: boolean
default: true
{% endconfiguration %}
{% note %}
The `hours_to_show` option controls the time range of historical data shown in the graph. The amount of history available depends on the Recorder's `purge_keep_days` setting. By default, the Recorder purges data older than 10 days. See the [Recorder integration documentation](/integrations/recorder/#purge_keep_days) for more information.
{% endnote %}
## Update actions
Widget that displays actions to install or skip an [update](/integrations/update).
Screenshot of the tile card with update actions feature
```yaml
features:
- type: "update-actions"
backup: "ask"
```
{% configuration features %}
type:
required: true
description: "`update-actions`"
type: string
backup:
required: false
description: Whether a backup should be done before updating. The value can be `ask`, `yes`, or `no`. `ask` will open a dialog to ask if a backup should be done.
type: list
default: ask
{% endconfiguration %}
## Vacuum commands
Widget that displays buttons to control a [vacuum](/integrations/vacuum).
Screenshot of the tile card with vacuum commands feature
```yaml
features:
- type: "vacuum-commands"
commands:
- start_pause
- stop
- clean_spot
- locate
- return_home
```
{% configuration features %}
type:
required: true
description: "`vacuum-commands`"
type: string
commands:
required: true
description: List of commands to show on the card. The list can contain `start_pause`, `stop`, `clean_spot`, `locate`, and `return_home`.
type: list
{% endconfiguration %}
## Valve open/close
Widget that displays buttons to open, close, or stop a [valve](/integrations/valve).
Screenshot of the tile card with valve open/close feature
```yaml
features:
- type: "valve-open-close"
```
{% configuration features %}
type:
required: true
description: "`valve-open-close`"
type: string
{% endconfiguration %}
## Valve position
Widget that displays a slider to control the position for a [valve](/integrations/valve).
Screenshot of the tile card with the valve position feature
```yaml
features:
- type: "valve-position"
```
{% configuration features %}
type:
required: true
description: "`valve-position`"
type: string
{% endconfiguration %}
## Water heater operation modes
Widget that displays buttons to control the operation mode of a [water heater](/integrations/water_heater).
Screenshot of the tile card with the water heater operation modes feature
```yaml
features:
- type: "water-heater-operation-modes"
operation_modes:
- electric
- gas
- heat_pump
- eco
- performance
- high_demand
- "off"
```
{% configuration features %}
type:
required: true
description: "`water-heater-operation-modes`"
type: string
operation_modes:
required: true
description: List of modes to show on the card. The list can contain `electric`, `gas`, `heat_pump`, `eco`, `performance`, `high_demand`, and `off`.
type: list
{% endconfiguration %}
## Area control
Widget that displays buttons to control different types of entity in your area.
Screenshot of the area card with the area controls feature
```yaml
features:
- type: "area-controls"
controls:
- light
- fan
- switch
```
{% configuration features %}
type:
required: true
description: "`area-controls`"
type: string
controls:
required: true
description: List of controls to show on the card. The list can contain `light`, `fan`, and `switch`.
type: list
{% endconfiguration %}