"Qui est à la maison?" dans l'assistant vocal (pistes de réflexion : mettre des alias pour la zone "Home" et/ou désactiver un intent built-in)

Bonjour à tous !

Mon problème de base : quand je demande à l’assistant vocal « qui est à la maison ? », il me répond toujours « personne ». Si je demande « guillaume est à la maison ? » il me réponde « Non, Home ». Par contre en anglais ça marche. La cause fondamentale du truc, c’est que zone.home s’appelle « Home ».

Solutions possibles ?

  • mettre un alias « maison » pour la zone.home. Impossible à faire depuis l’UI : Settings->Voice assistant->Expose, j’ai un message Aliases are not supported for entities without an unique id

Pourquoi zone.home, qui est unique et spéciale dans le code de Home Assistant, n’a pas de unique_id ? Mystère

Donc j’essaie d’ajouter les alias en yaml, dans configuration.yaml

zone:
  - name: Home
    latitude: xxxx
    longitude: xxxx
    radius: 100
    icon: mdi:home
    aliases:
      - "maison"

Sauf qu’on peut pas. Message d’erreur « Invalid config for 'zone' at configuration.yaml, line 48: 'aliases' is an invalid option for 'zone', check: zone->0->aliases »

Est-ce que c’est vraiment complètement impossible d’avoir des alias pour une zone ? Alors que pour les area et les floor c’est tout à fait possible ?

  • autre piste de solution : comme j’utilise Fallback Conversation Agent avec un premier agent Home Assistant (celui qui veut pas reconnaître ma maison) et en deuxième agent un LLM (qui lui répond très bien à cette question), j’essaie soit de désactiver l’intent de base soit de le forcer à retourner une erreur quand la zone demandée (« maison » donc) n’existe pas.

J’ai réussi à faire ça salement en supprimant les lignes concernées dans .venv/lib64/python3.12/site-packages/home_assistant_intents/data/fr.json puis en chown le fichier à root pour qu’il ne puisse pas être mis à jour par Home Assistant.

Mais est-ce qu’il y a une solution plus propre à base de fichiers dans custom_sentences ?