Gestion des noms et catégories dans Alexa

Quelles nomenclatures utiliser vous pour renommer vos entity sous ha (modifié)

exemple

pour des volets (avec interrupteur on/off) qui se trouve dans la chambre de jojo
vous indiquer comme nom de l’entity « volet » ou « volet jojo » ou « volet chambre jojo »

Tout cela pour être utilisé par alexa/google home et dire
« ferme le volet de jojo ou ferme le volet de la chambre de jojo »

Faut-il que l’entity porte le nom de la pièce ou juste le fait quel sois dans la zone (area) jojo suffit et donc comme nom d’entity volet ?! :thinking: ?

Autre exemple

J’ai un interrupteur sonoff pour la lumière du salon (lustre) et les ampoules dans ce lustre sont des philips hue

comment dois-je nommer les entity de l’interrupteur et des ampoules pour pouvoir utiliser alexa :

Éteint la lumière du salon ou alors change la couleur du salon/ change la couleur de la lumière du salon en rouge…

Je me mets un signet pour ce soir j’ai 2, 3 astuces partageables

1 « J'aime »

Ok merci @Pulpy-Luke

j’attend ton retour

Salut,

Alors ça reste ma méthode, mais jusque là ça marche pas trop mal : entity.type_area_extra

  • L’entity c’est pour distinguer les types, je me sers de ça pour organiser les yaml : 1 par genre d’entité

  • Même si ça semble redondant, le type ressemble souvent à l’entité : cover.volet_cuisine … Le truc c’est que si l’appareil dispose de plusieurs entités (un binary_sensor par ex) ça permet de faire lien à l’appareil :

  • Toujours dans le même esprit, ça permet de regrouper tous les objets de même types facile (cover.volet*)

  • j’ajoute systématiquement la pièce, pour regrouper (mais je mets aussi la area quand ça existe)

  • je complète avec les spécificités quand il y a plusieurs noms qui tombent pareil

En complément, je n’ai pas Alexa, mais GoogleHome, donc je fait des groupements avec les alias pour passer des ordres groupés:

  • tous les XXX
  • par pièce
    Et quand c’est possible je passe par la pièce pour la localisation automatique
  cover.volet_salon_rue_prop:
    name: "Volet rue"
    aliases:
      - "Volet coté rue"
      - "Volets rez de chaussée"
    room: >
      {{ area_name('cover.volet_salon_rue_prop') }}
  cover.volet_salon_allee_prop:
    name: "Volet allée"
    aliases:
      - "Volet coté allée"
      - "Volets rez de chaussée"
    room: >
      {{ area_name('cover.volet_salon_allee_prop') }}
  cover.volet_cuisine_prop:
    name: "Volet"
    aliases:
      - "Volets rez de chaussée"
    room: >
      {{ area_name('cover.volet_cuisine_prop') }}
  cover.volet_sam_prop:
    name: "Volet"
    aliases:
      - "Volets rez de chaussée"
    room: >
      {{ area_name('cover.volet_sam_prop') }}
  cover.volet_amis_prop:
    name: "Volet"
    aliases:
      - "Volets étage"
      - "Volets amis"
    room: >
      {{ area_name('cover.volet_amis_prop') }}
1 « J'aime »

Ok mais la quelque chose que je comprend pas

voici ma façons de config les entity : (exemple interrupteur sonof dans le salon qui allume le lustre avec 2 ampoules Hue)

voici la config des ampoules hue :

2022-02-01_19-19-44

les deux entity sont différents

Quand je lui demande de mètre les ampoules en rouge en disant Alexa met les ampoules du salon en rouge il me dit je connais pas et ce qui va se passer c’est qu’elle va connaître le vol planer vers le jardin Alexa si elle continue :man_shrugging::grin:

J’imagine que tu as bien configuré Alexa pour avoir la remontée des devices ?
Sur GH c’est typiquement le genre de truc qui se passe quand l’ampoule n’est pas remontée par HA

bas j’utilise nabucasa pour alexa
dans ha

