Lien MQTT avec Home Assistant

Bonjour,

Je bataille avec le plugin mqtt2 pour remonter des informations en provenance de Home Assistant vers Jeedom.

Je pense que la configuration HA est fonctionnelle. J’ai le plugin MQTT installé, j’ai MQTT Statetream de configuré.

J’ai configuré évidemment le broker distant comme étant Jeedom, je n’ai pas d’erreur de connexion ou de publication.

base_topic: homeassistant
publish_attributes: true
publish_timestamps: true
include:
entities:
- sensor.prise_eve_energy_puissance
- binary_sensor.eve_motion_20eby9901_occupation

Dans Jeedom, j’ai créé un objet racine « homeassistant » du nom topic de base.
image

J’ai créé des commandes infos :

Je vois bien le broker recevoir les messages de MQTT HA via MQTTx connecté sur le broker jeedom. Mais je ne vois pas Jeedom réagir quand je le laisse gérer les messages.
Je ne sais pas trop comment on fait pour voir les messages reçus et comprendre comment il les traite, s’il les filtre, s’il y a des problèmes de type ou de template, bref pourquoi il ne les gère pas.

Je pense avoir suivi les consignes de la documentation et faire ce qu’il faut. J’ai réussi à faire marcher les commandes infos, mais uniquement en faisant depuis Home Assistant des appels à des topics jeedom et non homeassistant, donc en modifiant via un set la commande info.

Si jamais je fais quelque chose de travers ou si vous avez des idées de ce qui ne va pas, n’hésitez pas à me le dire !

J’ai essayé aussi la fonction découverte, sans succès, rien n’y est listé.

Merci !

Informations Jeedom Atlas

Core : 4.4.6 (V4-stable)
DNS Jeedom Atlas : oui

Plugin : MQTT Manager
Version : 2024-03-26 01:21:05 (stable)
Statut Démon : Démarré - (2024-06-02 21:05:10)

Salut,

Peux-tu montrer un exemple de ce que tu as comme message dans /homeassistant?
et est-ce que c’est toi qui a choisi ce nom ou c’était une valeur par défaut?

Voici un exemple de ce qui est reçu par le broker jeedom sur le sujet homeassistant/#


Message 13 reçu sur homeassistant/binary_sensor/eve_motion_20eby9901_occupation/friendly_name à 14:20 :
"Eve Motion 20EBY9901 Occupation"
QoS: 0 - Retain: true
Message 12 reçu sur homeassistant/binary_sensor/eve_motion_20eby9901_occupation/device_class à 14:20 :
"occupancy"
QoS: 0 - Retain: true
Message 11 reçu sur homeassistant/binary_sensor/eve_motion_20eby9901_occupation/last_changed à 14:20 :
2024-06-10T06:56:58.720107+00:00
QoS: 0 - Retain: true
Message 10 reçu sur homeassistant/binary_sensor/eve_motion_20eby9901_occupation/last_updated à 14:20 :
2024-06-10T06:56:58.720107+00:00
QoS: 0 - Retain: true
Message 9 reçu sur homeassistant/binary_sensor/eve_motion_20eby9901_occupation/state à 14:20 :
off
QoS: 0 - Retain: true
Message 8 reçu sur homeassistant/sensor/prise_eve_energy_puissance/friendly_name à 14:20 :
"Prise Eve Energy Puissance"
QoS: 0 - Retain: true
Message 7 reçu sur homeassistant/sensor/prise_eve_energy_puissance/device_class à 14:20 :
"power"
QoS: 0 - Retain: true
Message 6 reçu sur homeassistant/sensor/prise_eve_energy_puissance/unit_of_measurement à 14:20 :
"W"
QoS: 0 - Retain: true
Message 5 reçu sur homeassistant/sensor/prise_eve_energy_puissance/state_class à 14:20 :
"measurement"
QoS: 0 - Retain: true
Message 4 reçu sur homeassistant/sensor/prise_eve_energy_puissance/last_changed à 14:20 :
2024-06-10T12:20:52.934153+00:00
QoS: 0 - Retain: true
Message 3 reçu sur homeassistant/sensor/prise_eve_energy_puissance/last_updated à 14:20 :
2024-06-10T12:20:52.934153+00:00
QoS: 0 - Retain: true
Message 2 reçu sur homeassistant/sensor/prise_eve_energy_puissance/state à 14:20 :
39.9000015258789
QoS: 0 - Retain: true
Message 1 reçu sur homeassistant/action à 14:20 :
do
QoS: 0 - Retain: true
Message 0 reçu sur homeassistant/test à 14:20 :
1
QoS: 0 - Retain: true

Le contenu, dans ce cas ci, c’est comme pour jeedom et son topic, c’est homeassistant qui génère topic et structures des messages.

Je ne comprend rien à ce que tu as donné, ca sort d’où?

je voudrais voir le contenu des topics, c’est pas ce que tu donnes
tu n’as pas une capture de mqtt explorer par exemple?

et tu n’as pas répondu à ça:

c’est toi qui a choisi de publier dans le topic racine homeassistant ou c’était proposé par défaut? je ne parle pas du contenu, ca c’est la première question.

Ce sont les messages MQTT reçus lorsqu’on les demande via un autre listener, que ce soit le listener de test homeassistant, ou via un outil comme mqttx.

Le topic racine est bien homeassistant et c’est ce qui est suggéré comme configuration par défaut pour le plugin statestream de Home Assistant.

J’ai changé le topic racine de valeur, je lui ai mis « ha » et de ce que j’ai pu tester jusqu’à présent ça semble fonctionner.

Probablement que HA utilise homeassistant comme topic pour lui même comme jeedom utilise le sien, il faut que je creuse ça, mais dans ce cas je ne comprends pas bien pourquoi leur documentation recommande cette valeur .
Si jamais quelqu’un a l’info ou une petite expérience de la chose, ça m’intéresse!

1 « J'aime »

Non si c’était proposé alors je suppose que c’était correct.
Le topic homeassistant est par contre traditionnellement réservé à l’auto-discovery. Les infos publiées là ne sont pas les données mais les méta-données: tout ce qui permet à un système de comprendre quelles types d’info et d’actions existent.
Ces infos et actions utilisent d’autres topics (n’importe lequel, chacun le sien).
L’auto-discovery est un protocole mis au point par homeassistant.

Plein de systèmes son compatibles: zigbee2mqtt, zwavejs, omg/theengsgateway, sonos2mqtt, nuki, tydom, myfox mais aussi MG par exemple. Il existe des dizaines voir des centaines d’intégrations probablement.
Et jeedom également via plugin-mqttdiscovery

@Mips le plug-in MQTT Explorer semble aussi supporter la découverte automatique, est-ce bien de cela que tu parles quand tu parles d’auto-discovery?
Qu’apporte de plus le plugin mqttdiscovery?

Je ne connais pas de plugin « mqtt explorer »; mqtt explorer c’est une application pour ordi: https://mqtt-explorer.com/
Et elle ne gère pas l’ « auto-discovery »


Pourquoi me tag pour cette question??

Je voulais écrire MQTT Manager désolé! (Comme j’étais en train d’utiliser justement MQTT Explorer ma langue a fourché.)

Je te taggais car voulais comprendre l’intérêt (i.e. les fonctionnalités) de ton plug-in avant éventuellement de l’acheter.

Je cherche à pouvoir récupérer facilement des équipements gérés d’un côté par le plug-in z2m (JeeZigBee) sur Jeedom dans Home Assistant et vice versa.

Coté Jeedom tu utilises le plug-in MQTT Manager ou MQTT voire jMQTT?

J’ai le même besoin que toi, mais j’utilise déjà MQTT Manager pour ma synchro déquipement entre 2 jeedoms.

Là je cherche un moyen de récupérer des équipements z2m qui sont sur une instance HA mais publiés sur le même broker que celui de mon Jeedom

Bonjour ,
J’utilise JMQTT pour Jeedom et j’ai installé Zigbee2mqtt sur HA .
Ca fonctionne très bien car Zigbee2mqtt publie vers Jeedom
Tu dois créer un équipement sous JMQTT ( ou MQTT Manager ) la base du topic est :
zigbee2mqtt/ suivi du nom de ton matériel enregistré sous Z2m

Tu peux creer on , off , toggle par exemple , ou variation …

1 « J'aime »

Ok merci!

Il faut forcément que je crée un nouvel équipement avec jMQTT ou MQTT Manager, l’auto-découverte ne fonctionnera donc pas?

Oui pour JMQTT , tu crée et actualise la commande , pour MQTT Manager je sais pas je n’utilise pas .

j’ai oublié mais vérifie aussi ta config sous HA :
pour moi c’est : ( j’ai masqué les MP )

Côté HA z2m mes équipements sont bien publiés sur le topic zigbee2mqtt:

Côté jMQTT j’ai crée cela:

Dans jMQTT j’ai le message suivant qui apparait en bas de la page :

La commande Prise conso NOUS est ajoutée à l’équipement Prise NOUS HA.

Mais je ne vois pas d’état se mettre à jour?

tu peux copie ecran de la page principale de config de ta prise sous JMQTT

Le topic de ton équipement doit etre :

zigbee2mqtt/Prise conso NOUS/#

Tu enregistres , puis tu actualise l’équipement
vérifie aussi que ton équipement Zigbee n’est pas en sommeil
Sous JMQTT 1 équipement va être découvert avec toutes les infos que tu vois sous MQTT explorer
Suite à cela tu cliques sur JSON en haut droite à coté de classic , toutes les valeurs vont être séparé et c’est à ce moment là que tu pourra choisir manuellement tes valeurs , dont le retour d’état .
Tu ne dois pas le créer au départ en manuel .

Voilà ce que j’ai après refresh et en passant en affichage JSON :

Est-ce normal?

Il semble avoir créé un sous-objet du nom de l’équipement avec les informations de l’équipement dedans…

Ais-je mal paramétré quelquechose?

Sous MQTT Explorer, il a créé un sous-topic ‹ set › :

Avec la valeur ON car j’ai essayé d’exécuté la commande ‹ On › de l’équipement jMQTT…

D’habitude les valeurs sont plutôt
set = {« state »:« ON »} non?

Parfait , sur les lignes vierge à gauche : Nom de la commande
tu valides ce que tu veux comme entité , tu écris par exemple : Etat ,pour la ligne zigbee2mqtt/Prise conso NOUS [state] et tu sauvegardes en haut à droite .
Tu verra que l’état sera actif , tu peux recommencer cette manipulation pour toutes les autres valeurs qui t’intérresse .

le sous topic set c’est parce que tu as d’ abord créer en manuel tes commandes avant ;
tu peux aussi supprimer l’info état du départ

1 « J'aime »