Skip to main content

Generate voice assistant configuration from Home Assistant labels.

Project description

image

Automatically generate your voice assistant configuration from Home Assistant labels.

Python checks

🚧 Early development project

Feedback and ideas are welcome.

Why?

Do you maintain dozens of Google Assistant entities manually?

Managing voice assistant configurations manually quickly becomes difficult.

HA Voice Label Sync automatically generates the required configuration from Home Assistant labels, making your labels the single source of truth.

With the current release you can:

Stop maintaining large YAML files manually. Avoid duplicated configuration. Keep Home Assistant as the only place where entities are managed. Generate your configuration in seconds.

Current Status

Project status

HVLS is currently under active development.

Latest stable release: v0.1.2

Current development version: 0.2.0.dev0

Current capabilities:

  • Standalone CLI
  • Reusable Python core
  • Google Assistant YAML generation
  • Dry-run support
  • Safe atomic file writing
  • Automatic backups and retention
  • Initial Home Assistant integration skeleton

Not yet available:

  • Full Home Assistant configuration UI
  • Home Assistant actions and buttons
  • Backup restoration from the UI
  • HACS installation

HA Voice Label Sync has been designed to support multiple voice assistants.

  • Currently supported :

    ✅ Google Assistant
    
  • Planned :

    Amazon Alexa
    Apple HomeKit
    

Instead of maintaining a long list of exposed entities manually, simply assign a label in Home Assistant, run the script, and let HA Voice Label Sync generate the configuration for you.

Features

  • Select entities using a Home Assistant label
  • Generate entity_config for Google Assistant
  • Use Home Assistant friendly names
  • Use Home Assistant areas as Google rooms
  • Ignore disabled or hidden entities
  • Dry-run mode before writing the file

How it works

                           Home Assistant
                                │
                                ▼
                              Labels
                                │
                                ▼
                        Voice Assistant Sync
                                │
                         ┌──────┴───────┐
                         │              │
               Google Assistant    Amazon Alexa
       

Generated entity_config

switch.prise_pompe:
  expose: true
  name: Pompe piscine
  room: Piscine

Home Assistant configuration

google_assistant:
  project_id: YOUR_PROJECT_ID
  service_account: !include google_key.json
  report_state: true
  expose_by_default: false
  entity_config: !include google_assistant_entities.yaml

Quick start

Installation

Option 1 – Download the script

Download the latest version of ga_label_sync.py from the repository.

Copy it to your Home Assistant scripts directory.

Typical locations are:

/config/scripts/

or

<home-assistant-config>/scripts/

depending on your Home Assistant installation.

Option 2 – Clone the repository

git clone https://github.com/flimo44/ha-voice-label-sync.git

The script is located in:

scripts/ga_label_sync.py
If you simply want to use the script, downloading scripts/ga_label_sync.py is enough.

Cloning the repository is recommended only if you plan to follow development or contribute to the project.

Usage :

Step 1 — Add the label

Capture d'écran 2026-06-26 201643

Step 2 — Preview the generated configuration

Capture d'écran 2026-06-26 203136
python3 /config/scripts/ga_label_sync.py --label "google_assistant" --dry-run
# --- Couloir ---
lock.serrure_maison:
  expose: true
  name: Serrure porte entrée
  room: Couloir

# --- Jardin ---
switch.portail:
  expose: true
  name: Portail
  room: Jardin

# --- Piscine ---
input_select.piscine_mode_gestion:
  expose: true
  name: "Piscine - Mode Gestion"
  room: Piscine

switch.piscine_chauffage:
  expose: true
  name: Pac Piscine
  room: Piscine

switch.prise_pompe2:
  expose: true
  name: Pompe piscine
  room: Piscine

Step 3 — Generate the file

python3 /config/scripts/ga_label_sync.py --label "google_assistant"
Capture d'écran 2026-06-26 200340

Step 4 — Restart Home Assistant

Step 5 — Synchronize Google Home

Google Home before synchronization

Screenshot_2026-06-26-19-44-33-60_2d2bd67b5e15ae98c151ac739cd6881e

Google Home after synchronization

Screenshot_2026-06-26-19-45-48-86_2d2bd67b5e15ae98c151ac739cd6881e

License MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ha_voice_label_sync-0.2.0.dev0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ha_voice_label_sync-0.2.0.dev0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file ha_voice_label_sync-0.2.0.dev0.tar.gz.

File metadata

  • Download URL: ha_voice_label_sync-0.2.0.dev0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ha_voice_label_sync-0.2.0.dev0.tar.gz
Algorithm Hash digest
SHA256 ce13d5c676bbbe0ae83dc394ea8145e94695eeda120c039a794fbb22094b9989
MD5 8b1aeccb850388329149bb66a852dd90
BLAKE2b-256 8dcaf16be47e5a09c02d1c76db8eff706ee5b2fc23a4abee10412b663ae321b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ha_voice_label_sync-0.2.0.dev0.tar.gz:

Publisher: publish-pypi.yml on flimo44/ha-voice-label-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ha_voice_label_sync-0.2.0.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for ha_voice_label_sync-0.2.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 537ffe1f2a573fda93ce8b1dbfaaeef6b4017bf145e80894094dbe56625bcd1f
MD5 33df612c54365d56fab34e22225a41c5
BLAKE2b-256 b4b318330bc2720b335d3942bdf8712461d8b23d47ebfc9e5e9138c07763e169

See more details on using hashes here.

Provenance

The following attestation bundles were made for ha_voice_label_sync-0.2.0.dev0-py3-none-any.whl:

Publisher: publish-pypi.yml on flimo44/ha-voice-label-sync

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page