A native Home Assistant custom component providing a sidebar dashboard to manage Google Assistant entity exposure, voice nicknames, regex blocklists, and zero-reboot .storage live syncing.
Key Features • Installation • Configuration • AI Features • Documentation • FAQ
Self-hosted Google Assistant in Home Assistant traditionally requires manual YAML configuration (configuration.yaml), tracking entity IDs, maintaining aliases, and restarting Home Assistant whenever exposed entities change.
Google Assistant Entity Console v3.0.0 eliminates YAML generation and Home Assistant restarts entirely. It provides a native .storage-backed sidebar dashboard that manages your Google Cloud credentials (project_id, service_account, report_state, secure_devices_pin), entity exposure, and voice nicknames in memory and syncs live to Google HomeGraph (devices:requestSync) with a single click—or automatically with a 15-second debounce.
- 100%
.storage-Native & Zero-Reboot Live Sync (v3.0.0):- Stores Google Cloud credentials, entity sync state, regex blocklists, and AI settings in
.storage/google_assistant_entity_console. - Updates Home Assistant Core's
GoogleConfigin memory on every edit and pushes changes live to Google HomeGraph via Sync to Google (or optional 15s debounced auto-sync) without restarting Home Assistant. - Auto-Import & One-Click YAML Migration: Automatically imports existing
project_id,service_account(SERVICE_ACCOUNT.json), andsecrets.yamlvalues on first run and provides a one-click Migrate from YAML button.
- Stores Google Cloud credentials, entity sync state, regex blocklists, and AI settings in
- Native Sidebar Panel: Integrates into the Home Assistant sidebar as a native panel (
google-assistant-entity-console-panel). - Slicing Sidebar & Dual Grouping Layouts:
- Location-First (Default): Group entities by Floor → Room (Area) → Domain → Entity Row.
- Domain-First (Alternate): Group entities by Domain → Floor → Room (Area) → Entity Row.
- Direct Row Interactions:
- Exposure Status: Toggle entity exposure state (Exposed, Pending Add, Pending Remove, Not Exposed).
- Inline Renaming: Edit entity display names directly on the row.
- Voice Nickname Chips: View, add, or delete voice aliases (nicknames) with chip management.
- Regex Blocklist Manager: Filter out entities or domain patterns (e.g.
.*_battery_level$) using regular expression rules with live validation. - AI Assistant Integration:
- Suggest entity exposure based on natural-language requests (e.g., "Expose all living room lights and climate controls").
- Bulk and room-aware voice nickname generation using local LLMs (Ollama, LocalAI, vLLM), cloud endpoints (OpenAI, OpenRouter, Groq), or Home Assistant Assist conversation agents.
- Theme Inheritance: Automatically inherits the active Home Assistant dashboard theme (light, dark, Mushroom, Catppuccin, Nord, etc.) via standard CSS custom properties (
--primary-background-color, etc.).
- Open HACS in your Home Assistant sidebar.
- Click the three dots (⋮) in the top-right corner and select Custom repositories.
- Enter the repository URL:
https://github.com/spelech/GoogleAssistantEntityConsole - Select Integration as the Category and click Add.
- Find Google Assistant Entity Console in HACS, click Download, and select the latest release.
- Restart Home Assistant.
- Download the latest release
.zipfrom the Releases tab. - Extract and copy the
custom_components/google_assistant_entity_console/directory into your Home Assistant/config/custom_components/directory. - Restart Home Assistant.
Once installed and Home Assistant has restarted:
- In Home Assistant, navigate to Settings > Devices & Services.
- Click Add Integration in the bottom-right corner.
- Search for Google Assistant Entity Console and select it.
- Open the Google Sync panel in your sidebar and click Settings to verify or configure your Google Cloud
project_idandSERVICE_ACCOUNT.jsoncredentials directly in.storage(or click Migrate from YAML to import and comment out any legacygoogle_assistant:block inconfiguration.yaml).
The console supports optional AI-assisted workflows using local or remote endpoints:
- Local LLMs: Connect to local OpenAI-compatible endpoints such as Ollama, LocalAI, vLLM, or LM Studio (
http://192.168.1.x:11434/v1) without sending data to external services. - Home Assistant Conversation Agents: Connect directly to configured Home Assistant Assist / Conversation agents using
async_converse. - Context-Aware Nickname Generation: Inspects other entities in the same area to avoid duplicate or conflicting voice commands.
For setup details and custom prompt templates, see the AI Integration Guide.
- Architecture Overview: Details on backend views, entity registry resolution,
.storagepersistence, regex blocklists, and frontend Web Component architecture. - AI Integration Guide: Configuration details for OpenAI-compatible endpoints, HA Assist agents, and prompt customization.
- Dashboard Theme Integration: Mapping of Home Assistant CSS custom properties to Material Design 3 design tokens.
No. Starting in v3.0.0, all entity exposure changes, nicknames, and rooms are updated in Home Assistant's live GoogleConfig memory immediately and synced directly to Google HomeGraph via Sync to Google (or automatic 15-second debounced sync) with zero restarts and zero YAML files.
Google Assistant supports specific Home Assistant domains (light, switch, climate, lock, cover, fan, vacuum, media_player, alarm_control_panel, camera, scene, script, etc.) and binary sensors with specific device classes (door, garage_door, lock, opening, window, etc.). Unsupported entities are filtered out automatically.
No, unless configured to do so. The AI integration defaults to local endpoints (such as Ollama on the local network) or native Home Assistant Assist agents. External requests are only sent if a cloud provider URL and API key are configured.
Distributed under the MIT License. See LICENSE for more information.





