Exception thrown by MQTT car dans la Table history le Champ value est en varchar(127)

Tags: #<Tag:0x00007f242e6ab360>

Bonjour,

Suite à la migration de Stretch vers Buster (création nouvelle machine avec restauration d’un backup), j’ai l’erreur suivante à la réception d’un JSON.

exception thrown by MQTT client: [MySQL] Error code : 22001 (1406). Data too long for column 'value' at row 1  : REPLACE INTO history 						SET cmd_id=:cmd_id, 						`datetime`=:datetime, 						value=:value

{"id":"shelly1pm-ABCDEF","mac":"840D8EABCDEF","ip":"192.168.100.100","new_fw":false, "fw_ver":"20200312-124223/v1.6.1@112262fd"}

Ce qui déclenche aussi :

[INFO] : relance le démon immédiatement
[INFO] : Connect to mosquitto: Host=localhost, Port=1883, Id=jeedom

par contre ceux de cette forme passent

{"id":"shelly1-ABCDEF","mac":"840D8EABCDEF","ip":"192.168.100.100","new_fw":false, "fw_ver":"20200312-124223/v1.6.1@112262fd"}

Le #plugin-jmqtt est à jour.
Jeedom 4.0.54

il me semble avoir déjà vu ce truc
fait une recherche avec

Data too long for column 

sur le fofo

Merci @olive

Je ne sais pas si cela résoudra mon problème car je n’ai pas accès à ce sujet.

Ce qui est étonnant, c’est que je n’avais pas ce soucis de champ trop court de la DB sous Stretch.

La modif en béta est dans quelle version de Jeedom ?

Je ne sais pas @Jeandhom je n’utilise pas j’avais juste vu passer ces sujet et survolé …

LoicTeam Jeedom

14 janv.

C’est bon j’ai fini l’infra donc j’ai pu faire la correction c’est en alpha/beta

ça en dit pas plus

Merci pour l’info.
Mes questions restent ouvertes à la communauté.

En fait, c’est dans la nouvelle version de mariadb, il y avait avant un tronquage automatique qui permettait de ne pas avoir de message d’erreur mais ça a disparu, Loïc a donc dû le gérer dans le core.

Mais de mon côté j’ai plus suivit après ça…

1 J'aime

Après vérification de la table history, le champ value n’accepte que 127 caractères (varchar(127)).
Dans ces conditions mon JSON de 128 caractères ne passe pas.

Il convient donc de savoir que les plugins qui rapatrieront des grands JSON ne pourront pas fonctionner correctement pour l’instant.

Peut être à signaler…

Merci nebz, mais Loic doit très bien connaître le problème.
Je tenais juste à informer la communauté pour leur éviter de longues recherches.

En ce qui me concerne, je vais modifier l’ID de mes matériels pour gagner les caractères en trop.
Sujet résolu.

1 J'aime

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