J’ai un souci pour récupérer via une commande info une valeur produite sur sur le topic heartbeat/mqtt2/value (payload 1), dans uns commande info sur le même équipement
l’action est bien exécutée, et le topic apparait bien sous mqttexplorer (donc l’aciton fonctionne), mais impossible de faire remonter ce topic dans mqtt2
On n’a pas toute la config donc difficile de réponde:
root topic du plugin? je suppose que c’est jeedom38 ou jeedom42
root topic de l’équipement? je suppose que c’est heartbeat
de manière générale, un client ne va pas recevoir les messages qu’il publie sous mqtt (pas le plugin) donc il y a un trick dans plugin-mqtt2 pour cela: si le plugin publie sur un sous-topic du root topic du plugin, alors il regarde si un plugin à souscrit et fait le « loopback » comme s’il avait reçu un message du broker
=> ici tu publies sur « hearbeat » donc ca ne passe pas;
ironiquement, ca passerait si c’était un autre plugin qui le ferait via mqtt2
En passant, ce que je devine que tu essaies de faire, c’est déjà natif sous mqtt2: tu as les topic jeedom38/state et jeedom42/state qui sont des LWT donc il passeront à offline si plus connecté, tu n’as pas besoin de rajouter un heartbeat manuellement
Merci pour toutes ces infos ! ca semble correspondre au pb !
Mon cas d’usage, j’ai des equipements mqtt2 qui communiquent assez peu (seulement des equipements liés à des messages mqtt d’un KLF200, qui ne renvoie des infos qu’au chgt de position des volets), du coup, le heartbeat mqtt2 (celui du plugin) relance regulierement le demon car il n’a recu aucun message sur aucun des equipements :
ok je vois
mais le LWT ne va pas aider ici car le démon va toujours redémarrer car pas de nouveau message
ceci dit, pourquoi configurer le heartbeat avec redémarrage du démon ici sur le plugin?
De mon expérience, c’est assez stable et ca se reconnecte bien en cas de soucis donc je ne vois pas l’intérêt du redémarrage forcé par le core.
Mon point de vue sur ce heartbeat/redémarrage démon: ca ne doit être fait que s’il y a de réels cas ou le démon reste OK alors qu’en fait il est déco / ne fait plus rien (et qu’il n’est pas possible de corriger cela dans le plugin)