Comment utiliser jMQTT avec TTN (IoT)

Regarde en ajoutant une commande info avec le même topic auquel tu ajoutes :

{payload_fields}{b1}

Salut, merci pour ta réponse.
Comme cela? J’ai essayé dans une nouvelle et dans une existante. Dans l’existante, ca ne fait pas de différence que je clique sur test

As-tu eu une nouvelle trame qui est arrivée ?

Oui pardon en effet, une trame viens juste d’arriver et il y a bien une valeur!! Coool
Donc il faudrait que je créé autant d’action que des variables que je veux récupérer?
J’ai 4 variables par station. Il faudrai alors que je créée

st1-1 info/autre buds/device/st-1/up {payload_fields}{b1}
st1-2 info/autre buds/device/st-1/up {payload_fields}{b2}
st1-3 info/autre buds/device/st-1/up {payload_fields}{b4}
st1-4 info/autre buds/device/st-1/up {payload_fields}{b4}

st2-1 info/autre buds/device/st-2/up {payload_fields}{b1}
st2-2 info/autre buds/device/st-2/up {payload_fields}{b2}
st2-3 info/autre buds/device/st-2/up {payload_fields}{b4}
st2-4 info/autre buds/device/st-2/up {payload_fields}{b4}

etc…

ou est-ce que je peux les additionner du genre

st1 info/autre buds/device/st-1/up {payload_fields}{b1}{payload_fields}{b2}{payload_fields}{b3}{payload_fields}{b4}

Il te faut autant de commande info que de valeur à récupérer.

OK, merciii

1 « J'aime »

J’aurais encore une question si je peux me permettre

La valeur actuel est de 41. En fait c’est des degré et je le multiplie par 10 pour conserver la virgule. Il faudrait que je le redivise par 10 pour avoir la valeur initial.

J’ai essyaé ceci qui ne marche pas

st1 info/autre buds/device/st-1/up {payload_fields}{b1}/10

est-ce qu’on peut le faire à ce niveau? Avec des caratères d’échapement? Ou je dois traiter ceci *plus loin"

Il faut passer par un virtuel.

Encore mercue Jeandhom

J’ai donc créé un virtuel puis une commande à ce virtuel de type info/numérique et comme valeur, j’ai donné la commande de type info/numérique que j’ai créé hier soir. J’ai ajouté la division par 10, et ca me retourne bien ce que je souhaite

#[SmartBuds][mqtt_buds][devices:st-1-b1]#/10

Ce qui m’interpelle est pour arrivé à mes fins, je dois créer deux commandes quasi identique.

  1. dans Plugins → Protocole domotique → jMQTT → Equomenet → Commande → commande info #[SmartBuds][mqtt_buds][devices:st-1-b1#
  2. Dans mon virtuel, he crée quaisment la meme commande #[SmartBuds][mqtt_buds][devices:st-1-b1#/10

On ne peut pas faire plus simple sans créé une commande dans mon equipement JMQTT (comme je l’ai fait hier soir)?

Depuis mon virtuel, J’ai essayé ceci pour une autre station dont je n’ai pas créé de commande depuis mon équipmement JMQTT (ce que j’ai fais hier soir pour la station 1, et j’ai ajouté {payload_fields}{b1}

#[SmartBuds][mqtt_buds][devices:st-2:up]#{payload_fields}{b1}

J’ai essyé de mettre avant le #.

Est-ce que c’est une muavais piste et je dois rester avec deux commandes, une dans l’équipement jMQTT et une dans mon virtuel, ou y-aurait-il une piste pour faire plus simple

Mercii

#[SmartBuds][mqtt_buds][devices:st-2:up]#{payload_fields}{b1}

ceci me retoune un message d’erreur

[MySQL] Error code : 22001 (1406). Data too long for column ‹ value › at row 1 : REPLACE INTO history SET cmd_id=:cmd_id, datetime=:datetime, value=:value

ce qui pourrait indiquer que le filtre {payload_fields}{b1} ne se fait pas assez tôt, non?

C’est le #plugin-jmqtt qui décode le JSON.
Le #plugin-virtual ne doit pas savoir le faire.
Pour arriver à tes fins, je ne vois pas d’autre solution que de te créer une fonction php dans le fichier user.function.class.php qui serait appelée par ton virtuel et qui aurait pour tâche de décoder le JSON et de renvoyer la valeur qui t’intéresse.

Salut @Jeandhom,
Merci encore pour ta réponse. J’aimerais bien érudier cette piste,
J’ose encore te demander ou je le trouve?
J’ai trouvé ceci

/var/www/html/data/php/user.function.class.php

s’agit-il bien de ce fichier ou dois-je installer le plugin-script ?
Est-ce qu’il y a des informations que je pourrais trouver pour que mon virtuel appelle bien ce script?
Pourrais-tu m’en dire un peu plus?

[Edit] Je vous que le lien que tu m’a mis dans un autre post m’apporte des info que je suis en train d’étudier

Merci pour ton aide et bonne soirée!

Je pense que je t’ai donné toutes les informations dont j’ai connaissance.

Il faut maintenant que tu commences par la base (ne pas brûler d’étape).

Tu dois aussi pouvoir trouver plein de sujets sur le Community.

https://community.jeedom.com/search?q=user.function.class.php

Avec Jeedom, il y a toujours plusieurs façons d’arriver à ses fins, je n’avais pas pensé au plugin-script.

Donc, tu as au moins deux pistes.

Si tu bloques sur un point particulier, n’hésite pas à ouvrir un autre sujet, il y aura plein de personnes pour t’aider.

D’accord merci

Bonjour,
J’ai du travailler sur autre chose, mais je reviens sur ce theme jMQTT.
Ne me souvenant plus exactement comment j’avais fait, j’ai refait l’opération et j’ai profiter pour documenter mes actions : jMQTT et TTM
Si vous avez quelque chose à ajouter, c’est wekcome