Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Plugin jMQTT

Retrouvez ici des sujets concernant le protocole MQTT et les modules domotiques de type MQTT utilisés avec JEEDOM
/!\ Plugin MQTT non officiel
Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 16 févr. 2019, 09:40

Il n'y rien d'anormal dans ton fichier.
Pour t'aider, il me faut vraiment les éléments que j'ai demandés dans ma toute 1ère réponse.
domotruc
Plugins jMQTT, jElocky
domotruc.com

coolfunk
Timide
Messages : 30
Inscription : 30 nov. 2018, 12:41
Localisation : Essonne

Re: Plugin jMQTT

Message par coolfunk » 16 févr. 2019, 13:09

Voici mon fichier debug.

Encore merci
Pièces jointes
jMQTT.zip
(813 octets) Téléchargé 21 fois

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 16 févr. 2019, 14:28

jMQTT souscrit le topic zigbee2mqtt/#.
Tout semble ok côté jMQTT.
Par contre on voit que zigbee2mqtt/bridge/state est offline. C'est normal?
domotruc
Plugins jMQTT, jElocky
domotruc.com

coolfunk
Timide
Messages : 30
Inscription : 30 nov. 2018, 12:41
Localisation : Essonne

Re: Plugin jMQTT

Message par coolfunk » 17 févr. 2019, 11:05

Bonjour domotruc,

tout semble fonctionner pour le moment.
En cherchant sur le forum j'ai trouvé que Romanais donnait les étapes pour son installation et en tapant cette ligne de commande en SSH

sudo journalctl -u zigbee2mqtt.service -f

J'avais un problème de droit d'écriture sur le répertoire /opt/zigbee2mqtt/, jai donc lancé la commande

chmod -R 777 /opt/zigbee2mqtt

Pour le moment cela fonctionne bien ,même si parfois je ne sais pas pourquoi mais parfois je n'ai pas de mise à jour de température et en regardant via la 1ere commande, il n'y a plus de communication depuis quelques minutes.
Et juste en appuyant le bouton du capteur cela relance le tout.
Comme si le capteur se mettait en veille au bout de quelques instants.

cvdenzen
Timide
Messages : 8
Inscription : 15 févr. 2019, 00:50

Re: Plugin jMQTT

Message par cvdenzen » 17 févr. 2019, 19:06

domotruc a écrit :
15 févr. 2019, 07:08
cvdenzen a écrit :
15 févr. 2019, 01:10
(..)
Hi Carl,
We can do it in english if you prefer, even if your french is not so bad at all ;)

This is the normal behaviour : one single command by topic. The value gives the status (on or off). If you make the equipment and the command visible on your dashboard, you will see the transition between on and off.

