--- title: Cover description: Instructions on how to integrate covers into Home Assistant. ha_category: - Cover ha_release: 0.27 ha_quality_scale: internal ha_codeowners: - '@home-assistant/core' ha_domain: cover ha_integration_type: entity related: - docs: /docs/configuration/customizing-devices/ title: Customizing devices - docs: /dashboards/ title: Dashboard --- Home Assistant can give you an interface to control covers such as rollershutters, blinds, and garage doors. {% include integrations/building_block_integration.md %} ## The state of a cover A cover can have the following states: - **Opening**: The cover is in the process of opening to reach a set position. - **Open**: The cover has reached the open position. - **Closing**: The cover is in the process of closing to reach a set position. - **Closed**: The cover has reached the closed position. - **Unavailable**: The entity is currently unavailable. - **Unknown**: The state is not yet known. How the state of a cover is represented in the frontend depends on the device class. ## Device class {% include integrations/device_class_intro.md %} The screenshot shows different icons representing different device classes for covers:

List of cover examples.

Example of various device classes icons in `open` and `closed` state. The open image in this example has `state_color: true` specified in the Entities card configuration to receive the icon coloring. The following device classes are supported for covers. - **None**: Generic cover. This is the default and doesn't need to be set. - **awning**: Control of an awning, such as an exterior retractable window, door, or patio cover. - **blind**: Control of blinds, which are linked slats that expand or collapse to cover an opening or may be tilted to partially covering an opening, such as window blinds. - **curtain**: Control of curtains or drapes, which is often fabric hung above a window or door that can be drawn open. - **damper**: Control of a mechanical damper that reduces airflow, sound, or light. - **door**: Control of a door or gate that provides access to an area. - **garage**: Control of a garage door that provides access to a garage. - **gate**: Control of a gate. Gates are found outside of a structure and are typically part of a fence. - **shade**: Control of shades, which are a continuous plane of material or connected cells that expanded or collapsed over an opening, such as window shades. - **shutter**: Control of shutters, which are linked slats that swing out/in to covering an opening or may be tilted to partially cover an opening, such as indoor or exterior window shutters. - **window**: Control of a physical window that opens and closes or may tilt. ## Actions ### Cover control actions Available actions: `cover.open_cover`, `cover.close_cover`, `cover.stop_cover`, `cover.toggle`, `cover.open_cover_tilt`, `cover.close_cover_tilt`, `cover.stop_cover_tilt`, `cover.toggle_tilt` | Data attribute | Optional | Description | | -------------- | -------- | ---------------------------------------------------------------------------------------------------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. | #### Automation example ```yaml automation: triggers: - trigger: time at: "07:15:00" actions: - action: cover.open_cover target: entity_id: cover.demo ``` ### Action `cover.set_cover_position` Set cover position of one or multiple covers. | Data attribute | Optional | Description | | -------------- | -------- | ---------------------------------------------------------------------------------------------------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. | | `position` | no | Integer between 0 and 100. | #### Automation example ```yaml automation: triggers: - trigger: time at: "07:15:00" actions: - action: cover.set_cover_position target: entity_id: cover.demo data: position: 50 ``` ### Action `cover.set_cover_tilt_position` Set cover tilt position of one or multiple covers. | Data attribute | Optional | Description | | --------------- | -------- | ---------------------------------------------------------------------------------------------------- | | `entity_id` | yes | String or list of strings that point at `entity_id`'s of covers. Use `entity_id: all` to target all. | | `tilt_position` | no | Integer between 0 and 100. | #### Automation example ```yaml automation: triggers: - trigger: time at: "07:15:00" actions: - action: cover.set_cover_tilt_position target: entity_id: cover.demo data: tilt_position: 50 ```