Récupération automatique des entités de Jeedom dans HA 👌

Suite du sujet Perdu dans mqtt :

Pour plus de clarté ouverture d’un sujet …

Salut…
Un truc assez bisar, mais ce que dit la doc pour la découverte auto:
« Après le premier message à config, les messages MQTT envoyés à la rubrique d’état mettront à jour l’état dans Home Assistant. »

  • Configuration topic: homeassistant/ICI le type de sensor/ICI le nom du topic/config

  • State topic: homeassistant/ICI le type de sensor/ICI le nom du topic/state

  • Payload: {« name »: « nom », « device_class »: « la classe voulue », « state_topic »: « homeassistant/ICI le type de sensor/ICI le nom du topic/state »}

QUI PERMET DE RECUPERER DANS HA DIRECTEMENT

Du coup dans JMQTT de Jeedom, j’ai fais le test avec un sensor avec la classe « Power » et aussi un autre avec la classe « temperature »

  1. Le broker étant configuré vers HA avec [Adresse du broker de HA] et [Authentification du MQTT de HA]

  2. On ajoute un équipement vers ce broker ( pour le suivre plus facilement j’ai inscris au topic « homeassistant/sensor/jeedom/# »

. 2a).Aprés on ajoute des commandes action dans l’onglet commandes
image
Choisir un nom, il faudra deux noms pour envoyer les « payload » une fois sur config une fois sur state [avec le topic voulu]
Exemple : j’ai garder le même initiale du nom « Consommation Maison » une fois « Config » et autre « State » [ seulement pour s’y retrouver]


La partie topic est rempli avec un coup « config » et autre « state »
Ici « homeassistant/sensor/jeedom/conso/ » pour le topic

Maintenant dans la partie « payload » il faut indiquer la classe, le nom, l’ID unique, le topic, son unité de mesure, et sa value [ que l’on récupère d’un équipement] ici d’un Shelly pour le test.

