Plugin jMQTT
Re: Plugin jMQTT
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.
Pour t'aider, il me faut vraiment les éléments que j'ai demandés dans ma toute 1ère réponse.
Re: Plugin jMQTT
Voici mon fichier debug.
Encore merci
Encore merci
- Pièces jointes
-
- jMQTT.zip
- (813 octets) Téléchargé 22 fois
Re: Plugin jMQTT
jMQTT souscrit le topic zigbee2mqtt/#.
Tout semble ok côté jMQTT.
Par contre on voit que zigbee2mqtt/bridge/state est offline. C'est normal?
Tout semble ok côté jMQTT.
Par contre on voit que zigbee2mqtt/bridge/state est offline. C'est normal?
Re: Plugin jMQTT
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.
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.
Re: Plugin jMQTT
domotruc a écrit : ↑15 févr. 2019, 07:08Hi 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 pageI do not understand that point. Could you clarity and explain your need?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.
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
Re: Plugin jMQTT
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.
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.
Re: Plugin jMQTT
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!
Re: Plugin jMQTT
Bonjour,weado a écrit : ↑08 févr. 2019, 13:59Bon, 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
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
Cela parle à quelqu'un ?
Re: Plugin jMQTT
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.
Ce point est expliqué dans la doc, peut être de manière insuffisamment claire, au paragraphe 3.1, dans la note d'information.
Re: Plugin jMQTT
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.
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.
Re: Plugin jMQTT
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
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
Re: Plugin jMQTT
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 :
L'autre solution peut être la création manuelle d'équipement si tu connais les topics à inclure.
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 :
Si tu es dans ce cas, alors c'est normal.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.
L'autre solution peut être la création manuelle d'équipement si tu connais les topics à inclure.
Re: Plugin jMQTT
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 :
Et les commandes associées :
Avec le log en mode debug :
Et quand je suis en mode inclusion, j'ai 2 nouveaux topic qui sont crées :
J'espère avoir été le plus clair possible et merci de ton aide.
Voici mon topic :
Et les commandes associées :
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é
J'espère avoir été le plus clair possible et merci de ton aide.
Re: Plugin jMQTT
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:
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.
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"'
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.
Re: Plugin jMQTT
@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 :
Merci !
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
Re: Plugin jMQTT
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 :
A+
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
Re: Plugin jMQTT
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
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
Re: Plugin jMQTT
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.
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.
Re: Plugin jMQTT
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.
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.
Re: Plugin jMQTT
vince_007 a écrit : ↑04 mars 2019, 22:04Bonsoir,
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"'
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 0 invité