et vue dans alexa

Là dessus je vais être très très limité. Désolé

Idem je creer un groupe light alexa le reconnais pas je comprend pas

group:
  lustre_salon:
    name: lustre salon
    entities:
      - light.ampoule_du_lustre_salon_2
      - light.ampoule_du_lustre_salon_1```

Ça ressemble pas la déclaration Alexa ton truc

mais cette partie normalement est quand tu fiat alexa en mode manuel pas avec nabucasa ou en mode GUI

Salut
@barto_95 j’ai aussi Alexa par Nabucasa et clairement elle a du mal avec certaines nuances.

Mais là si tu lui dit vraiment « mes les ampoules du salon en rouge » alors que tes appareils s’appellent « Ampoule du lustre salon 1 et 2 »… elle ne fera pas le lien, elle a besoin du nom de l’appareil.
Si le groupe ne marche pas faudra que tu trouves des noms plus courts pour tes ampoules…

Chez moi j’ai « Spots du salon » et « Lumières du salon » en entités envoyées…
Pas moyen de lui faire accepter « Lumière du salon »… elle n’y arrive pas… quand je change le nom en « Luminaire du salon » ça elle comprend… avant j’avais renommé sur Alexa « Lumiaire du salon » ça marchait mais plus maintenant… Y’a certains mots qui l’envoient du mauvais côté de l’algo!

Genre pense qu’il faut créer un groupe : ampoule-salon et lui dire met les ampoules du salon en rouge et pour l’interrupteur lui donner le nom lumière
pour pouvoir dire : alexa allume la lumière du salon

Ouais c’est de l’IA, mais les noms des appareils elles n’essaye pas de les interpréter.
En en plus, plus t’as d’entités avec le mot « salon » plus elle risque de confondre.
Donc trouver des noms qu’elle comprend dans toutes les circonstances et surtout qui soient naturels pour toi, ça devient vite chaud.

et toi tu la fait en full gui ou tu et passer par le fichier clouds.yaml pour alexa avec nabucasa @AlexHass ?

Tout par le GUI… mais en réalité on utilise très peu Alexa dans le salon pour les lumières et celles qu’on utilise ont noms faciles et bien distincts. :slight_smile:

Hello,
J’ai fait différents essais et utilise beaucoup Alexa. Et c’est sans appel, pour moi il faut utiliser un fichier YAML et pas l’interface :

  1. Pour être pertinent, les noms utilisés par Alexa pour les équipements ne sont pas toujours les noms des entités de HA, et ils faut les dissocier, ce que ne permet par l’interface. Dans certains cas, le nom de l’entité tombe d’ailleurs sur un mot réservé Alexa, d’où le fait de devoir changer (exemple : on demande la température du balcon et non de l’extérieur, car autrement on a celle la météo web).

  2. Il est indispensable de bien définir le « display_category » quand celui ci n’est pas bon, car c’est lui qui indique à Alexa si il faut par exemple allumer (lumière) ou ouvrir (volet) en fonction du type. C’est justement souvent indispensable pour les groupes.
    Bien vérifier dans l’application ios ou android d’Alexa (rubrique appareils) que tous les équipements sont avec la bonne catégorie.

  3. Si la display category est bien définie, on peut omettre de mettre dans le nom ce que c’est (par exemple une lumière). Mais cela reste utile si on veut éviter certains conflits et pour que Alexa reste pertinente. J’ai par exemple « volet piscine » (ouvre, ferme…) et « spot piscine » (allume, éteint), d’où ici l’obligation de spécifier « volet » et « lumière » pour bien avoir 2 équipements, et non 1 seul « piscine ». Donc en général, je préfère préciser « lumière salon » et non juste « salon ». Après « volet chambre jojo » ou juste « volet jojo », je mettrai moi « volet chambre jojo », mais pour le coup c’est une question d’habitude familiale.

Voici quelques exemples tirés de ma config (fichier alexa.yaml) pour illustrer cela, y compris des groupes de lumière :

filter:
    include_entities:
      - sensor.fibaro_piscine_temperature_abri
      - sensor.fibaro_piscine_temperature_eau
      - cover.ipx800_volet_piscine
      - switch.ipx800_spots_piscine
      - group.lumieres_terrasse
      - switch.chalet_lumiere
      - switch.ipx800_lumiere_jardin
      - cover.volets_salon
      - switch.neo_coolcam_lampe_mezzanine_onoff
      - sensor.oregon_thermometre_exterieur_temperature
      - switch.chacon_sapin_noel_onoff
      - script.alexa_tonds_la_pelouse
  entity_config:
    sensor.fibaro_piscine_temperature_abri:
      name: Abri piscine
    sensor.fibaro_piscine_temperature_eau:
      name: Eau piscine
    cover.ipx800_volet_piscine:
      name: Volet piscine
      display_categories: cover
    switch.ipx800_spots_piscine:
      name: Spots piscine
      display_categories: light
    group.lumieres_terrasse:
      name: Terrasse
      display_categories: light
    switch.chalet_lumiere:
      name: Chalet
      display_categories: light
    cover.volets_salon:
      name: Volets du salon
      display_categories: cover
    switch.qubino_spot_cuisine:
      name: Lampe de la cuisine
    sensor.oregon_thermometre_exterieur_temperature:
      name: Balcon
    switch.chacon_sapin_noel_onoff:
      name: sapin
    script.alexa_tonds_la_pelouse:
      name: Alexa tonds la pelouse
      display_categories: script

Enfin, il est intéressant de demander à Alexa des actions qui ne sont pas des mots réservés. Par exemple, j’ai « Alexa tond la pelouse », qui va déclencher le robot tondeuse.
Pour cela, j’expose un script script.alexa_tonds_la_pelouse.
Puis dans l’application Alexa, je créé une routine « Tonds la pelouse » avec :

  • Quand : la phase « tond la pelouse » est dite
  • Actions :
    allumer l’équipement « tond la pelouse » (exécute le script)
    dire « ok, démarrage de la tonte »

ps : peut être changer le nom du post en mettant par exemple « Gestion des noms et catégories dans Alexa » pour bien référencer les échanges sur ce sujet.

3 « J'aime »

Merci pour tes explications je vais essayer de faire pareille en full yaml pour voir ce que sa donne

Merci pour tes explications :slight_smile:

Je pense que le nommage est plus important, mais c’est clair que dans certains cas le nom que tu donnes et semble logique dans HA n’est pas forcément utilisable ou efficace dans Alexa.

Bien vu d’ajouter le point sur les routines c’est aussi important pour certaines choses, j’en ai aussi.

Idem que Argonaute, je copie colle un bout du yaml :

alexa:
  smart_home:
    locale: fr-FR
    endpoint: https://api.eu.amazonalexa.com/v3/events
    client_id: !secret client_id_alexa
    client_secret: !secret client_secret_alexa
    filter:
      include_entities:
        - switch.0xbc33acfffe591911_l1
        - switch.0x84fd27fffe3b1e9b
        - switch.0x847127fffe280d20
        - switch.lampe_dressing
        - switch.0xbc33acfffe4ff705_l1
      include_domains:
        - script
    entity_config:
      switch.0xbc33acfffe591911_l1:
        name: "Lumière du salon"
        description: "Lumière du salon"
      switch.0x84fd27fffe3b1e9b:
        name: "Lumière du jardin"
        description: "Lumière du jardin"
      switch.0x847127fffe280d20:
        name: "Lumière de devant"
        description: "Lumière de devant la porte de la maison"
      switch.lampe_dressing:
        name: "Lumière Dressing"
        description: "Lumière du dressing"
      switch.0xbc33acfffe4ff705_l1:
        name: "Imprimante"
        description: "Prise de l'imprimante"

L’IA gère pas trop mal avec les noms bien config.
J’inclus tout les script sans distinction et je créé des routines avec quand je dis ça, tu lance tel script (scène dans alexa).