Erreur jMQTTComFromDaemon

Bonjour,
J’ai depuis quelques jours cette erreur :

jMQTTComFromDaemon::msgIn() a levé l'Exception: [MySQL] Error code : 22001 (1406). Data too long for column 'option' at row 1 : INSERT INTO `event` SET `datetime`=:datetime, `name`=:name,`option`=:option

j’ai cru comprendre qu’il s’agissait d’un message entrant du démon, comment est il possible de déterminer la source du pb.

Merci pour vos éclaicissements.

Bonjour @FredD,

Serait-il possible d’avoir plus d’infos sur ton installation et d’avoir des logs en mode débug ?

Sinon le même problème est survenu sur ce fil :

Il venait vraisemblablement d’une commande de type « autre » historisée et les valeurs reçues étaient trop grande pour le champ « option » de la base de donnée d’historique de Jeedom.

Bad

Bonjour à vous,
Désolé de mon retour tardif, la situation à quelque empiré avec 4722 messages en 24h

Je mets en piéce jointe le fichier debug, par contre il est juste énorme et j’en ai retiré 60% les doublons :
jMQTT.txt (6,2 Mo)

En résumé il y a plusieurs types de messages d’erreur :

[2025-06-26 04:29:03][DEBUG] : Envoi d'un Heartbeat au Démon (rien n'a été envoyé depuis >45s

Pour le second j’ai l’impression qu’il s’agit d’un pb avec mon relevé Linky, pourtant j’ai bien le relevé qui se fait mon Dashboard se met bien à jour

'jMQTTComFromDaemon::msgIn() a levé l’Exception: [MySQL] Error code : 22001 (1406). Data too long for column ‹ option › at row 1 : INSERT INTO event SET datetime=:datetime, name=:name,option=:option,@Stack: #0 /var/www/html/core/class/event.class.php(42): DB::Prepare() #1 /var/www/html/core/class/event.class.php(50): event::add() #2 /var/www/html/core/class/cmd.class.php(1931): event::adds() #3 /var/www/html/core/class/eqLogic.class.php(687): cmd->event() #4 /var/www/html/plugins/jMQTT/core/class/jMQTTCmd.class.php(129): eqLogic->checkAndUpdateCmd() #5 /var/www/html/plugins/jMQTT/core/class/jMQTT.class.php(2084): jMQTTCmd->updateCmdValue() #6 /var/www/html/plugins/jMQTT/core/class/jMQTTComFromDaemon.class.php(388): jMQTT->brokerMessageCallback() #7 /var/www/html/plugins/jMQTT/core/php/callback.php(117): jMQTTComFromDaemon::msgIn() #8 {main},@BrkId: 204,@Topic: ATLInfoA_GENE/SENSOR,@Payload: {« TIC »:{« ADCO »:« 031961179939 »,« OPTARIF »:« BASE »,« BASE »:29625397,« PTEC »:« TH… »,« IINST »:3,« IMAX »:90,« MOTDE~IT »:880088,« HHPHCpI »:880000,"XTq

Hello,

Ce message est parfaitement normal en mode débug.

L’autre message est généré par le Core (dans core/class/event.class.php(42)) sur une commande jMQTT dont le topic est ATLInfoA_GENE/SENSOR.
Cette commande (probablement de type info/autre) est, soit historisée, soit d’une taille trop longue pour être utilisable dans un « event » du Core.
Je te recommande de désactiver l’historisation ou de supprimer cette commande.

Bad

Merci pour ton retour,

J’ai vérifié mais je n’ai pas de commande historisée donc je suppose que le message est trop longue ce qui est étrange c’est que j’ai ce système depuis 2-3 ans hormis si Inedis a changé je ne comprends pas pourquoi soudainement j’ai cette erreur.
Autre point tu me proposes de regarder les commandes ATLInfoA_GENE/SENSOR mais en fait j’en ai énormément :
Mode Json

Mode normal :

Yop,

Je pense que c’est cette commande (sans « Chemin Json ») :


Essaye juste de changer le topic (ajoute par exemple -unused à la fin).

Il me semble que la façon dont les events sont gérés par Jeedom a changé sur les dernières version de la 4.4, ça peut venir de là.
Sinon c’est possible que tu ais fait une MaJ de ton équipement Teleinfo et que le payload sur ce topic soit beaucoup plus long maintenant.

Pense aussi à vérifier que l’ajout automatique de commandes est désactivé sur cet équipement.

Bad

Bonjour et Merci à toi ,
quand tu dis " Essaye juste de changer le topic (ajoute par exemple -unused à la fin)." cela signifie que je dois ajouter la formule -unused dans la zone colorée

Merci

Non, ajouté le juste à la fin du topic, dans le champ juste au dessus du champ coloré

Bonjour Bad,
Désolé du délai de mes réponses, j’ai fait la modif suivante :

L’erreur n’est pas systématique donc je vais devoir attendre quelques jours pour vérifier si c’est effficace.

Bonjour,

Donc d’après la capture

C’est pas effectué au bon endroit, et je pense (a confirmer par Bad) qu’il faut le mettre simplement dans le 1er Topic

Edit :

Quel intérêt de garder le Topic SENSOR-2 ?


Extrait de la doc

J’ai appliqué tes recommandations et par la même occasion j’ai appris, certes c’était dans la doc :

J’attends encore quelques jours pour confirmer l’amélioration.

2 « J'aime »

Bonjour,
J’ai mis un peu de temps avant de valider la solution car en fait j’avais supprimé les commandes nok mais j’avais oublié de décocher :
image

Donc régulièrement il ajoutait les commandes nok et ça plantait oui je sais j’ai mis un peu de temps à comprendre :grin:

Donc oui il est bien possible de supprimer la commande mère une fois que les commandes filles sont crées
Et surtout décocher ajouter les commandes automatiques sinon retour au point de départ

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.