Depuis quelques jours j’ai des dizaines, centaines, milliers de messages de ce types que je vide tous les jours.
C’est arrivé sans manipulation particulière de ma part que je sache.
comment corriger ceci sans supprimer tous mes équipements pour refaire les entrées en BDD proprement ??
Alors il semble que si on refait le broker cela corrige le pb mais aucune certitude la dessus et surtout cela refait des commandes sur des topics que l’on ne souhaite pas et on monte le compteur des ID inutilement
J’espère que la base des ID est infini sinon je vais casser la baraque
Merci de l’aide que vous pouvez apporter à la résolution de ce problème
Mais on ne nous a pas donné de traces précises, donc si tu veux bien on va regarder ça ensemble.
Déjà, peux-tu m’en dire plus sur ton materiel et tes versions (Jeedom, jMQTT) ?
(RPI 4 - 64Bits : Jeedom 4.1.19 3 RPI3B+ dans ton profil, mais j’imagine que ce n’est pas à jour)
Quels autres plugins utilises-tu ? (snapshot page Santé)
De combien d’équipements et de cmd disposes au total dans Jeedom ? (voir « Résumé domotique »)
Combien as-tu d’équipments jMQTT ? (snapshot page équipements jMQTT)
Tu vois quelque chose d’autre en erreur dans les logs ?
Pas de nouvel ajout d’équipement sur Jeedom? ou de machine sur le réseau ?
Pas de mise à jour de quelque plugin de ce soit ? ou du système ?
Pas de restauration ? de reboot ?
Pas de script ou de modification en live sur la BDD ?
Rien d’autre qui tourne sur la même machine que Jeedom ?
Absolument rien ?
Normalement il suffit de désactiver l’ajout automatique de commandes (regarde la Solution du 1er lien un plus haut).
Avant de planquer le problème sous le tapis, pourrais-tu stp mettre tout jMQTT en débug (plugin et brokers), redémarrer le daemon et prendre des traces de ce qui se vautre ?
Puis m’envoyer tous les logs jMQTT et les logs autres logs pertinents, ici ou en message privé, car ce n’est pas « normal » et il nous faut des traces pour investiguer.
Non, il n’est pas improbable que refaire l’équipement puisse solutionner, mais pas le broker.
On voit bien dans les messages que tu as envoyé que le problème semble lié à une collision entre les commandes : 3219-Garage:ECL_Garage:113:1:Power_Management:Load_error_status et 3219-Buanderie:Impr_3D:status.
Je te suggère chaudement d’utiliser des noms de commande moins longs, car des problèmes existent avec les noms trop longs. La limite était encore à 45 caractères il y a 2 ans, 127 caractères depuis).
Non elle ne l’est pas, mais tu as encore de la marge, car le max est 2147483647, l’id de cmd étant déclaré comme (SIGNED) INT.
Merci de ton retour
A la vue de la liste de courses il me faudra un peu plus que le trajet de métro pour répondre et construire la réponse mais c’est bien noté.
En attendant j’ai quand même résolu le problème en créant des broker dédié pour mon Zwavejs2mqtt et Shelly afin de ne pas être polué du reste.
J’ai donc changé tout mes équipements de broker et plus de messages
Je vais néanmoins partager toutes les réponses et questions sur le sujet pour faire avancer le sujet.
Alors effectivement j’ai profité pour en faire la mise à jour
NUC8i5BEH avec un VM 32Go et 4Go de RAM
Jeedom dans sa dernière version stable
Pour les plugin j’ai ceux ci en actif
Dans jMQTT je dispose du zwavejs2mqtt (27) et de mes Shelly (2)
Tiens d’ailleurs j’en profite pour te demandé une amélioration pour simplifier le comptage c’est de mettre entre paranthèse le nombre d’équipement au niveau de chaque broker comme nous l’avons sur pas mal de plugin
Pour les log je te donne le fichier directement c’est tout le même code sauf la dernière ligne qui doit être lié à la mise en place de mes deux broker (même IP mais filtré sur un topic en particulier). Oui j’ai bataillé un peu car j’avais pas filtré au début. jMQTT_log.txt (283,3 Ko)
J’ai ajouté 2 capteurs Xiaomi sur z2m mais non lié à jMQTT mais à zigbeelinker
si je ne me trompe pas c’est les mises à jour du mois de mai
Aucun système autre que jeedom et les plugin associé
Même pas mosquitto qui est indépendant
Après je ne sais pas te dire absolument rien mais j’ai rien mis moi de mon coté
mode debug fait sur jMQTT
pas de broker sur cette VM donc pas de debug (en tout cas je ne sais pas le récupérer sur ma VM dédiée)
Oui je comprends ça aussi mais j’ai lu sur comunity que le fait de changer de broker sur l’équipement pouvait corriger le pb.
Donc j’ai refait mes broker pour les filtrer puis sur chaque équipement j’ai changé le broker associé
J’avais commencé par tester en refaisant de 0 l’équipement mais pas viable il faut refaire les widget, les virtuels, les scénarios etc…
ça mets à mal toute mes règles de nommage pour savoir exactement parmi tous mes équipements où je suis et la nature de l’équipement
Je suis quand même loin des 127 caractères à moins que l’on compte toute la chaine #[Salon][PC_Salon_Lampadaire][Consommation]#
Bon voilà j’espère que j’ai tout répondu c’est dense mais je pense que tout est là
Aucun problème pour moi tu as le temps que tu as besoin
Il semble que le contournement que j’ai fait fonctionne donc plus de pollution de message chez moi
C’est pour toi et pour le plugin pour corriger la faille et ajouter le nombre d’équipements par broker entre parenthèses
J’ai eu le même souci
Conf #plugin-mqtt2 pour installer un docker mqtt sur #plugin-docker2 #plugin-zigbee2mqtt qui est connecté au broker mosquitto si dessus #plugin-vlxmqtt, idem #plugin-jmqtt connecté au broker ci-dessus, sur lequel je gère mes Shelly (une 10aine).
Alors que tout semblait marcher, j’ai eu ces messages sur jmqtt pour tous mes Shelly. Pour les supprimer, j’ai désactivé la création automatique des commandes.
Je ne pense pas que les modifications que tu as fait puissent être responsables du bug.
Par contre, pendant la maj du Core, il est possible que le daemon php n’ait pas pu récupérer les commandes existantes et donc que l’inclusion automatique soit parti en vrille ensuite en tentant de générer des commandes déjà existantes.
Merci, fait dans la dernière Béta (nombre en début de ligne) :
Dans les logs, il y a visiblement d’autres commandes en collision mais toutes avec l’équipement 3219, peux-tu me faire une capture d’écran des commandes de cet équipement stp ?
Je regarde pour augmenter la verbosité dans la beta lors de on_mqtt_message raised an Exception.
Super dommage que ce soit pas comme le standard des autres plugin mais en terme de wording cela se tient bien
Alors j’ai cherché dans mon résumé domotique la commande 3219 mais il n’y en a pas du tout !
C’est peut être la cause du coup !
Autre idée d’amélioration au niveau de la barre de recherche qui est tout en haut
Est-il possible de faire comme sur les autres plugin afin d’avoir la aussi du standard une barre de recherche plus au niveau de chaque broker suivant les flèche rouge ou sinon si c’est une barre pour tout au niveau de la flèche bleu ? C’est du visuel et du parcours souris mais important je trouve je suis toujours en train de la chercher cette barre de recherche
Tu as désactivé « Ajout automatique des commandes » sur tes équipements ?
Normalement ça stop le pb.
Le « Nettoyage de la base de données » lance le script cleaning.php qui est assez intensif sur la BDD.
A mon sens, il ne devrait pas être lancé sans avoir au préalable désactivé tous les scenarios et les plugins, il consulte et modifie trop de choses à la volée, mais ces désactivations ne sont pas implémentées dans le script…
Pour ce qui est du problème de fond ([MySQL] Error code : 23000 (*). Duplicate entry), serais-tu à l’aise pour passer sur la [EDIT: branch beta] ?
Le daemon php y est supprimé et les retours que j’en ai à date sont très bon.
Je viens de corriger, mais cela ne semble pas du tout efficace ou alors j’ai des milliers de message en attente ! je suis à 25500 messages depuis mon message de ce matin !
edit : plus de message c’est ok il a fallur que j’enregistre de nouveau cette équipement
Possible mais pas de mise en garde particulière sur ce que tu expliques, et depuis 3 ans que je suis Jeedom c’est pas la 1ère fois que je le fais sans dommage particulier. Mais je prends le conseil sans souci.
Je ne sais pas si je suis à l’aise sur le passage sur la branche dev, je ne l’ai jamais fait.
Je suis juste en version béta parfois si c’est ce que tu entends je peux basculer oui
Ravi que tes logs ne se remplissent plus vitesse grand V !
Non, il s’agit bien d’une autre branche, de dev justement, encore avant la beta
Je vais voir avec Domochip sous combien de temps on peut la passer en beta. J’ai de toute façon encore 4-5 chose à y intégrer avant de faire les tests fonctionnels en profondeur. De plus, il y a déjà eu une grosse maj semaine passée, donc je ne voudrais pas que les utilisateurs aient l’impression de devoir tout le temps upgrader…
Je comprends bien
Mais si cela corriger des soucis de ce type pas d’inquiétude sur les màj fréquente ou non
En tout cas cela ne me dérange pas du tout
Il peut y avoir des màj tous les jours pendant une période et rien pendant des mois
Par contre pour moi le compte d’équipement devrait être 2 et pas 3 car dans les fait les vrais équipements physique sont ceux entourés
Mais comme vont dire certain c’est du détail et je sais faire une soustraction
Sinon sur le sujet principal du poste j’ai refait la manip qui avait engendré mes 25500 messages en bon vieux bourrin !!!
Et bien RAS pas de réaction particulière