A space-efficient custom card for Home Assistant that provides an intuitive interface for controlling multiple cover entities organized by rooms. Perfect for managing blinds, shades, and other cover entities across your home.
- 🏠 Group covers by rooms for organized control
- 🎚️ Individual sliders with visual position indication
- 🔒 Optional lock functionality for weather protection or safety interlocks
- 🎯 Customizable middle position per cover, room, or globally
- 🔄 Support for KNX-style percentage inversion
- ⚡ Quick actions for entire rooms (open, middle position, close)
- 🎨 Gradient visualization of cover positions
- 🏃♂️ Responsive design with Home Assistant theme integration
- Make sure HACS is installed in your Home Assistant instance
- Search for "Compact Cover Control Card" in HACS frontend
- Click Install
- Add configuration to your dashboard
- Copy
compact-cover-control-card.js
to yourconfig/www
folder - Add reference to card in your
configuration.yaml
:
frontend:
extra_module_url:
- /local/compact-cover-control-card.js
- Restart Home Assistant
Name | Type | Default | Description |
---|---|---|---|
title |
string | optional | Card title |
invert_percentage |
boolean | false |
Invert percentage display (useful for KNX covers where 0% means open and 100% means closed) |
middle_position |
number | 50 |
Default middle position (0-100) for all covers |
rooms |
array | required | List of room configurations |
Name | Type | Default | Description |
---|---|---|---|
name |
string | required | Room name |
middle_position |
number | optional | Override default middle position for this room |
covers |
array | required | List of cover configurations |
Name | Type | Default | Description |
---|---|---|---|
name |
string | required | Cover name |
entity |
string | required | Cover entity ID |
lock_entity |
string | optional | Entity ID for lock control (when state is 'on', cover controls are disabled) |
middle_position |
number | optional | Override middle position for this specific cover |
type: custom:compact-cover-control-card
rooms:
- name: Living Room
covers:
- name: Window
entity: cover.living_room_window
type: custom:compact-cover-control-card
title: House Blinds
invert_percentage: true
middle_position: 70
rooms:
- name: Living Room
middle_position: 60
covers:
- name: Main Window
entity: cover.living_room_main
lock_entity: binary_sensor.living_room_window_open
middle_position: 50
- name: Side Window
entity: cover.living_room_side
lock_entity: binary_sensor.weather_protection
- name: Bedroom
covers:
- name: Window Left
entity: cover.bedroom_left
- name: Window Right
entity: cover.bedroom_right
The invert_percentage
option is particularly useful for KNX installations where the cover percentage is inverted compared to Home Assistant's standard (in KNX, 0% typically means fully open, while in Home Assistant 0% means fully closed). Enable this option to match your KNX cover behavior while maintaining an intuitive user interface.
The lock_entity
option allows you to disable cover controls based on the state of another entity. This is useful for:
- Weather protection (disable controls during high winds)
- Safety interlocks (prevent operation when windows are open)
- Child safety (disable specific covers when needed)
- Maintenance mode
The cover controls will be disabled when the lock entity state is 'on'.
- Room-level quick actions (☀️, ⛅, 🌙) control all covers in the room
- Individual sliders provide fine-grained control
- Middle position (⛅) is customizable at card, room, or cover level
- Visual gradient indicates current position with blue (closed) to yellow (open) transition
Inverted Percentages for KNX Integration
Lock Functionality (Weather Protection / Safety Interlock)
This card follows the Home Assistant development recommendations and is built using the following technologies:
- TypeScript
- Lit Elements
- Clone the repository
- Install dependencies
npm install
- Build
npm run build
If you find this card useful and want to support its development:
⭐️ Star this repository on GitHub
Contributions are welcome! Please feel free to submit a Pull Request.
This project is under the MIT License. See the LICENSE file for the full license text.