jMQTT nouveau démon en BETA

:warning: Attention, pour ceux qui utilise déjà le MQTTS le dossier de stockage des certificats à changé de data/certs à data/jmqtt/certs :warning:

Pour info :
Je viens juste de faire la mise à jour depuis github et j’ai toujours cette erreur de pid.
Il faut à chaque fois passer par la ligne de commande pour résoudre le problème.

[2021-05-18 14:51:53][INFO] : Starting Daemon
[2021-05-18 14:52:03][ERROR] : Erreur sur la fonction deamon_start du plugin : Le port du démon python (1025) est déjà utilisé par le pid 14167 : python3 /var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py --plugin jMQTT --loglevel none --socketport 1025 --apikey XXXXXXXX --pid /tmp/jeedom/jMQTT/jmqttd.py.pid

Hello,
Que dois tu faire en ligne de commande ?
Dois-tu le faire à chaque mise à jour ou à chaque redémarrage du Daemon ?
Merci.

Les commandes sont :

~# ps -aux | grep jmqtt
www-data 14167  0.0  0.7  58724 30012 ?        Sl   mai18   0:07 python3 /var/www/html/plugins/jMQTT/resources/jmqttd/jmqttd.py --plugin jMQTT --loglevel none --socketport 1025 --apikey xxxxxxxxxxx --pid /tmp/jeedom/jMQTT/jmqttd.py.pid

~# kill -9 14167

Je viens de faire la dernière mise à jour et le problème ne s’est pas reproduit, c’est plutôt aléatoire.
Je vais surveiller ça pour essayer de reproduire l’erreur et te fournir toutes les infos.

Hello @alexp,
Oui, on a retravaillé les synchro des threads du daemon pour éviter ce type de souci.
Tu n’as pas eu de problème depuis ?

Quelqu’un a t’il le démon qui passe en boucle entre Online et Offline ?

[2021-05-25 10:56:14,486][ERROR ] : BrkId: 6392 : Unexpected disconnection from broker! [2021-05-25 10:56:14,488][INFO ] : BrkId: 6392 : Sending message to Jeedom : {"cmd":"connection","state":false} [2021-05-25 10:56:19,489][INFO ] : BrkId: 6392 : Connected to broker 192.168.0.101:1883

Broker sur un conteneur externe.

MQTT explorer connecté et ne rencontre aucune déconnexion

Bonsoir,
Dernière mise à jour de la beta OK sans réinstallation des dépendances, ni relance.
Bravo pour votre travail et surtout merci.

Par contre cela fait maintenant 5 mises à jour que j’ai les messages suivant dans le centre de message au redémarrage du démon:

Citation
||2021-05-25 19:40:13|jMQTT|on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry ‹ 38-Meteo:Cmd:RefreshTime › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert||2|
|—|—|—|—|—|—|
||2021-05-25 19:40:13|jMQTT|on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry ‹ 38-Meteo:Cmd:Cor:Temperature › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert|||
||2021-05-25 19:40:13|jMQTT|on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry ‹ 38-Meteo:Cmd:Cor:Humidity › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert|||
||2021-05-25 19:40:13|jMQTT|on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry ‹ 38-Meteo:Cmd:Cor:Pressure › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert|||
||2021-05-25 19:40:13|jMQTT|on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry ‹ 38-Meteo:Cmd:Cor:Altitude › for key ‹ unique › : INSERT INTO cmd SET id = :id, logicalId = :logicalId, generic_type = :generic_type, eqType = :eqType, name = :name, order = :order, type = :type, subType = :subType, eqLogic_id = :eqLogic_id, isHistorized = :isHistorized, unite = :unite, configuration = :configuration, template = :template, display = :display, value = :value, isVisible = :isVisible, alert = :alert|||

mais cela n’empêche pas le fonctionnement.
Quelqu’un a t il eu ce problème ?

Hello Sbo,

Tu es dans quelle version ?
On a fait des modifications sur les timers dans la dernière béta du « 2021-05-26 01:01:00 », peux-tu l’essayer ?
(Sinon il nous faudrait aussi les autres logs coté broker et global)
N’hésite pas à ouvrir une issue sur github si ça persiste : Issues · Domochip/jMQTT · GitHub

Merci

Hello PanoMyon,

Lors des tests que nous avons fait, nous n’avons pas du tout rencontré ce type de problème.

As-tu des logs coté jMQTT ? J’imagine que tu es sur la Beta ?
Une nouvelle version est sortie hier soir, je t’invite à passer le daemon et les brokers en DEBUG avant de faire la mise à jour pour prendre des traces supplémentaires.

Une autre piste serait de supprimer et recréer l’équipement « 38-Meteo », quelque chose doit être resté coincé entre les changements de version…

Dit-moi quand si tu as des news.

Bonne journée,
Bad

Merci @Bad,
oui je suis en beta, je passes tout les logs en beta puis je verrais à la prochaine mise à jour.
Merci pour ton aide.

Attention, passes les logs en DEBUG et redémarre le daemon quelques minutes avant de faire la mise à jour. jMQTT est très verbeux en debug (j’ai plus de 5Mo/j sur mon jeedom de dev).

Oui j’ai vu merci.
je suis de toute manière en train de refaire l’équipement pour voir aussi.

J’ai le même problème de temps en temps

on_mqtt_message raised an Exception : [MySQL] Error code : 23000 (1062). Duplicate entry '415-get' for key 'unique' : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert

Bonsoir,

Je tente l’aventure et je suis sur la bêta 2021-05-26 en relation avec zwavejs2mqtt.

Je ne trouve pas la commande pour stopper l’action d’un FGR-223. Est-ce que vous savez ?

Il faut envoyer 38/1/targetValue/set pour définir la position du volet ce qui semble correspondre à 38/1/0 sur le plugin Zwave.

Sur ce plugin Zwave le stop est adressé à 38/1/2 et j’ai lu ailleurs qu’il fallait passer un false mais ça ne fonctionne pas.

Une idée du bon topic et de la bonne valeur ?

Merci à vous.

Pour ZWave2Mqtt, ca donne ça :


par contre pour ZWaveJS2Mqtt je ne sait pas.
J’y passerais un de ces quatres mais ZWave2Mqtt fonctionne parfaitement pour moi

Merci Domochip je tente dans l’après midi. Par contre la façon d’envoyer ne fonctionne apparemment pas pareil car jMQTT ne récupère pas ce qui est indiqué dans la doc, il me faut du targetValue. Peut être la différence entre zwave2mqtt et zwavejs2mqtt mais comme je suis partie avec celui là je vais pas rechanger maintenant :wink:.

EDIT : @Domochip je confirme que ça ne fonctionne pas avec zwavejs2mqtt

J’ai essayé d’envoyer false avec « zwave/bureau/volet/38/1/2/set » ou « zwave/bureau/volet/38/1/2/targetValue/set » mais ça ne donne rien.

Voici un exemple de commandes d’un convecteur en zwavejs2mqtt qui marchent chez moi, si ça peut aider…

1 « J'aime »

Merci Domars, oui pour les commandes de ce type j’ai bien trouvé la façon de faire mais c’est le stop d’un module FGR-223 qui pose soucis car la commande n’est pas vraiment référencé dans le json (ou pas vu)

Je retente dans l’après midi et je vous redis ça.

Tu pourrais aussi activer temporairement MQTT Discovery, ça m’a permis de détecter (au bout de plusieurs heures) des nodes et leurs commandes, qui n’étaient pas apparus avant.

Ah ? Et les commandes apparaissent dans ce cas au niveau d’équipements pour lequel la création automatique de commande est encore cochée ?