> For the complete documentation index, see [llms.txt](https://apps.developer.homey.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://apps.developer.homey.app/the-basics/devices/best-practices/window-coverings.md).

# Window coverings

A window coverings device should only be assigned the `window_coverings` device class if one of the following is not more applicable: `curtains`, `blinds`, `sunshade`.

There are a number of capabilities relevant for window coverings devices:

* `windowcoverings_state`
* `windowcoverings_tilt_up`
* `windowcoverings_tilt_down`
* `windowcoverings_tilt_set`
* `windowcoverings_closed`
* `windowcoverings_set`

In general there are two types of window coverings which should receive a subset of these capabilities:

**window coverings that can be controlled with up/down and stop commands**

This type should implement the `windowcoverings_state` capability and in case the device supports horizontal tilt of venetian blinds also the `windowcoverings_tilt_up` and `windowcoverings_tilt_down` capabilities.

**window coverings that can be controlled by sending a command with a precise open/close level**

This type should implement the `windowcoverings_set` capability and in case the device supports horizontal tilt of venetian blinds also the `windowcoverings_tilt_up` and `windowcoverings_tilt_down` capabilities.

**window coverings that can be controlled by sending a command with precise open/close level and up, down and stop commands**

This type should implement both `windowcoverings_state` and `windowcoverings_set`.
