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 ?