Erreur log history - Trop de decimal

Bonjour,

j’ai une petite erreur qui s’affiche dans mon centre de message tous les nuits.

	Erreur l'archivage des historiques : {"cmd_id":"14235","archivePackage":3600,"archiveTime":"2024-10-27 03:00:14"} => [MySQL] Error code : 22003 (1264). Out of range value for column '(null)' at row 1 : REPLACE INTO historyArch(cmd_id,`datetime`,value) SELECT cmd_id,MIN(`datetime`),avg(CAST(value AS DECIMAL(12,0))) as value FROM history WHERE `datetime`

j’en déduis que cette commande 14235 à beaucoups trop de chiffre derriére la virgule.

La dessus je suis d’accord,
De base la valeur est comme ca :

Mais je l’ai modifié avec 0 decimal pour l’arrondir avant la virgule.


mais l’erreur est toujours présente.
j’ai tagué le plugin plugin-mymodbus mais c’est peut etre à tord.

Core : 4.4.19 (master)
DNS Jeedom : oui

Plugin : MyModbus
Version : 2024-10-25 02:07:10 (beta)
Statut Démon : Démarré - (2024-10-25 09:15:02)

merci pour votre aide :slight_smile:

Salut,

Voilà un point intéressant qui n’a effectivement rien à voir avec MyModbus.

Mais comme c’est intéressant, je vais essayer de voir avec toi d’où ça peut venir : dans le menu Réglages / Système / Configuration sous l’onglet OS / DB, en bas le bouton Rouge ‹ Ouvrir › à coté de Administration base de données
Là, regarde ce que tu as dans la table history et historyArch :

Voila

history

ca m’a planter la page web.

history arch
il y a rien

Pour history, il faudrait juste sélectionner cmd_id = '14235' et trouver la valeur qui fait planter la commande. On pourra soit la supprimer soit la modifier

je les aitrouvé dans historyarch

et je les ai supprimé

OK, si ça résout ton problème, c’est bien.
Tu aurais pu modifier les valeurs plutôt que de les supprimer, mais c’est toi qui choisis.

1 « J'aime »

je verrais demain mais ca devrait le résoudre.
c’est juste des tensions. si je perds l’historique ce n’est pas grave.

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.

Le message d’erreur est toujours présent malgré la suppresion de historyarch.je viens de verifier et historyarch est toujours vide pour cette commande.

Bonjour,

L’archivage se fait en transférant les données de la table history vers la table historyArch.

La commande 14235 avec la valeur erronée (null) qui ne peut pas etre archivée est dans la table history.
Ce n’est pas un nombre de décimales trop important.

j’ai vidé l’history de la commande 14235. mais je n’avais pas de valeur « null »
je verrais demain

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