Conserver ID appareil Z2M dans home assistant

Bonjour à tous,

Petite question Z2M et HA.

J’ai eu quelque soucis a cause de mon équipement « Lixee - ZLinky » qui m’a tout planté :frowning:, j’ai dû pas mal débugger, faire plein d’action et me suis rendus compte que lorsqu’on ajoute un équipement sur Z2M, il est envoyé dans HA avec son numéro id IEEE, puis lorsqu’on change son « friendly name » ca change aussi le nom visuel dans HA mais pas l’id de l’entité (ex: sensor.0x00124b002517c1ba_humidity) et ca c’est top ! (il me semble même que c’est une recommandation des futures version de HA).

Par contre, quand on débuggue et fait plein de tests, j’ai un moment, rajouté tout mes modules dans Z2M, puis j’ai ajouté l’intégration MQTT dans HA, et là !!! ce n’est plus les id IEEE qui sont dans les id entité de HA mais le « friendly name » dans l’entité :open_mouth:, et la c’est moins cool, parce que faut tout changer dans HA, node-red etc ^^

Ma question c’est: comment faire (bien que j’espère ne plus avoir à faire tout ce cirque) pour que cela soit toujours l’id IEEE qui soit envoyé en tant qu’id entité et non le friendly name ?

Merci par avance :slight_smile:
Bon après-midi.

Hello @visvic

Je ne suis pas sûr de bien comprendre ton histoire mais personnellement je préfère renommer dans Z2M avec un friendly name et bien indiquer de renommer également l’entité dans HA:

Ça me permet par exemple de pouvoir changer d’ampoule quelque part et juste la renommer et pas devoir tout changer dans mes scripts, automatisations, dashboard etc.

Comment as-tu rajouté tes modules dans Z2M? Tu as effacé dans Z2M puis ré-appairé les modules?

faudrais que tu regarde dans le le dossier zigbeemqtt si tu as un fichier qui se nomme
coordinator_backup.json

dedans tu as les IEEE

SI JE PREND CELUI QUI FINI PAR 0077 CELA CORRESPOND A AMPOULE ENTREE

donc peux t’être faisable

@Nothing il peut voir l’adresse IEEE dans Z2M pour chaque appareil puis renommer l’appareil comme avant en updatant l’entityID d’HA:

Ce qui est bizarre c’est s’il a effacé les appareils et ré-appairés avec Z2M, ils auraient pas du prendre le friendly name car il est censé être effacé.

Sauf que le friendly_name est stocké dans le fichier device.yaml. Qui n’est pas effacé.
Et c’est bien pratique, parce que ça évite de renommer à chaque fois son module lors de l’appairage

Ok mais du coup HA devrait voir l’entity_id avec l’adresse IEEE et juste ajouter un friendly name et non pas changer l’entity ID.

@Pulpy-Luke t’as un exemple de comment c’est stocké dans le device.yaml. C’est bien dans HA ce fichier, pas dans Z2M ?

Il y a 2 choses :

  • Quand tu remommes un appareil le friendly_name s’ajoute dans le fichier.
    Accessoirement l’option renommer l’id est bien aussi (le nom IEEE dans les sensor, c’est pas humaine à l’usage).
    image
  • Quand le device est supprimer lors de l’appairage, le friendly_name s’il est retrouvé sert à faire à la fois le nommage de l’ID et du friendly_name. Et donc encore une fois exit les noms IEEE

Voilà un exemple, dans le rep de z2m

Hello,

Merci pour vos réponses et échanges :slight_smile:

@Cloom
je préfère renommer dans Z2M avec un friendly name et bien indiquer de renommer également l’entité dans HA:

Je suis bien d’accord aussi, mais mon défaut c’est que ma « convention » de nommage n’est jamais la même ^^, donc cela revient un peu au même dans la finalité.

@Cloom
Comment as-tu rajouté tes modules dans Z2M? Tu as effacé dans Z2M puis ré-appairé les modules?

oui oui … bon j’en ai que 10 dans un appart de 60m² donc ca va :stuck_out_tongue:

@Nothing j’avais bien ce fichier, mais dans tous les cas, en effet c’est le friendly_name qui est repris