{"device_class": "power", "name": "Energie Consommation Maison", "unique_id": "Energie_Consommation_Maison", "state_topic": "homeassistant/sensor/jeedom/conso/state", "unit_of_measurement": "W", "value_template": #[SHELLY][Secteur MQTT][emeter:0:power]# }

Les espaces ne sont pas obligatoires, le « payload » passe quand même !, mais c’est la syntaxe !
Les 2 commandes auront le même « payload » bien sûr !
Pub auto doit être coché .image
Puis sauvegarder image

L'exemple

Si vous avez cocher « Ajout automatique des commandes » dans l’onglet équipement
image
Normalement les infos [ une config et une state] devraient être créé lors de la mise à jour de l’équipement ou appuie sur Testerimage
Avec le « payload » formaté ici récupération de la valeur de conso :


Qui devrait ce mettre à jour seule.
Cette info n’est pas obligatoire ne sert que pour vérifier le message !

De là retour vers HA

et si le broker est bien configuré, on devrait récupérer nos identités directement sans faire de « yaml »
Une petite recherche pour la retrouver , on a le nom et l’id. [attention unique ID, pas de doublons]


Moi j’ai "Energie Consommation Maison"image

Ici avec un indice 2 ( du au différent test)
« Energie Consommation »… « Maison sensor.consommation_energie_maison_2 »…« MQTT »
Clic sur le sensor
On voit bien notre sensor créé automatiquement venant de Jeedom
Si on va sur image
ici la courbe d’enregistrementimage

ET VOILA ! Un peu long, mais c’est bon :shushing_face:

Peut être réalisé pour tout type de « Sensors » ou « Entities with command topics »

@+DoM(Ô¿Ô)

Bonjour…

Quelques précisions:

  • Si on veut récupérer les historiques de notre identité qui avait était créé dans un fichier « yaml »,
    il faut que celui créé dans JMQTT de Jeedom ai le même name et unique_id, idem si vous aviez un icone essayé de mettre le device_class correspondant , le unit_of_measurement peut être précisé (il faut mieux pour certaine device_class), n’oublier pas de mettre vos identités du fichier fichier Yaml en commentaire # ou effacé les.

Partie du Yaml

  • Si vous voulez que votre identité face partie d’un groupe Appareils, il faut renseigner une partie du payload avec device, qui contiendra son ident, nom, fabricant, modèle et pièce ( il faut la connaître). Pour plus d’info voir la partie développeur io de HA .

:point_down:

@+DoM(Ô¿Ô)

Bonne idée d’avoir ouvert ce post :slight_smile:

J’ai repris la configuration de l’équipement Jeedom qui cette fois devrait être bonne. Je penche plus pour un souci dans la config des connexion au brocker. J’ai comme l’impression qu’il ne communique pas vraiment au même endroit

j’ai vu que dans la configuration de l’équipement broker j’avais
image

alors que dans HA, j’ai un truc du style:
image

ou

image

ou

image

Je remet ton post ici

Résumé

Bonjour,

Merci beaucoup pour le temps que tu as passé à rédiger, c’est une mine d’or.

Personnellement le broker est sur la machine jeedom, mais je ne pense pas que cela change la donne.
J’ai configuré l’intégration mqtt pour qu’elle pointe sur le broker en question.

En voici les paramètres au cas où ces derniers ne seraient pas les mêmes chez toi.

image

image

quand je lui demande d’écouter sur un topic issue de Jeedom, j’ai bien la réponse attendue.

voici ma conf jMQTT sous jeedom
1 brocker
Onglet équipement

Onglet Broker

Un équipement rattaché ( j’en ai un autre fonctionnant avec le fichier configuration.yaml)
Onglet équipement

Onglet commande
J’ai créé la commande action suivante:

après avoir lancé un test (utilisation du bouton tester), j’ai une commande info qui s’est crée toute seule sous jeedom:

Donc je pense pouvoir dire que l’option récupération auto fonctionne.

Maintenant, coté HA, je ne trouve pas la commande action « ouverture_fenetre_parents »

J’ai dû louper quelque chose dans tes explications. J’y retourne :slight_smile:

Vraiment merci beaucoup pour ton aide

NE TOUCHES PAS A TA CONFIG DANS HA

Ne coches pas et ne mets pas de nom dans Client ID, il faut modifier le fichier du Broker de HA sinon !

Pas d’obligation de faire !

Il faut que la liaison soit OK, comme toi !


Par contre adresse du broker ? tu es sur même ? Moi sur autre système, avec autre adresse [celle de HA]

ICI PAS BON
image
TOPIC DOIT ETRE" homeassistant/sensor/ et le nom que tu veux"

ok j’ai décoché Client-Id dans l’équipement broker de jMQTT
J’ai relancé la connexion semble fonctionnelle.

Pour l’adresse du brocker c’est la bonne il est installé sur le serveur Jeedom.


c’est le topic qu’il faut que tu changes !

PS: des fois j’ ajoutes info dans message précèdent

Comment tu as configuré Mosquito sur HA ? OK j’ai vu !

Est-ce que tu as

Alors j’ai pas MQTTExplorer mais MQTTBox

du moment que tu vois le trafic sur le courtier ! et sur HA écouter le sujet !

Je viens de voir qu’il manquait un e dans ma conf jeedom homassistant au lieu de homeassistant j’ai corrigé

OK attention au topic effectivement!
il faut la partie:
« homeassistant/sensor/ et ce que tu veux »

Regarde aussi le « payload » que tu as mis dans équipement créé

OK donc j’ai balayé l’ensemble de la configuration jeedom pour modifier le topic bancal

Sous HA j’ai mi l’intégration en écoute sur homeassistant/sensor/jMQTT/buanderie/ouverture_porte/config

j’obtiens bien une réponse quand je clique sur le bouton tester de jeedom

mais pas de nouvelle entité de crée

Voici le payload:

{"device_class": "battery", "name": "ouverture_fenetre_parents", "unique_id": "ouverture_fenetre_parents_batterie", "state_topic": "homeassistant/sensor/jMQTT/buanderie/ouverture_porte", "unit_of_measurement": "%", "value_template": #[Aucun][Fenetre Parents][Batterie]#}

montre ton onglet commandes…
PAS BON le payload et le topic à mon avis tu n’as pas mis config et state

Le payload erreur il manque le « /state » en fin dans l’adressage du topic
image

Une autre question subsidiaire pourquoi dis-tu qu’il faut doubler une commande? j’avoue ne pas comprendre

c’est pour la découverte automatique justement !

alors j’ai ajouté /state au 2 équipements

Voici les topic corrigés
config

{"device_class": "battery", "name": "ouverture_fenetre_parents", "unique_id": "ouverture_fenetre_parents_batterie", "state_topic": "homeassistant/sensor/jMQTT/buanderie/ouverture_porte/state", "unit_of_measurement": "%", "value_template": #[Aucun][Fenetre Parents][Batterie]#}

state:

{"device_class": "battery", "name": "ouverture_fenetre_parents", "unique_id": "ouverture_fenetre_parents_batterie", "state_topic": "homeassistant/sensor/jMQTT/buanderie/ouverture_porte/state", "unit_of_measurement": "%", "value_template": #[Aucun][Fenetre Parents][Batterie]#}

j’ai recliqué sur tester mais toujours pas de remontée