depuis quelques temps, j’ai de multiples erreurs BDD MySQL sur plusieurs plugins :
plugin Mode :
Erreur exécution de la commande [Maison][Mode Present][Absent] : [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
plugin MQTTDiscovery :
Fatal exception in handleMessage:[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
Ces deux erreurs concernant un champ datetime (coïncidence ?) je viens quérir votre aide ici. J’ai pu lire qu’il était limité à 127 caractères (pas de soucis perso).
J’ai essayé de supprimer des historisations, mais sans succès jusqu’à lors.
Dès que mon mode de présence change (Absent ↔ Présent), même sans historisation de l’heure de changement, j’ai une erreur. Ce qui pose problème, c’est lors du passage Absent → Présent, l’erreur empêche le passage au nouveau mode, et ensuite je reçois plein de message sur mes détecteurs de présence, bref, un effet de bord…
J’ai vu un sujet passer sur l’utilisation du plugin « log manager » mais j’avoue ne pas trop savoir comment catcher l’erreur pour identifier de manière précise mon soucis.
Ce qui me perturbe, c’est que ça fonctionnait bien auparavant (mais je ne peux pas dire depuis combien de temps j’ai cette erreur).
Une idée ?
Bonjour
Tu historises une commandes qui a une valeur trop grande pour être historisé. Il suffit de désactiver l’historisation de la commande en question pour ne plus avoir de soucis.
Menu Analyse, historique bouton configuration vous trié sur la colonne historisé et vous verrez toutes les commandes historisées.
Il sera alors assez facile de trouver la commande coupable. Qui doit être une info string
Bon, j’ai viré certaines commandes historisées par le menu analyse, notamment les commandes que j’ai vue du plugin MqttDiscovery :
Mais j’ai quand même plein d’erreurs, qui arrivent toutes les 3/10 secondes
0037|[2024-08-28 14:56:10] ERROR : Fatal exception in handleMessage:[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
0038|[2024-08-28 14:56:40] ERROR : Fatal exception in handleMessage:[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
0039|[2024-08-28 14:57:02] ERROR : Fatal exception in handleMessage:[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
0040|[2024-08-28 14:57:10] ERROR : Fatal exception in handleMessage:[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
0041|[2024-08-28 14:57:21] ERROR : Fatal exception in handleMessage:[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
0042|[2024-08-28 14:57:51] ERROR : Fatal exception in handleMessage:[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
Oui, j’ai vérifié sur le plugin MQTTDiscovery car j’ai cette erreur :
2024-08-28 16:45:29 MQTTDiscovery Fatal exception in handleMessage:[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 [Log MQTTDiscovery]
J’ai désactivé tous les paramètres pouvant être historisés sur les plugins (par le biais du menu Analyse / Historique) :
Mode
MQTTDiscovery
et j’ai toujours des erreurs :
Date et heure Source Description Action Occurrences
||2024-08-28 18:27:24|MQTTDiscovery|Fatal exception in handleMessage:[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|Log MQTTDiscovery|55954|
|---|---|---|---|---|---|
||2024-08-28 18:03:04|mode|Erreur exécution de la commande [Maison][Mode Present][Absent] : [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|Log mode|11|