I will publish an update of the plugin this week-end that will display the refresh of the value in the equipment page
Je ne comprends pas comment je pourrais changer un variable (p.e. statusLampAchterdeur) quand les messages mqtt sont reçus.
(mon français n'est pas parfait, je suis néerlandais).
Carl.
I do not understand that point. Could you clarity and explain your need?
Have a good day.

Hi Domotruc,

Thank you for your reply. My setup is totally based on mqtt. What I want to realize is a light that reacts on a pir (movement) sensor. But that mechanism should only be triggered when the light is off. The state of the light is published by pilight and a self written Apache-Camel/ActiveMQ program. The state of the light is published in the mentioned topic with payload on or off. The pir movement scenario (that turns the light on and, after one minute, off) should only be activated if the light is off. Otherwise the light will unintentionally be turned off after one minute of pir movement. That is where I need the current state, i.e. the latest mqtt value received, on the lamp state topic. I thought the easiest way would be to set a variable on receiving the on and off message, and then using that variable in the pir scenario. I hope I have made clear what I want to do, and hope you have a solution.
Vriendelijke groet,
Carl

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 18 févr. 2019, 20:49

Hi Carl,
The info command storing the "f0/kaku_switch_old/state/3/0" topic should be directly accessible from your scenario, there is no need for an intermediate variable.
domotruc
Plugins jMQTT, jElocky
domotruc.com

cvdenzen
Timide
Messages : 8
Inscription : 15 févr. 2019, 00:50

Re: Plugin jMQTT

Message par cvdenzen » 18 févr. 2019, 21:49

domotruc a écrit :
18 févr. 2019, 20:49
Hi Carl,
The info command storing the "f0/kaku_switch_old/state/3/0" topic should be directly accessible from your scenario, there is no need for an intermediate variable.
Thank you, now I understand. I was a bit confused by the value ("valeur") field in the info command ("on" , because that was the first command received by the jMQTT equipment). Indeed no need for a variable. It is even simpler than I thought!

weado
Timide
Messages : 206
Inscription : 15 janv. 2017, 22:19

Re: Plugin jMQTT

Message par weado » 19 févr. 2019, 19:03

weado a écrit :
08 févr. 2019, 13:59
Bon, suite à un échange avec Loic74 dans cette discussion (viewtopic.php?f=96&t=39063&p=695489#p695449) je comprend mieux mon erreur :
Même si on est dans topic sous Jeedom (dans mon cas mqtt_display), il est nécessaire d'indiquer le chemin complet du topic pour que celui-ci soit intégré dans le broker.
Ce qui donne : Capture-2019-02-08-1.png
Bonjour,

Je me permet de revenir sur le sujet ci-dessus. En réalité, j'ai bien mon topic qui est alimenté comme je le veux (conso, temp_ext...), mais le problème, c'est qu'il remonte/recréer automatiquement dans jMQTT quand je suis en mode inclusion comme un nouvel élément. Pourtant j'ai bien un topic déjà nommé mqtt_display, dans lequel j'ai ma commande, comme on peut le voir précédemment le topic complet

Code : Tout sélectionner

mqtt_display/temp_ext
dans mon cas.

Cela parle à quelqu'un ?

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 20 févr. 2019, 07:11

Bonjour weado,
Ce point est expliqué dans la doc, peut être de manière insuffisamment claire, au paragraphe 3.1, dans la note d'information.
domotruc
Plugins jMQTT, jElocky
domotruc.com

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 20 févr. 2019, 07:15

Bonjour,
Une nouvelle version du plugin est disponible : elle améliore la robustesse aux déconnexions intempestives du broker pour ceux qui expérimente ce type de problème : si la connexion au broker tombe, jMQTT reconnecte immédiatement, sauf en cas de déconnexion en boucle où le plugin attendra 15s entre chaque tentative de reconnexion.

Je vais maintenant travailler sur le support multi broker.
domotruc
Plugins jMQTT, jElocky
domotruc.com

weado
Timide
Messages : 206
Inscription : 15 janv. 2017, 22:19

Re: Plugin jMQTT

Message par weado » 20 févr. 2019, 15:53

Bonjour Domotruc,

Merci pour l'information. Malheureusement, tu expliques qu'il ne faut pas rester en mode inclusion longtemps pour éviter la création de nouvelle commande.
Après, il n'est pas rare (surtout en ce moment où je découvre beaucoup et merci encore ) que je souhaite inclure de nouveau équipement, ce qui me me crée par la même occasion l'ensemble des équipements que je ne souhaite pas.

Une question pour être sur : ayant suivi la procédure afin que Jeedom puisse envoyer au broker des informations dans un même topic(mqtt_display), est-il normal que jMQTT me crée, pour chacune des commandes (temp_ext, conso...)du topic, un équipement par commandes ?

Merci bien et nickel la nouvelle version ;-)

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 20 févr. 2019, 19:24

Bonjour weado,

Il m'est difficile de répondre à ta question sans connaître tes topics, il faudrait que tu m'en fournisses la liste. Le log du plugin aiderait également.

Concernant l'inclusion automatique, la doc dit :
A réception d’un message auquel aucun équipement n’a souscrit, le plugin crée automatiquement un équipement associé au topic de premier niveau.
Si tu es dans ce cas, alors c'est normal.

L'autre solution peut être la création manuelle d'équipement si tu connais les topics à inclure.
domotruc
Plugins jMQTT, jElocky
domotruc.com

weado
Timide
Messages : 206
Inscription : 15 janv. 2017, 22:19

Re: Plugin jMQTT

Message par weado » 20 févr. 2019, 20:26

Dans mon cas, je veux que ma température et ma consommation soient publiées dans mon broker depuis Jeedom pour que d'autres clients récupèrent les informations. Voici la façon dont j'ai réaliser la configuration côté Jeedom pour publier les informations :

Voici mon topic :
topic.jpg
topic.jpg (41.87 Kio) Consulté 1895 fois
Et les commandes associées :
commande.jpg
commande.jpg (46.44 Kio) Consulté 1895 fois
Avec le log en mode debug :

Code : Tout sélectionner

[2019-02-20 20:19:03][INFO] : <- mqtt_display|mqtt_display/temp_ext 5.6
[2019-02-20 20:19:03][DEBUG] : Publication du message mqtt_display/temp_ext 5.6 (pid=10801, qos=1, retain=1)
[2019-02-20 20:19:03][DEBUG] : Message publié
[2019-02-20 20:19:07][INFO] : <- mqtt_display|mqtt_display/conso 0.46
[2019-02-20 20:19:07][DEBUG] : Publication du message mqtt_display/conso 0.46 (pid=10693, qos=1, retain=1)
[2019-02-20 20:19:07][DEBUG] : Message publié
Et quand je suis en mode inclusion, j'ai 2 nouveaux topic qui sont crées :
new_topics.jpg
new_topics.jpg (79 Kio) Consulté 1895 fois
J'espère avoir été le plus clair possible et merci de ton aide.

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 20 févr. 2019, 21:23

C'est beaucoup plus explicite :)
Et je pense comprendre ce qu'il se passe.
Dans tes essais tu as dû passé par une étape où les topics des commandes étaient conso et temp_ext au lieu de mqtt_display/conso et mqtt_display/temp_ext.
Comme ils étaient "retain", le broker les as conservés et les publie à tout nouveau client souscrivant à ces topics.
Lorsque tu passes en mode inclusion, jMQTT souscrit à #, i.e. à tous les topics. Le broker lui publie alors les topics conso et temp_ext. Ces topics n'étant pas connus de jMQTT, le plugin crée les nouveaux équipements.

Pour confirmer cette hypothèse, ouvres une console et tapes la commande:

Code : Tout sélectionner

mosquitto_sub -h localhost -t "#" -v| xargs -d$'\n' -L1 bash -c 'date "+%Y-%m-%d %T.%3N $0"'
Tu devrais voir les topics en question.

Pour les supprimer, remplace temporairement le topic mqtt_display/conso par conso, sauves, décoches retain, sauves, et remet le topic initial. Procèdes de même pour temp_ext.

Il me semble que je ne mettrais pas ces topics en retain. Si Jeedom tombe, il vaudrait mieux que le broker arrête de publier les valeurs plutôt que publier les dernières reçues qui sont fausses.
domotruc
Plugins jMQTT, jElocky
domotruc.com

weado
Timide
Messages : 206
Inscription : 15 janv. 2017, 22:19

Re: Plugin jMQTT

Message par weado » 21 févr. 2019, 11:07

@domotruc : Merci beaucoup pour ton retour, car effectivement, c'est quelque chose que j'avais fait au début et jamais supprimé.

Toutes mes excuses de t'avoir sollicité pour des boulettes comme ça, mais maintenant tout est clean...

Pour information, pour supprimer des topics persistent, voici la commande :

Code : Tout sélectionner

mosquitto_pub -h localhost -t conso -u username -P password -r -n
Merci !

manumdk
Actif
Messages : 502
Inscription : 23 mars 2015, 23:49

Re: Plugin jMQTT

Message par manumdk » 21 févr. 2019, 19:41

Salut,
Si tu as créé trop de topic devenu orphelin avec des valeurs en Retain, je te conseille d’effacer toutes les valeurs en retain .
Sur ton serveur qui héberge ton broker :

Code : Tout sélectionner

    sudo service mosquitto stop
    sudo rm /var/lib/mosquitto/mosquitto.db
    sudo service mosquitto start
A+

latwingo
Actif
Messages : 504
Inscription : 24 nov. 2014, 10:58
Localisation : Cagnes Sur Mer

Re: Plugin jMQTT

Message par latwingo » 03 mars 2019, 19:05

Bonsoir à tous les amis

J ai reçu hier mes modules shelly RGBW2 qui s intègrent de suite à jeedom via le plugin jmqtt

J ai réussi à crée l ensembles des commandes on off et les divers curseurs pour les couleurs le blanc et le gain
Mon seul souci est avec les sliders qui ce limite de 0 à 100 maxi hors les modules ont besoin d'un slider de 0 à 255 j ai réussi à contourner le problème avec un virtuel qui intègre la fonction valeur mini maxi pour un curseur

Serai t il possible d'ajouter cette fonction dans le plugin jmqtt pour les valeurs des sliders ou il a t il un autre moyen de pouvoir faire varier un curseur de 0 à 255 sans passer par un virtuel

Par avance merci de votre aide je vous mets la commnde pour la couleur bleu

Topic shellies/shellyrgbw2-ID MODULE/color/0/set
Valeur {"blue": #slider#,}

Après vous remplacer blue par red pour le rouge green pour le vert white pour le blanc et gain pour la luminosité le topic reste le même

Bien à vous Philippe ;) ;)

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 04 mars 2019, 21:04