En fait, je vois que je me suis clairement mal exprimé ^^ (moi même j’ai pas compris en me relisant)

  • On part du principe que Z2M et HA sont paramétré pour « causer »
  • Si j’ajoute un équipement depuis Z2M, il apparait immédiatement dans HA avec le nom IEEE.
  • Dans mon cas d’usage, dans Z2M je renomme que le friendly name et n’interviens pas sur « entite id » de HA
  • le nom de l’équipement de HA est changé mais pas son id entite
  • Si je supprime l’intégration MQTT de HA, tout est supprimé de HA
  • Si je réinstalle l’intégration MQTT de HA, il va redécouvrir a nouveau tout les topics en court mais dans ce cas avec le friendly_name de Z2M et non son IEEE.

@Pulpy-Luke je sais que l’IEEE n’est pas humain ^^ mais c’est le seul ID qui ne change jamais et me parait plus « fiable » dans le temps peu importe le friendly_name. Mais je suis bien d’accord, ce n’est absolument pas gérable (comme les IPv4 et pire IPv6, mais il y a les DNS pour ça :stuck_out_tongue: )

Intéressant, je ne savais pas. Après on est pas censé enlever et ajouter les mêmes devices tous les jours. C’est bon à savoir si un jour je veux faire un cleanup qu’il faut aussi garder un oeil sur le device.yaml.

Ahah on est tous pareils :wink:

Il semble donc que lorsque qu’un appareil a un friendly name, même s’il est déjà appairé, lorsqu’il va s’annoncer à un nouveau sytème via MQTT il va se présenter avec son friendly name.

Là on peut avoir des avis divergeants, comme déjà expliqué je préfère le friendly name. Imagine demain tu as des modules qui grillent, tu dois les remplacer, tu vas devoir mettre à jour l’entity ID partout dans Home Assistant.

Donc je pense que la réponse à ton post est non, on ne peut pas dire à Z2M d’utiliser l’adresse IEEE s’il y a un friendly name de donné à un appareil.

C’est discuté par ici avec quelqu’un qui a eu le même « problème » que toi:

Ça discute dedans d’utiliser des friendly name et d’y mettre également des / dedans, genre:

cuisine/plafond
cuisine/plan_de_travail
cuisine/frigo

Comme ça tu peux avoir tes appareils bien rangés. Mais ça va être moche dans home assistant :smiley:

1 « J'aime »

Ho my god tu m’a eu sur le module qui grille !!! :scream::scream:

+1000

Eh bonjour tous. Je suis débutant sur HA. Cette discussion m’interesse fortement. Vous discutez de normalisation ! Et c’est très important à mon sens.

Donc, si j’ai bien compris, j’ai un bouton Zigbee d’adresse IEEE 0x0015........... et comme nom simplifié j’ai choisi de l’appeler bouton1. Donc, quoi qu’il se passe dans HA, avec au pire ré-apareillage du bouton, les codages YAML que j’aurai écrit pour ce bouton fonctionneront toujours si dans le YAML je me sers de son Friendly bouton1?

Je suis sous HA OS 2024.6.1 mais je n’ai aucun fichier nommé device.yaml …

Bonjour,
par defaut , les modifications d’un appareil ce mets dans le configuration.yaml de Z2M.
Mais tu peux découper la configuration et te faire un device.yaml.

si tu veut découper la configuration:
image
faut ajouter ces lignes dans le configuration.yaml de Z2M

devices:
  - devices.yaml

créer un fichier devices.yaml dans le dossier de Z2M.

Salut @WarC0zes . J’ai organisé un temps soit peu mon /config/configuration.yaml avec le mot clé !include.

Dans /config/zigbee2mqtt/configuration.yaml, ne dois-je pas mettre plutôt :

devices: !include devices.yaml

et dans mon device.yaml mettre :

 "0xxxxxxxxxxxxxx":
    friendly_name: bouton1
  "0xxxxxxxxxxxxxx":
    friendly_name: bouton2

?
Je ne comprends pas pourquoi tu ne mets pas le mot clé !include et que tu mets juste :

devices: 
 - devices.yaml

Non, c’est différent.

Extract config to separate files

Usually devices and groups are specified as objects within the configuration.yaml but it is also possible to extract the configuration into separate files.

# Define the files which contains the configs 
devices: devices.yaml
groups: groups.yaml
# devices.yaml 
'0x00158d0001d82999':
  friendly_name: 'my_occupancy_sensor'

Hmmmm @WarC0zes. Merci beaucoup, je vais essayer de voir pourquoi c’est différent. Merci. :slight_smile:

Beh c’est des devs différent, et celui de Z2M a voulu faire comme ca :sweat_smile:
C’est bien ecris dans la DOC de Z2M.

Z2M, ne fais pas partie de Home assistant !

D’accord. Bien compris. Je te remercie.