Entity Manager for Home Assistant
A powerful, feature-rich Home Assistant integration for managing entities across all your integrations. View, enable, disable, rename, analyze, and bulk-manage entities and firmware updates from a single modern interface. !Version !Home Assistant !Downloads !StarsTable of Contents
- Entity Management - Entity Renaming - Search & Filtering - Sidebar Navigation - Grouping - Favorites - Entity Aliases - Labels Integration - Entity Analysis - Activity Log - Last Activity Timeline - Undo / Redo - Filter Presets - Column Customization - Devices View - Entity Detail Dialog - Notification Center - Firmware Update Manager - Export & Import - Theme System - Context Menu - Voice Assistant - Health & Cleanup View - Suggestions View - Statistics Dashboard - Mobile & Responsive DesignFeatures
Entity Management
- View all entities organized by Integration > Device > Entity
- Enable or disable individual entities with one click
- Bulk enable/disable with confirmation dialogs (up to 500 entities at once)
- Real-time entity state display with color-coded status badges
- Alphabetically sorted integrations for easy navigation
- Device grouping with entity counts per device and integration
- One-click reveal — expanding an integration with exactly one device shows its entities immediately, no extra click on the device row
- Every integration row carries a three-box header without needing to expand: Categories (Controls/Sensors/Configuration/Diagnostic/Connectivity counts), Hardware (device-type counts: ⚡ Hardware, ☁️ Cloud, 🔧 Virtual, 📱 Mobile, 🏠 System, ❓ Unknown), and Areas & Labels (area/floor chips + a deduped HA Label rollup)
- Row actions (View Enabled / View Disabled / Enable All / Disable All / Accent color) live in a compact ⋯ menu on each integration and device card
- Opt-in accent colors — integrations stay neutral by default; give the ones that matter a colored bar + tinted logo from the ⋯ menu (with a None option to remove it)
- Device types you control — click an ❓ Unknown chip or badge to assign a type, reset to Auto anytime, and create your own types (name + color) that show up in chips, badges, and the Devices-view type filter
- Bulk Rename (✎✎) and Bulk Labels (🏷️) buttons on every entity card — greyed out until 2+ entities are selected, then activate instantly as you check boxes
Entity Renaming
- Click-to-rename any entity directly from the panel
- Domain preservation -- the
sensor.,light., etc. prefix is locked and stays intact - Automatic propagation across automations, scripts, and helpers
- Conflict validation prevents duplicate entity IDs
- Bulk Rename panel — opens as a full-width inline view with a split layout: entity picker on the left (grouped by integration → device, collapsible, with per-group checkboxes) and the rename queue on the right
- Live preview in the queue — each entry shows the original entity ID, an editable new name field, and a live preview of the resulting ID (turns green when changed)
- Find & Replace at the top filters the entity picker in real time as you type; supports regex and case-sensitive matching
- Domain preservation — the
sensor.,light., etc. prefix is always locked - Automatic propagation across automations, scripts, and helpers
- Conflict validation prevents duplicate entity IDs
Search & Filtering
Entity Manager provides multiple ways to find exactly what you need:| Filter Type | Description | |---|---| | Fuzzy Search | Smart search with fuzzy matching -- type "snr" to find "sensor", matches characters in order across entity IDs, names, integrations, and devices | | Text Search | Instant search across entity IDs, names, integrations, and devices with real-time filtering | | Domain Filter | Dropdown to filter by entity type (sensor, light, switch, binary_sensor, etc.) | | State Filter | Toggle between All, Enabled, or Disabled with live entity counts | | Integration Filter | Click an integration in the sidebar to show only its entities | | Label Filter | Filter by Home Assistant labels | | Filter Presets | Save and load your favorite filter combinations |
All filter buttons show live counts with color-coded indicators: green for enabled, red for disabled, amber for updates.
Sidebar Navigation
A collapsible sidebar provides quick access to every feature:- Actions -- ↺ History (combined undo/redo timeline dialog), Export, Import, Favorites, 🕐 Last Activity (recorder-backed timeline view), Activity Log, Column Settings; bulk selection actions: Enable Selected, Disable Selected, Assign Area (includes floor), View Selected, Deselect All
- Labels -- Browse and filter by Home Assistant labels grouped by Devices, Areas, Automations, Scripts, Scenes, and Entities
- Groups -- Switch between grouping modes: Integration (default), Room, Type, Floor, Device Name
- Domains -- Filter by entity domain
- Integrations -- Quick-filter list with integration icons from Home Assistant Brands
- Help -- Built-in two-column guide with clickable table of contents
Grouping
Group entities by different criteria to get the view you need:- Integration (default) -- organized by integration and device
- Room / Area -- grouped by Home Assistant area assignments
- Type -- grouped by entity domain (all sensors together, all lights together, etc.)
- Floor -- grouped by Floor → Area → Device hierarchy
- Device Name -- all devices with matching names merged into one group
Favorites
- Star any entity to mark it as a favorite
- Dedicated Favorites filter in the sidebar shows only starred entities
- Favorites count displayed in the sidebar
- Add/remove via right-click context menu or bulk selection
- Persisted in browser local storage
Entity Aliases
- Create custom display names for entities without renaming them
- Non-destructive -- the actual entity ID is unchanged
- Set aliases through the right-click context menu
- Persisted in browser local storage
Labels Integration
- View and filter by Home Assistant's built-in label system
- Create new labels directly from Entity Manager
- Labels sidebar split into six sub-groups: Devices, Areas, Automations, Scripts, Scenes, Entities — only shown when labels of that type exist
- Clicking a label filters the main view, merging entity IDs from all matching groups
- Label Suggestions in the Suggestions dialog — 21 semantic categories (Lights, Dimmable Lights, Switches, Temperature Sensors, Motion Sensors, etc.), including Power Monitoring, Energy Consumed, Energy Returned, and generic Energy Monitoring as four separate rows; one-click "Apply to N" creates and assigns the label in HA
- Custom color picker — every label color picker (label editor, bulk labels, Assign dialog) offers the 19 HA presets plus a custom-hex swatch
- Expandable list with refresh capability; label data cached for performance
Entity Analysis
Click any entity card to open the Entity Details dialog, whose tabs cover deep analysis:- Related tab -- other entities on the same device, plus Automation Impact: automations and scripts that appear to reference the entity
- Registry tab -- detailed entity properties, metadata, and configuration
- History tab -- entity state changes over the last 30 days
Activity Log
- Reads real Home Assistant state history — shows every entity state change across your entire HA instance, not just Entity Manager actions
- Events grouped by Room → Device → Entity with three collapsible levels
- Time range: 1h (default), 6h, 24h, 7d
- Search bar filters by entity ID, device, room, or state value
- Room filter chips with All / None buttons — select specific rooms to focus on; selection persisted between sessions
- Accessible from the Actions sidebar section
Last Activity Timeline
A dedicated inline view showing recorder-backed "last active" timestamps for every entity, automation, script, helper, template, and more — in one consolidated, searchable, filterable list:- 🕐 Last Activity button in the Actions sidebar section opens the full inline view
- Entities split into 15 domain-based sections: 🤖 Automations, ⚡ Scripts, 🎛️ Helpers, 🧩 Templates, 💡 Lights, 🔌 Switches, 🌡️ Sensors, 🔍 Binary Sensors, 📺 Media Players, ❄️ Climate & Environment, 🔒 Security, 📷 Cameras, 📍 People & Tracking, 🔘 Controls, ⬆️ Updates, ⚙️ Other (sub-grouped by integration)
- 9 time-range filter pills: All · Today · This Week · 1 Month · 3 Months · 6 Months · 1 Year · Older · Never — filter selection persisted between sessions
- Live search across entity ID, friendly name, device name, and integration with 200ms debounce
- Live count badge in the header updates as you filter/search
- Timestamps come from the HA recorder database — survive HA restarts (unlike in-memory
last_changedwhich resets when entities briefly go unavailable) - Automations and scripts use
last_triggeredfrom HA state attributes - Refresh button invalidates the 1-hour localStorage cache and fetches fresh recorder data
- Clicking any row opens the full entity detail dialog
Undo / Redo
Full operation history with combined timeline dialog:- ↺ History button in the sidebar opens a combined undo/redo timeline dialog
- Shows the full action history: redo actions (top, muted) → current state divider → undo actions (bottom)
- Click any row in the dialog to jump to that point in history; the list refreshes in-place
- Clear History button wipes both stacks (with confirmation)
- Supports: enable, disable, rename, display name change, label changes, device/area assignment, config import, and all bulk operations
- History survives page refresh (localStorage persistence)
Filter Presets
- Save your current filter configuration (domain, search term, state) as a named preset
- Load any saved preset to instantly restore a filter combination
- Delete presets you no longer need
- Quick-access buttons for each saved preset
Column Customization
Choose which columns to display in the entity table:- Entity ID
- State
- Device
- Entity Category
- Disabled By
- Automations Count
- Alias
Devices View
A dedicated Devices tab shows all devices sorted alphabetically and organised by category:- Every device card has the same rich header as integration rows: name + stats, Categories / Hardware / Areas & Labels boxes, and a ⋯ actions menu (View Enabled / View Disabled / Enable All / Disable All)
- Device type filter in the toolbar: ⚡ Hardware, ☁️ Cloud, 🔧 Virtual, 📱 Mobile, 🏠 HA System, ❓ Unknown — plus any custom types you've created
- Assignable device types — Unknown badges are clickable; pick one of the built-in types, one of your own custom types, or Auto (heuristic detection). Manually assigned badges show a ✎ and can be changed or reset anytime
- Devices with the same display name are merged into a single group — useful for Shelly multi-relay devices where all channels share one name
- Every device (and same-name group) is split into standard HA category cards: ⚡ Controls, 📊 Sensors, ⚙️ Configuration, 🔧 Diagnostic, 📡 Connectivity with per-card entity counts and enabled/disabled breakdowns
- Cards are independently collapsible — opening one never affects others
- Entities whose device has a
configuration_urlshow a 🔗 button to open the device web UI in a new tab - Offline only toggle to focus on devices whose entities are all unavailable
Entity Detail Dialog
Click any entity card (not a button or checkbox) to open a full detail dialog with everything Home Assistant knows about that entity — organised as a pinned hero + five tabs.Hero Header (always visible while tab content scrolls):
- Type chips top-left: domain, platform, Disabled badge (if applicable), Area name
- Friendly name centered, with an inline pencil to rename (saves via
update_entity_display_name) - Entity ID in monospace below the name
- State displayed as a colour-coded pill (green for on/open, orange for unavailable/unknown, grey for off), with an inline Toggle / Press button for controllable entities, and Last changed / Last updated timestamps in locale-aware format
| Tab | Contents | |-----|----------| | Overview | Card grid: State (status, state, changed/updated, category), Area & Labels (entity + device label chips with manage buttons), Device (name, manufacturer, model, SW), Integration (title, domain, version, state) | | Attributes | All state attributes in a 2-column grid | | Registry | Full entity registry, device, and integration detail rows (unique ID, device class, connections, identifiers, config URL, …) | | Related | Other entities on the same device + Automation Impact (automations/scripts that appear to reference this entity) | | History | Compact timeline of state changes: coloured dot + state value + absolute timestamp |
Footer Action Buttons:
- Copy ID — copies entity ID to clipboard with a toast confirmation
- Enable / Disable — toggles entity state and closes the dialog
- Open in HA — opens the entity's HA settings page
- Close
Notification Center
A live notification feed built into the panel header:- Bell icon (🔔) sits right of the panel title — a red badge shows unread count; the icon fills to
mdi:bell-badgewhen unread items exist - Clicking the bell opens a dropdown listing all notifications newest-first
- Four tracked event types:
unavailable
- State anomaly (orange) — fires when an entity transitions to unknown from a known state
- Entity enabled / disabled (green / red) — detected on each data refresh by comparing states between loads
- New entity (blue) — fires when a new entity ID appears in the registry
- Persistent — stored in
localStorage, survives page refreshes and HA restarts - Rate-limited — same entity + event type fires at most once per 5 minutes (prevents spam on flapping devices)
- Capped at 100 entries — oldest dropped when the limit is reached
- Mark all read, dismiss individual, and clear all controls
- Gear icon opens per-type preference toggles — silence any event type individually
- Click any notification to open the full Entity Detail Dialog for that entity
- EM-action suppression — enable/disable actions performed inside Entity Manager itself do not generate notifications
Firmware Update Manager
A dedicated Updates tab to manage all firmware and software updates:- View all available updates in one place
- Filter by stability: All Updates, Stable Only, Beta Only
- Filter by category: All Types, Devices Only, Integrations Only
- Hide up-to-date checkbox to focus on pending updates
- Select All pill with expanding Update Selected button — animates into view when items are selected
- View release notes before updating
- Sequential bulk updates — runs one at a time for safety; rows progress through Queued → Active → ✓ Updated / ✕ Failed
- Live progress ring — SVG ring tracks exact
update_percentagewhen HA reports it; indeterminate spinner otherwise - HA auto-backup banner — shows and toggles HA's global "backup before update" setting; green when ON, red when OFF; hidden on plain HA Core
- Per-entity Backup checkbox — shown for entities that support backup; "Backup All" header checkbox for bulk selection
- Alphabetical sorting by title; live update count on filter button
Export & Import
- Export entity configurations to JSON -- includes enabled/disabled states for all entities
- Import configurations from a previously exported JSON file to restore states
- Export/Import custom themes separately
- Date-stamped export files for easy versioning
- Access from the sidebar's Actions section; imports confirm before applying and are undoable in one step
Theme System
Entity Manager ships with a comprehensive theming engine built on the v3.0 "Refined" design language (hairline borders, calm light/dark palettes, soft tints): Built-in Themes:- Default -- follows your Home Assistant theme (light or dark)
- Light -- the Refined light palette
- Dark -- the Refined dark palette
- High Contrast -- optimized for accessibility
- OLED Black -- true-black backgrounds for OLED displays
- Create unlimited custom themes with a visual color picker
- Customize every color: primary, success, danger, warning, text, backgrounds, borders, shadows
- Background image support with adjustable overlay opacity
- Light/dark mode toggle per theme
- Real-time preview with color chips
- Import/export themes as JSON to share with others
- Detects Home Assistant light/dark mode
- Respects system color scheme preferences
- Manual override available per theme
- Every stat card has a unique colored top-border accent and subtle tinted background — both in light and dark mode
- Text colors automatically compensate so labels and values are always readable against their tinted background
- Works correctly in mixed-mode setups (e.g. HA dark + EM light or EM dark + HA light)
Context Menu
Right-click any entity (or multi-selection) for a full context menu: Single entity:- Rename / Enable / Disable
- Add to / Remove from Favorites
- Manage Labels / Set Alias
- Assign to area — opens the unified Assign dialog: floor + area picker on top (create new floors/areas inline, "No area" clears the assignment) and label management below, with
E/D/Ascope badges - 🔌 Assign to device — opens an integration-grouped device picker with confirmation; stored in undo history with device name
- Copy Entity ID
- Open in Home Assistant
- Bulk Rename Selected
- Enable / Disable All Selected (with confirmation)
- Add / Remove Labels on Selected
- Add All to Favorites
- Clear Selection
- Delete Selected (with confirmation)
Voice Assistant
Control Entity Manager hands-free with voice commands:- "Enable entity {name}"
- "Disable entity {name}"
- "Activate entity {name}"
- "Deactivate entity {name}"
- "Registry enable/disable {name}"
Statistics Dashboard
The stat wall at the top is split in two rows:Data stats — Integrations · Devices · Total Entities (clickable, opens a grouped entity list) · Enabled · Disabled
Navigation strip — compact tiles that each open a dedicated view:
- Auto / Scripts / Helpers - automations (with last-triggered + edit navigation), scripts, and input helpers in one view
- Templates - template entities with state, last active, and edit/remove actions
- Health & Cleanup - housekeeping across unavailable/orphaned/stale entities, ghost devices, never-triggered automations
- HACS Store - browse your installed HACS items and the community store
- Card Types - inspect dashboards, card type distribution, and entity references
- Suggestions - live count of improvement suggestions across all six suggestion types
- Browsers - browser_mod browsers
Stat Card Dialogs — Mini Entity Cards
Every stat card opens a dedicated dialog where items are displayed as mini entity cards matching the visual style of the main view:- Click any card (outside its buttons/checkboxes) to open the full Entity Details dialog for that entity — works in every dialog and inline view (Cleanup, Unavailable, Suggestions, Automations, …)
- Dark header band showing the friendly name, state chip (On/Off/Running/unavailable/…), and time-ago
- Monospace entity ID in the body with domain or mode info below
- Action buttons (Edit, Rename, Toggle, Remove…) in a row at the bottom
- Search bar is pinned in the dialog header — always visible, never scrolls away
- First section expands automatically so content is visible without any extra clicks
- Colour-tinted section backgrounds make different categories instantly recognisable; alternating row tints aid readability in long lists
- Automations → opens the automation editor for that automation
- Scripts → opens the script editor
- Everything else → opens the HA more-info popup for the entity
Health & Cleanup View
The Health & Cleanup inline view surfaces housekeeping tasks across five sections:- Unavailable entities — entities currently in
unavailablestate; per-row actions: Ignore, Disable, Add to Group, Remove; Disable and Remove show a confirmation dialog - Orphaned entities — registry entries whose owner is gone, split into three groups: Missing Device (
device_idpoints at a deleted device), Missing Config Entry (the integration entry was removed — classic leftovers), and Not Loaded (enabled but nothing provides a state anymore). Entities that are simply device-less by design — automations, scripts, helpers, persons, groups — are not treated as orphans. Per-row actions: Ignore, Assign to device (Missing Device only), Add to Group, Remove, plus a Remove All with confirmation - Stale entities — value unchanged in 30+ days, using recorder-backed timestamps that survive HA restarts; static-by-design domains (automations, scenes, zones, buttons…) and config-category settings are excluded; Keep (hide for 30 d), Disable, or Remove per entity
- Ghost devices — devices registered in HA with zero entities, excluding hubs/bridges that other devices connect through; click to open the device page in HA
- Never triggered — automations and scripts that have never been triggered (restored remnants excluded — those are orphans)
Add to Group: opens a dialog with all five grouping modes from the sidebar — By Area, By Floor, By Device Name, By Integration, By Type — plus any custom groups you've created. By Area and By Floor open the area assignment dialog; By Device Name opens the device picker.
Suggestions View
Six colour-coded sections help you improve your entity setup:- 🟣 Health Issues (purple) — entities unavailable for 7+ days → suggested for disable
- ⬜ Disable Candidates (neutral) — diagnostic entities unchanged for 30+ days
- 🟠 Naming Improvements (orange) — entities with auto-generated hashes or generic names
- 🔴 Area Suggestions (red) — devices with no area assigned — bulk-assign directly from the view, with name-based auto-matching and user-defined mapping rules
- 🟠 Area Mismatch — entities whose own area differs from their device's area; sync or reassign per entity
- 🟡 Label Suggestions (amber) — smart HA label recommendations across 21 semantic categories — click Apply to N to create and assign instantly
Mobile & Responsive Design
Three-breakpoint responsive layout designed and tested on real Android phones:| Breakpoint | Target | Key changes | |---|---|---| | ≤768px | Tablets | Sidebar becomes overlay, stat cards 3-per-row, device headers wrap; action buttons scale to 13px | | ≤600px | Medium phones (~540px) | Entity list 1-column, action buttons wrap with 36px touch targets | | ≤480px | Small phones | Further font/padding reductions (11px), mini cards stack to 1-column |
- Collapsible sidebar with dedicated mobile toggle button; tap outside to close
- Stat cards always show 3 per row on mobile — labels never truncated
- Device card headers wrap bulk actions and area button to a second line on narrow screens; buttons compact to fit without overflowing or truncating
- Dialog padding scales down at each breakpoint so dialogs use screen space efficiently
- All touch targets minimum 36×36px on mobile
Installation
HACS (Recommended)
- Open HACS in Home Assistant
- Go to Integrations
- Click the three dots menu in the top right
- Select Custom repositories
- Add
https://github.com/TheIcelandicguy/entity-manageras an Integration - Click Install
- Restart Home Assistant
Manual Installation
- Download the
custom_components/entity_managerfolder from this repository - Copy it to your Home Assistant
custom_componentsdirectory - Restart Home Assistant
Usage
Getting Started
- After installation, go to Settings > Integrations > Add Integration
- Search for Entity Manager and add it
- The Entity Manager panel will appear in your Home Assistant sidebar
- Click it to open the full management interface
Managing Entities
- Expand an integration to see all its devices and entities
- Click the checkmark to enable or the X to disable an entity
- Use the ⋯ menu on an integration or device card for Enable All / Disable All / View Enabled / View Disabled
- Select multiple entities with checkboxes, then use bulk actions in the toolbar
Renaming Entities
- Click the pencil icon next to any entity
- Edit the name (the domain prefix is locked)
- Click Rename to confirm
- The change automatically propagates across all automations, scripts, and helpers
Using Filters
- Pick a domain from the dropdown to narrow by entity type
- Type in the search box to find entities by name, ID, or integration
- Click Enabled / Disabled / Updates buttons to filter by state
- Click an integration in the sidebar to show only its entities
- Filter by Home Assistant labels from the sidebar's Labels section
Managing Updates
- Click the Updates filter button in the toolbar
- Use the filter dropdowns to narrow by stability or category
- Check the HA auto-backup banner to confirm your global backup setting is correct
- Optionally check the 🛡 Backup checkbox on rows you want backed up before updating
- Check Select All (or pick individual rows) — the Update Selected button expands to the right
- Click Update Selected; each row progresses through Queued → Active (progress ring) → ✓ / ✕
Technical Details
Requirements
- Home Assistant 2024.1.0 or later
- Modern web browser with ES6+ support
- Admin user account (all operations require admin privileges)
Architecture
Frontend (Vanilla JS Web Component)
| WebSocket
Backend (Python WebSocket API)
|
Home Assistant Entity & Device Registries
Components
| Component | Description | |---|---| |__init__.py | Integration setup, service registration, sidebar panel |
| websocket_api.py | 21 WebSocket command handlers |
| voice_assistant.py | Voice intent handlers |
| config_flow.py | UI-based configuration flow |
| entity-manager-panel.js | Full frontend as a single web component |
| entity-manager-panel.css | Extracted stylesheet |
WebSocket API
All commands require admin privileges.| Command | Parameters | Description |
|---|---|---|
| entity_manager/get_disabled_entities | state: disabled, enabled, or all | Entities grouped by integration/device |
| entity_manager/export_states | — | Export all entity states to JSON |
| entity_manager/get_automations | — | Automations with last-triggered and trigger context |
| entity_manager/get_template_sensors | — | Template entities with state + connections |
| entity_manager/get_entity_details | entity_id | Full entity metadata (registry, device, area, labels) |
| entity_manager/get_config_entry_health | — | Failed/unhealthy config entries |
| entity_manager/get_areas_and_floors | — | Area + floor hierarchy |
| entity_manager/list_hacs_items | — | Installed HACS items + store items |
| entity_manager/get_last_activity | entity_ids (optional) | Recorder-backed last-active timestamps per entity |
| entity_manager/enable_entity | entity_id | Enable a single entity |
| entity_manager/disable_entity | entity_id | Disable a single entity |
| entity_manager/bulk_enable | entity_ids (max 500) | Enable multiple entities |
| entity_manager/bulk_disable | entity_ids (max 500) | Disable multiple entities |
| entity_manager/rename_entity | old_entity_id, new_entity_id | Rename entity (domain preserved) |
| entity_manager/update_entity_display_name | entity_id, name (null clears) | Set or clear user display name |
| entity_manager/remove_entity | entity_id | Remove entity (handles templates, YAML, integration-managed) |
| entity_manager/update_yaml_references | old_entity_id, new_entity_id, dry_run | Find/replace entity ID across YAML config files |
| entity_manager/assign_entity_device | entity_id, device_id | Assign entity to a device |
| entity_manager/unassign_entity_device | entity_id | Remove device assignment from entity |
| entity_manager/import_entity_states | entities (max 500) | Apply enable/disable states from an exported config |
| entity_manager/register_template | entity_id | Inject a unique_id into a YAML template entity and reload |
YAML-writing commands (update_yaml_references, register_template) never touch secrets.yaml and write a .em-bak backup of the original file before modifying it.
Home Assistant Services
entity_manager.enable_entityentity_manager.disable_entity
Local Storage Keys
Entity Manager stores user preferences in the browser: | Key | Data | |---|---| |em-favorites | Starred entities |
| em-activity-log | Last 100 operation log entries |
| em_undoStack | Up to 50 undo steps (survives page refresh) |
| em_redoStack | Redo steps |
| em-custom-themes | User-created themes |
| em-active-theme | Currently selected theme |
| em-entity-aliases | Entity display aliases |
| em-activity-watch | Activity Log room filter selection |
| em-sidebar-sections | Sidebar section open/closed states |
| em-filter-presets | Saved filter combinations |
| em-visible-columns | Column visibility preferences |
| em-sidebar-collapsed | Sidebar state |
| em-smart-group-mode | Active grouping mode |
| em-entity-order | Custom entity ordering |
| em_lastActivityCache | Recorder-backed timestamps (1-hour TTL) |
| em-at-filter | Last Activity Timeline active filter pill |
| em-integration-colors | User-set integration accent colors (default is none) |
| em-device-type-overrides | Manually assigned device types |
| em-custom-device-types | User-created device types (name + color) |
| em-ignored-suggestions | Persistently ignored suggestion/cleanup rows |
Screenshots
✨ New in v3.0 — the Refined UI
Version 3.0 is a full visual redesign: hairline borders, calm light/dark palettes, three-box integration and device headers (Categories · Hardware · Areas & Labels), ⋯ action menus, opt-in accent colors, assignable device types, and a tabbed Entity Details dialog.
| Entity Details — tabbed | Device Type Picker (with custom types) | |:---:|:---:| | !Entity Details Dialog | !Device Type Picker |
| Devices tab — rich headers | Integration ⋯ menu | |:---:|:---:| | !Devices Tab | !Integration Menu |
| Light theme | Notification Center | |:---:|:---:| | !Light Theme | !Notification Center |
| Mobile main view | Mobile sidebar | Mobile entity cards | |:---:|:---:|:---:| | !Mobile Main | !Mobile Sidebar | !Mobile Cards |
Main Panel
| All Entities | Enabled Filter | Disabled Filter | |:---:|:---:|:---:| | !All Entities | !Enabled Filter | !Disabled Filter |
Entity Cards
Entity Details Dialog
| Overview | Registry | Related | History | |:---:|:---:|:---:|:---:| | !Overview | !Registry | !Related | !History |
Devices View
Last Activity Timeline
Activity Log & Undo / Redo History
| Activity Log | History (Undo/Redo) | |:---:|:---:| | !Activity Log | !Undo Redo History |
Themes
| Theme Menu | High Contrast | OLED Black | Theme Editor | |:---:|:---:|:---:|:---:| | !Theme Menu | !High Contrast | !OLED Black | !Theme Editor |
Grouping Modes
| By Area | By Type | By Floor | By Device Name | |:---:|:---:|:---:|:---:| | !By Area | !By Type | !By Floor | !By Device Name |
Bulk Rename
Automations, Scripts & Helpers
Templates
Unified Assign Dialog — Area, Floor & Labels
One dialog reachable from any clickable chip on an entity or device card — area/floor picker on top, label management below, with E/D/A scope badges showing whether a label lives on the entity, its device, or its area.
| Area & Floor | Labels (scoped, Apply-to target) | |:---:|:---:| | !Assign Dialog — Area and Floor | !Assign Dialog — Labels |
Updates
HACS Store
Card Types
Health & Cleanup
| Overview | Orphaned Entities | Unavailable Entities | |:---:|:---:|:---:| | !Health and Cleanup | !Orphaned | !Unavailable |
Suggestions
Every suggestion row has an Ignore button that persistently dismisses it. A View ignored bar reveals everything you've dismissed — with its type (Health Issue, Disable Candidate, Naming, Area Suggestion, Area Mismatch, Label) and origin — and a one-click Restore.
| Naming Improvements | Label Suggestions | Area Assignment Tool | |:---:|:---:|:---:| | !Naming Improvements | !Label Suggestions | !Area Assignment |
Use Cases
- Cleaning up after integrations -- disable the dozens of unused entities that some integrations create
- Organizing large systems -- manage hundreds of entities efficiently with filters, labels, and groups
- Standardizing naming -- bulk rename entities with regex to fix naming conventions across your setup
- Troubleshooting -- analyze entity dependencies and automation impact before making changes
- Performance optimization -- disable unnecessary entities to reduce system load
- Firmware management -- keep all devices and integrations up to date from one screen
- Backup & restore -- export entity configurations before major changes, import to roll back
Troubleshooting
Panel Not Showing
- Ensure the integration is added via Settings > Integrations
- Check that your user has admin privileges
Frontend Not Updating
- Clear your browser cache (Ctrl+Shift+R)
- Check the browser console for JavaScript errors
Debug Logging
Add to yourconfiguration.yaml:
logger:
default: info
logs:
custom_components.entity_manager: debug
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.License
This project is licensed under the MIT License -- see the LICENSE file for details.Author
TheIcelandicguy- GitHub: @TheIcelandicguy
Acknowledgments
- Home Assistant community for inspiration and support
- Home Assistant Brands for integration icons
- All contributors and users of Entity Manager
If you find this integration helpful, please consider giving it a star on GitHub!