Bonjour latwingo,
Il suffit d'éditer les paramètres avancées de la commande slider (la roue crantée à gauche du bouton Tester), d'aller dans l'onglet Affichage et d'ajouter minValue et maxValue dans la section Paramètres optionnels widget.
Je vais l'ajouter dans la doc.
domotruc
Plugins jMQTT, jElocky
domotruc.com

vince_007
Timide
Messages : 60
Inscription : 13 nov. 2016, 10:15

Re: Plugin jMQTT

Message par vince_007 » 04 mars 2019, 22:04

Bonsoir,

Je n'arrive pas à décoder un message json, les 2 API sont bien activées, dans les logs, je vois la réception d'une payload de 15 octets mais en données j'ai : [object object].

Est ce que ça vient du plugin ou du broker qui émet la donnée, sachant que le périphérique est en cours de dev, c'est une pompe à chaleur.

Avatar de l’utilisateur
domotruc
Timide
Messages : 254
Inscription : 23 févr. 2018, 08:35
Contact :

Re: Plugin jMQTT

Message par domotruc » 04 mars 2019, 22:59

vince_007 a écrit :
04 mars 2019, 22:04
Bonsoir,

Je n'arrive pas à décoder un message json, les 2 API sont bien activées, dans les logs, je vois la réception d'une payload de 15 octets mais en données j'ai : [object object].

Est ce que ça vient du plugin ou du broker qui émet la donnée, sachant que le périphérique est en cours de dev, c'est une pompe à chaleur.

Bonsoir,
Pourrais-tu donner ce que vois la commande suivante lancée sur la machine hébergeant ton broker:

Code : Tout sélectionner

mosquitto_sub -h localhost -t "#" -v| xargs -d$'\n' -L1 bash -c 'date "+%Y-%m-%d %T.%3N $0"'
domotruc
Plugins jMQTT, jElocky
domotruc.com

Verrouillé

Revenir vers « [Plugin Tiers] MQTT »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités