MQTT: Récupération des informations exposées dans le topic `<ip>/zigbee2mqtt/#` par un ESP8622

Bonjour,

Je ne sais pas si mon message est au bon endroit.

Je suis entrain de coder pour un ESP8622, car je voudrais faire un petit tableau de bord avec des diodes pour remonter quelques informations présentes dans mon Jeedom.

J’arrive bien à récupérer les infos MQTT des topics suivants:

  • /jeedom/cmd/event/
  • /zigbee2mqtt/bridge

Mais je n’arrive pas à récupéré les infos qui sont dans : /zigbee2mqtt/machine_a_laver

Plus globalement, j’ai l’impression de ne pas pouvoir récupérer les infos de tous les appareils qui sont dans /zigbee2mqtt

PS: je récupère toutes les infos MQTT grâce au petit logiciel MQTT Explorer.

Avez-vous déjà eu les même problèmes?

Salut

Quel plugin pour zigbee2mqtt ?

Que veux-tu dire par la?

Antoine

Je n’utilise pas de plugin.

Pour connaitre tous les topics MQTT exposé par Jeedom, j’utilise MQTT Explorer.
image

Du coup pour le moment je récupère bien les infos publié dans le topic: <ip>/jeedom/cmd/event

Bout de code pour l’affichage des message venant des abonnements:

  • MqttClient.subscribe(« zigbee2mqtt/# »);
  • MqttClient.subscribe(« jeedom/# »);
void callback(char* topic, byte* payload, unsigned int length) {
  Serial.print("Message recu [");
  Serial.print(topic);
  Serial.print("] : ");

  // Copier le payload dans un buffer
  char message[length + 1];
  memcpy(message, payload, length);
  message[length] = '\0';

  Serial.println(message);
Attempting MQTT connection...connected
Abonnement au topic Machine a Laver OK
Abonnement au topic Seche Linge: OK   
Message recu [jeedom/state] : online
Message recu [zigbee2mqtt/bridge/state] : online
Message recu [jeedom/cmd/event/1093] : {"value":0.08,"humanName":"[Bureau][Ecl Bureau Greg][Courant]","unite":"A","name":"Courant","type":"info","subtype":"numeric"}
Message recu [jeedom/cmd/event/1076] : {"value":"2025-06-24 19:38:19","humanName":"[Bureau][Ecl Bureau Greg][Dernière communication]","unite":"","name":"Dernière communication","type":"info","subtype":"string"}
Message recu [zigbee2mqtt/bridge/groups] : []
Message recu [zigbee2mqtt/bridge/extensions] : []
Message recu [jeedom/cmd/event/1076] : {"value":"2025-06-24 19:38:24","humanName":"[Bureau][Ecl Bureau Greg][Dernière communication]","unite":"","name":"Dernière communication","type":"info","subtype":"string"}
Message recu [jeedom/cmd/event/1093] : {"value":0,"humanName":"[Bureau][Ecl Bureau Greg][Courant]","unite":"A","name":"Courant","type":"info","subtype":"numeric"}


Ci-dessus, tu peux voir que je reçois [zigbee2mqtt/bridge/*] mais jamais de message des appareils.

Ce que j’aimerais c’est d’accéder aux infos qui sont dans le topic: <ip>/zigbee2mqtt/

J’ai l’impression que ce topic est mis à jour par le plugin JeeZigbee.
Le problème c’est que même si mon programme est abonné aux topics, Jeedom ne semble pas avertir de nouveaux messages.

Question:

Réponse:

Plus loin dans le message:

Tu utilises jeezigbee donc…

Elles sont normalement accessibles, la preuve tu les voies sous mqttexplorer, mais il faut que l’abonné au topic ai le bon user et mot de passe, à minima. Comment as-tu configuré ton mqtt sous esp32?

Antoine

La question ne concerne pas vraiment jeedom puisque c’est à propos de programmation d’un esp donc j’ai déplacé le post.

Sans répondre au pourquoi ca ne fonctionne pas pour zigbee, pourquoi avoir besoin ?
Si zigbee remonte déjà dans jeedom et que la publication des events jeedom a été activé, alors tout va arriver sur jeedom/cmd/event

Désolé pour le temps de réponse.

Oui j’ai JeeZigbe d’installer.

Pour me connecter sur le serveur MQTT, j’utilise l’ID et le mot de passe présent dans les paramètres du plugin MQTT Manager:

  • ID = jeedom
  • PW =

Pour répondre @Mips, mon but est de faire un petit Dashboard simple pour me remonter l’utilisation de prise commandé en ZigBee.

En gros Mme veut savoir dans sa cuisine quand la machine à laver tourne ou pas. :yum:

Effectivement je vois passer tous les évènements dans le topic jeedom/cmd/event. Mais du coup on ne capte que un changement d’état, et pas un état stable. Ainsi dans le cas du démarrage de l’ESP, je ne peux pas récupérer les états, et je dois attendre un changement pour avoir l’info. Vu que se que je souhaites comme information ne changement pas très souvent, ce n’est pas efficace.

PS: Si le code de l’ESP vous intéresse je peux vous le fournir.

Salut, peux être qu’il faudrait modifier ton script esp32 pour qu’il interroge tous les x temps les topics, voir même déjà au boot. Toi tu fais une exécution sur changement de valeur. Si tu l’as loupé ben je dirais avec humour pas de bol. Si ça peut aider

Est-ce que le mode « retain » est activé pour le topic en question. Normalement si cette option est activée, quand un nouveau client se (re)connecte au broker, ce dernier renvois les infos qui on cet attribut.

Mais heu, plutot que d’intercepteur les messages mqtt c’est pas plus simple de demander à jeedom de te générer le message du dashboard ?
J’ai l’impression que tu te compliques beaucoup pour pas grand chose la