Releases: homeassistant-extras/device-card
0.19.0 - Device Sorting & Heading Entity Icon 📋🎯
📋 Device Sorting for Integration Card
You can now sort devices in the Integration card by name, in ascending or descending order. This helps keep devices in a consistent order (e.g. alphabetically by name)
type: custom:integration-card
integration: overkiz
sort_devices:
type: name
direction: ascOptions: type is name; direction can be asc or desc (default: asc).
🖼️ Heading Icon
When you configure entity_id on the device card, the entity's icon now appears next to the heading. The icon reflects the entity's current state (e.g., a thermostat shows its mode, a sensor shows its device class icon).
You can also set a custom icon in the config (or via the visual editor's icon picker) to override the entity icon or display an icon when no entity is configured.
type: custom:device-card
device_id: YOUR_DEVICE_ID
entity_id: sensor.living_room_temperature
icon: mdi:thermometer # Optional: override or use without entity_idNot a fan of the heading icon? Add hide_icon to your features to hide it:
type: custom:device-card
device_id: YOUR_DEVICE_ID
features:
- hide_icon- chore: bumps version to 0.19.0 by @gh-action-bump-version
- integration card device sorting - thanks @rudi159! by @warmfire540
- entity icon - thanks @LennartPl! by @warmfire540
What's Changed
- Device Sorting & Heading Entity Icon 📋🎯 by @warmfire540 in #51
Full Changelog: 0.18.0...0.19.0
0.18.0 - Show Hidden Entities and more-info tap fix 🔍✨
🔍 Show Hidden Entities
Added show_hidden_entities feature flag to display entities marked as hidden.
type: custom:device-card
device_id: your_device_id
features:
- show_hidden_entities🐞More-info and action fixes
Fixes a bug in recent HA versions where the more-info dialog closes immediately after opening.
- Also fixes hold triggering tap (expand) and duplicate taps with tap_action: more-info.
- Actions now delegated to HA's event handler in 2026.3
- Bit of a big refactor.. let me know if anything breaks <3
- chore: bumps version to 0.18.0 by @gh-action-bump-version
- more-info busted in 2026.3 - thanks @Thomas55555! by @warmfire540
- show hidden entities - thanks @TTLucian! by @warmfire540
What's Changed
- Show Hidden Entities and more-info tap fix 🔍✨ by @warmfire540 in #48
Full Changelog: 0.17.0...0.18.0
0.17.0 - Hidden Entity Filtering, Renamed Device Support, Jinja Templates, auto-entities & new documentation 👖🪜
Documentation moved to GitHub Pages 📚
Full documentation is now hosted at homeassistant-extras.github.io/device-card. The README has been slimmed down with quick start and installation—see the docs for configuration, examples, and troubleshooting.
🔗 Auto-Entities Support
Added entity config property as a convenience for use with the auto-entities card. When auto-entities generates device cards, it passes entity—the card now accepts this and resolves the device automatically. Combine auto-entities filtering with device-card zoom for filtered device dashboards.
type: custom:auto-entities
card:
type: grid
card_param: cards
filter:
include:
- domain: sensor
attributes:
device_class: temperature
options:
type: custom:device-card✨ Integration Card Jinja Template Support
Both include_devices and exclude_devices can be a list or a jinja template. Values can be device IDs or names, with or without wildcards and regex. You can dynamically filter devices based on entity states, attributes, or any other template expression that returns a list.
include_devices – show only matching devices:
type: custom:integration-card
integration: zwave_js
include_devices: |
{{ expand(integration_entities('zwave_js'))
| selectattr('state', 'in', ['dead'])
| map(attribute='entity_id')
| map('device_attr', 'id')
| reject('match', 'None')
| unique
| list
| sort
}}exclude_devices – hide matching devices:
type: custom:integration-card
integration: zwave_js
exclude_devices: |
{{ expand(integration_entities('zwave_js'))
| selectattr('state', 'in', ['dead', 'unknown'])
| map(attribute='entity_id')
| map('device_attr', 'id')
| reject('match', 'None')
| unique
| list
}}The card automatically updates when entities referenced in the template change.
🔍 Hidden Entity Filtering
Hidden entities are now automatically filtered out from device cards, matching the default behavior
🏷️ Renamed Device Support
Device cards now properly display user-renamed device names (name_by_user) instead of the default device name. include_devices and exclude_devices also match against the user-defined name.
User Contribution! Thanks @l00k
⚡ Integration Card Render Optimization
Hass updates no longer re-render every device card in the integration card. Device cards now receive updates via events and handle them themselves—only re-rendering when their device data actually changes.
- chore: bumps version to 0.17.0 by @gh-action-bump-version
- update doc index & format, code smells by @warmfire540
- auto-entities support - thanks @misc-brabs! by @warmfire540
- docs moved to gh pages by @warmfire540
- integration card uses name_by_user for matching by @warmfire540
- integration card include_devices & exclude_devices accept jinja - thanks @LenirSantiago by @warmfire540
- hidden entity respect - thanks @misc-brabs! by @warmfire540
- Properly handle renamed devices (#42) by @l00k
What's Changed
- Properly handle renamed devices by @l00k in #42
- Hidden Entity Filtering, Renamed Device Support, auto-entities & new documentation 👖🪜 by @warmfire540 in #44
New Contributors
Full Changelog: 0.16.0...0.17.0
0.16.0 - Configure inverse percent entities + device names removed from entities once again! 🥼 🏷️
🎉 Happy New Year! 🎉
"The best way to get a project done faster is to start sooner." - Jim Highsmith
Bug Fix: Entity Name Display
What's Fixed
Entity names now correctly display using their friendly name without the device name prefix. This ensures cleaner, more readable entity labels in the card display, matching the expected behavior where entity names should be distinct from device names.
New Feature: Inverse Percent Colors
What's New
Added support for inverting percent bar colors for specific entities. This is particularly useful for metrics where low values are good and high values are bad, such as disk usage or memory usage.
How It Works
When you configure inverse_percent with a list of entity IDs, those entities will display:
- Green for low percentages (≤30%)
- Yellow for medium percentages (31-60%)
- Red for high percentages (>60%)
This is the opposite of the default behavior, where green indicates high values and red indicates low values.
Configuration
Add inverse_percent to your card configuration in the Features section of the editor, or via YAML:
type: custom:device-card
device_id: your_device_id
inverse_percent:
- sensor.disk_usage_home
- sensor.disk_usage_root
- sensor.memory_usage_percentExample Use Cases
- Disk usage: Low disk usage is good (green), high usage is bad (red)
- Memory usage: Low memory usage is good (green), high usage is bad (red)
- Error rates: Low error rates are good (green), high rates are bad (red)
- chore: bumps version to 0.16.0 by @gh-action-bump-version
- restore friendly names - thanks @PedroKTFC! by @warmfire540
- configure inverse percent entities - thanks @misc-brabs! by @warmfire540
- more percent entities show graph bar - thanks @PedroKTFC! by @warmfire540
- add ru translations (#32) by @Virenbar
What's Changed
- Added Russian translation by @Virenbar in #32
- More percent entities show graph bar 🎭 🪫 by @warmfire540 in #36
- Configure inverse percent entities + device names removed from entities once again! 🥼 🏷️ by @warmfire540 in #37
New Contributors
Full Changelog: 0.15.0...0.16.0
0.15.0 - Refactored card to fix certain issues on mobile and when clicking. Also French & Portuguese translations! 🇵🇹 🇫🇷
Fix: Prevent Double Action Triggers on Entity Rows
Fixed an issue where clicking on number entities or select dropdown entities would trigger both the entity's built-in action and the card's tap action simultaneously.
What Changed
- Updated entity row rendering to use Home Assistant's
createRowElementinstead of the deprecatedstate-card-content - Disabled built-in tap, hold, and double-tap actions on entity rows to prevent conflicts with the card's action handling
- The card now properly handles all entity interactions through its own action system
Impact
- Number entities and select dropdowns now work correctly without triggering unintended actions on mobile
- Maintains all existing card functionality while fixing the double-action bug
- Improves user experience by providing consistent interaction behavior across all entity types
Languages
Added support for
- Portuguese
- French
This resolves a long-standing issue where certain entity types would cause unexpected behavior due to conflicting action handlers. Thank you all for being patient.. I tried to fix it in HAS itself but the devs told me to refactor this card instead :D
- chore: bumps version to 0.15.0 by @gh-action-bump-version
- finally refactored card to use newer HAS componenets.... thanks for the patiencs y'all by @warmfire540
- localize tests by @warmfire540
- translations - thanks @Bsector! by @warmfire540
- workflows and deps by @warmfire540
- chore: dump deps by @warmfire540
What's Changed
- Refactored card to fix certain issues on mobile and when clicking. Also French & Portuguese translations! 🇵🇹 🇫🇷 by @warmfire540 in #31
Full Changelog: 0.14.0...0.15.0
0.14.0 - Easy Config with Entity ID + New Hide State Feature + Fixes 🚂 🧖
🎉 New Features
Entity ID Support
- Alternative to device_id: You can now use
entity_idinstead ofdevice_id- the card will automatically determine the device for you! No more hunting for device IDs. - Hide entity state: New
hide_entity_statefeature flag to hide the entity state display in the card header
# Now you can do this instead of finding device_id!
type: custom:device-card
entity_id: sensor.living_room_temperatureHide Entity State Feature
- Clean header option: Use the
hide_entity_statefeature to hide entity state display in the card header for a cleaner look
# Hide the entity state display in header
type: custom:device-card
entity_id: sensor.battery_level
features:
- hide_entity_state🔧 Improvements
- Case insensitive wildcards: Wildcard matching is now case insensitive for better flexibility
- Covers as controls: Cover entities are now properly categorized as controls alongside other interactive elements
🙏 Thanks
- @potat0man for the entity_id feature - making device cards much easier to configure!
- @PedroKTFC pointing out issues to improve card !
For full documentation and examples, check out the README
- chore: bumps version to 0.14.0 by @gh-action-bump-version
- can use entity_id instead of device_id - thanks @potat0man by @warmfire540
- update categorization logic - thanks @PedroKTFC! by @warmfire540
- wildcard exclusion now case insensitive by @warmfire540
- ci/cd updates by @warmfire540
- chore: bumps version to 0.13.5 by @gh-action-bump-version
- auto merge by @warmfire540
- chore: bumps version to 0.13.4 by @gh-action-bump-version
- auto approve PR by @warmfire540
- chore: bumps version to 0.13.3 by @gh-action-bump-version
- fix test by @warmfire540
- chore: bumps version to 0.13.2 by @gh-action-bump-version
- add warning for editor issues.. - thanks @andrewjswan! by @warmfire540
- code smells by @warmfire540
- chore: bumps version to 0.13.1 by @gh-action-bump-version
- update discord by @warmfire540
What's Changed
- Easy Config with Entity ID + New Hide State Feature + Fixes 🚂 🧖 by @warmfire540 in #27
Full Changelog: 0.13.5...0.14.0
0.13.0 - Pinned State, Device Card Collapse, Sort Entities, Hide Titles, and Buggers 🪅 🏓 🦖
- chore: bumps version to 0.13.0 by @gh-action-bump-version
- chore: bumps version to 0.12.5 by @gh-action-bump-version
- update README by @warmfire540
- chore: bumps version to 0.12.4 by @gh-action-bump-version
- add pinned state entity - thanks @fgamache1! by @warmfire540
- chore: bumps version to 0.12.3 by @gh-action-bump-version
- ability to expand the device card - thanks @fgamache1! by @warmfire540
- chore: bumps version to 0.12.2 by @gh-action-bump-version
- add ability to sort entities - thanks @andrewjswan! by @warmfire540
- include_devices more natural - thanks @andrewjswan! by @warmfire540
- chore: bumps version to 0.12.1 by @gh-action-bump-version
- modify / hide integration card title - thanks @andrewjswan! by @warmfire540
- device card can remove title by @warmfire540
- don't pass integraton title to device cards by @warmfire540
Full Changelog: 0.12.5...0.13.0
0.12.0 - Add include_options feature and better styling on mobile / small screens! ✅ 🔍
- chore: bumps version to 0.12.0 by @gh-action-bump-version
- chore: bumps version to 0.11.1 by @gh-action-bump-version
- add include_devices option - thanks @andrewjswan! by @warmfire540
- fix card overflow on small screens - thanks @andrewjswan! by @warmfire540
Full Changelog: 0.11.1...0.12.0
0.11.0 - 🐛🔨 Fix for expanding sections and entities! 🪲 🔨
- chore: bumps version to 0.11.0 by @gh-action-bump-version
- chore: bumps version to 0.10.2 by @gh-action-bump-version
- code smells by @warmfire540
- refactor expand entities to remove circular references by @warmfire540
- whoops i broke expanding sections by @warmfire540
- chore: bumps version to 0.10.1 by @gh-action-bump-version
- add assign flow by @warmfire540
Full Changelog: 0.10.2...0.11.0
0.10.0 - Regex and Wildcard matching for exclusion filters 🧇 🍳 🥓
- chore: bumps version to 0.10.0 by @gh-action-bump-version
- chore: bumps version to 0.9.1 by @gh-action-bump-version
- code smells by @warmfire540
- unused test by @warmfire540
- exclude devices/entities by widlcard or regex - thanks @andrewjswan! by @warmfire540
Full Changelog: 0.9.1...0.10.0