JMQTT - Problème commande Action

Bonjour
J’ai installé JMQTT sur Jeedom 3.3.45, Mosquitto sur Windows.
Je teste le fonctionnement de MOSQUITTO avec les clients Mosquitto_Pub et Sub, MQTT.

J’ai un problème de compréhension des commandes Action de JMQTT.

J’ai créé deux équipements JMQTT : le premier abonné au topic racine general/#, le second à un topic fils : general/moteur/#
Dans les deux équipements j’ai créé trois commandes info à partir des JSON recus :
Topic : general/moteur
Valeurs : {«attAction» : « 120000»} {«durAction» : « 15600 »} {«Etat» : « 1 »}.
Elles sont correctement affichées dans les équipements JMQTT sur le dashboard

J’ai créé un virtuel avec 3 commandes pour modifier les valeurs . Je souhaite publier ces valeurs par MOSQUITTO.
Cela fonctionne avec MQTT (commande action). Les nouvelles valeurs sont reçues et affichées dans MQTT et les deux équipements JMQTT et mosquitto_sub.

Sous JMQTT quand je crée une commande Action dans un équipement (par exemple Moteur) pour publier le topic general/moteur avec la valeur {« attAction »:"#[Mosquitto][vMoteur][msattAction]#"} , la commande information general/moteur{attAction} de cet équipement ne se met plus à jour : elle ne semble plus recevoir aucun message ni de JMQTT, ni de MQTT ni de mosquitto_pub. Les autres équipements MQTT et JMQTT et client Mosquitto reçoivent bien la nouvelle valeur.

Si je crée la même commande Action dans un troisième équipement, qui n’est rattaché à aucun topic et qui ne contient pas de commande info, tout fonctionne correctement. Le message est reçu par tous les équipements et clients mosquitto abonnés.

Ce fonctionnement est il normal ?

Merci de votre aide

PS : je viens de m’apercevoir que si je clique sur le Bouton JSON la value affichée de l’info attAction est correcte, par contre sur le bouton Classic elle est restée à l’ancienne valeur. C’est celle la qui est affichée sur le dashboard

Nouvel utilisateur je ne peux joindre de fichier
ci dessous une copie de l’export json des équipement

Equipement Moteur1 sans commande action
« name »: « jmqMoteur1 »,
« eqType_name »: « jMQTT »,
« configuration »: {
« type »: « eqpt »,
« brkId »: « 44 »,
« createtime »: « 2020-04-15 09:03:14 »,
« auto_add_cmd »: « 0 »,
« Qos »: « 1 »,
« api »: « enable »,
« updatetime »: « 2020-04-16 07:13:26 »,
« previousIsEnable »: « 1 »,
« previousIsVisible »: « 1 »
},
« cmd »: [
{
« eqType »: « jMQTT »,
« name »: « Attente Action »,
« type »: « info »,
« subType »: « string »,
« isHistorized »: « 0 »,
« configuration »: {
« topic »: « couveuse/moteur1{attAction} »
},
« template »: [],
« display »: {
« invertBinary »: « 0 »
},
« isVisible »: « 1 »,
« alert »: []
},

Duplication équipement moteur1 et ajout de commande Action

"name": "jmqMoteur1AvecAction",
"eqType_name": "jMQTT",
"configuration": {
    "type": "eqpt",
    "brkId": "44",
    "createtime": "2020-04-16 07:09:51",
    "auto_add_cmd": "0",
    "Qos": "1",
    "api": "enable",
    "updatetime": "2020-04-16 07:12:16",
    "previousIsEnable": "1",
    "previousIsVisible": "1"
},

« cmd »: [
{
« eqType »: « jMQTT »,
« name »: « Attente Action »,
« type »: « info »,
« subType »: « string »,
« isHistorized »: « 0 »,
« configuration »: {
« topic »: « couveuse/moteur1{attAction} »
},
« template »: [],
« display »: {
« invertBinary »: « 0 »
},
« isVisible »: « 1 »,
« alert »: []
},
{
« eqType »: « jMQTT »,
« name »: « MAJ 1 »,
« type »: « action »,
« subType »: « other »,
« isHistorized »: « 0 »,
« configuration »: {
« topic »: « couveuse/moteur1 »,
« request »: « {« attAction »: »#215#"}",
« retain »: « 1 »,
« prev_retain »: « 1 »
},
« template »: [],
« isVisible »: « 1 »,
« alert »: []
}

Equipement Mise a jour seule
{
« name »: « Maj Actions Moteur1 »,
« eqType_name »: « jMQTT »,
« configuration »: {
« type »: « eqpt »,
« brkId »: « 44 »,
« createtime »: « 2020-04-15 20:25:53 »,
« auto_add_cmd »: « 0 »,
« Qos »: « 1 »,
« api »: « enable »,
« updatetime »: « 2020-04-15 22:14:49 »,
« previousIsEnable »: « 1 »,
« previousIsVisible »: « 1 »
« cmd »: [
{
« eqType »: « jMQTT »,
« name »: « Maj Attente Action »,
« type »: « action »,
« subType »: « other »,
« isHistorized »: « 0 »,
« configuration »: {
« topic »: « couveuse/moteur1 »,
« request »: « {« attAction »: »#215#"}",
« retain »: « 0 »,
« prev_retain »: « 0 »
},
« template »: [],
« isVisible »: « 1 »,
« alert »: []
}
]
},

Bonjour
Personne ne semble intéressé par la question?
Je peux essayer de la résumer :
Puis je mettre dans un équipement JMQTT une commande Info et une commande Action qui gérent le même topic l’une en Sub l’autre en Pub?
ou dois je faire 2 équipement ?
Merci

Bonjour @jjmasc,
il suffit de créer une action qui publie sur le Topic en information.
voici un exemple que j’utilise pour une led rouge avec l’équipement JMQTT LEDR.

Tout est là https://domotruc.github.io/jMQTT/fr_FR/#onglet-commandes

Bonne journée

merci de votre réponse
Je viens de faire fonctionner votre exemple avec un peu de difficulté
J’ai créé la commande info, LEDR, les deux commandes actions avec le lien vers l’info LEDR.
Au premiers essais cela ne fonctionnait pas , pourtant le log montrait la publication du message ON et OFF , que je recevais avec mosquitto-sub
J’ai supprimé la commande info, suis passé en mode ajout automatique de commande, refait le lien des commandes actions vers la commande info et là ca fonctionne
Je vais vérifier dans mon contexte réel
en tout cas merci

J’ai reproduit l’anomalie.
J’ai recréé une équipement avec une value numérique simple. Cela fonctionne
Je suis ensuite passé en format JSON, j’ai supprimé la commande mère (comme dit dans la doc)
La commande info conserve la valeur du test précédent et ne se met pas à jour.
Par contre si je clique sur le bouton JSON je vois la nouvelle valeur dans le champ value
bouton Classic


bouton JSON

N’y a t il pas un problème de syntaxe ? ici


il manque la fin du json #} les ‹ value › d’un equipement commencent et finissent par un #

le champ est trop petit pour tt afficher
{« attAction »:"#[Mosquitto][vMoteur][msattAction]#"}
c’est une valeur saisie dans un virtuel pour donner une consigne à un arduino

Je suis en train de tester j’ai le même problème que vous
je vois bien le changement avec MQTTBox mais pas dans la fenêtre de définition de l’équipement.
Pour résumer:
-topic envoyé depuis MQTTBox Ok dans MQTTBox KO dans déf équipement avec le bouton tester.
-topic envoyé depuis déf équipement OK dans MQTTBox KO dans déf équipement avec bouton tester.
je fouine car j’oublie un truc c’est pas possible…

Désolé je n’y arrive pas je doit louper un truc
mais il est vrai que les json avec jmqtt je les décodent car sur mes ESP j’ai un topic par commande et un topic qui sert d’ACK qui me retourne un état complet en json, et ça fonctionne très bien, je n’envoie jamais de commande en json.

Par contre le broker reçoit bien la commande c’est le topic ‹ information › (celui qui lit) qui ne se met pas à jour.

Je fouine les logs pour voir je ne comprends pas

[2020-04-17 17:20:40][INFO] : ← test_json|test/test {« attAction »:« a1112 »}
[2020-04-17 17:20:40][INFO] : → test_json|test_attAction « a1112 »

il publie bien mais ça ne remonte pas !
Là je sèche pour ce soir la nuit porte conseille si quelqu’un peut venir en aide à @jjmasc ? et par la même éclairer ma lanterne ?

et si on duplique l’équipement 2 fois avec 1 équipement et publication( commande action seule) et un équipement en souscription (commande info seule) ca fonctionne
Au pire je vais faire comme çà avec un seul équipement pour les commandes actions , rattaché à aucun topic

Bonjour pas besoin ça fonctionne la nuit porte bien conseil !
je suis donc parti sur ça test/test {« attAction »:1112 } 1112 numérique. Mais ça fonctionne pour du non numérique.
Création de l’équipement JMQTT suivant:


avec les infos et commandes

et un virtuel
image
avec les informations et commandes

ValeurLuTmp est là pour passer l’information à la commande de l’équipement JMQTT
il faut cliquer la roue cranté de la commande ValeurAMettre et ajouter
image
et voici le resultat sur le dashboard
image image
et sur le broker via MQTTBox
image

bonne continuation.

merci
j’essaie ça

Avantage en passant par un temporaire vous avez vraiment dans l’information le retour du broker, donc la prise en compte de celui ci de la consigne envoyée.

je viens de tester
ca marche pour la mise a jour des commandes infos
à partir du virtiuel ou d’une commande action dans un autre équipement
mais
la commande action test_attaction ne provoque toujours pas de mise à jour de l’info att_action
et le message est pourtant bien recu par mosquitto_sub (par exemple)
par contre le message recu n’est plus du JSON ce qui m’ennuie un peu. il est de la forme test/test1{attaction} 216000 au lieu de test/test1{« attaction », « 216000 »}
je pense que c’est lié au changement de format de la value
Mais cette version me va bien , les commandes actions dans le même équipement et je ferai un bouton pour déclencher effectivement la mise à jour

ps
une question de débutant : c quoi MQTTBOX
si ca peut m’éviter les lignes de commande pour voir ce que recoit et publie le broker, ce serait cool !!!

c’est un logciel pour s’abonner un broker publier et lire des topics.
https://www.microsoft.com/fr-fr/p/mqttbox/9nblggh55jzg?activetab=pivot:overviewtab

merci :ok_hand:

Désolé ca ne marche tjrs pas
j’ai tout recommencé et je suis ds même état qu’hier


Virtuel

JMQTT

et je lis bien 2100000 sur les clients autres
image

oui ca fonctionne
mais regardez ID20 et 21 ça ne vous pose pas un souci
commande id 21 fait action sur information id20 sans valeur …