Erreur récurrente (sur history::archive() : [MySQL])

après la requête « select * from cmd where id = 936 » on obtient :
sh: 1: select: not found

Vous avez cliqué sur Ouvrir à coté de Administration Système.
Il faut cliquer là:
image

Sinon l’URL directe est :
http://jeedom/index.php?v=d&p=database

Oui je me suis trompé

Voilà le résultat

id eqLogic_id eqType logicalId order name configuration template isHistorized type subType unite display isVisible value alert generic_type
936 72 virtual 2 Scene {« calcul »:"#1019#",« returnStateValue »:"",« returnStateTime »:"",« minValue »:"",« maxValue »:"",« timeline::enable »:« 0 »,« calculValueOffset »:"",« historizeRound »:"",« jeedomCheckCmdOperator »:"==",« jeedomCheckCmdTest »:"",« jeedomCheckCmdTime »:"",« historizeMode »:« avg »,« historyPurge »:"",« denyValues »:"",« repeatEventManagement »:« auto »,« jeedomPushUrl »:"",« actionCheckCmd »:[],« jeedomPreExecCmd »:[],« jeedomPostExecCmd »:[],« interact::auto::disable »:« 0 »,« updateCmdId »:"",« listValue »:""} {« dashboard »:« core::tile »,« mobile »:« core::tile »} 1 info numeric {« invertBinary »:« 0 »,« icon »:"",« generic_type »:"",« showOndashboard »:« 1 »,« showOnplan »:« 1 »,« showOnview »:« 1 »,« showOnmobile »:« 1 »,« showNameOndashboard »:« 1 »,« showNameOnplan »:« 1 »,« showNameOnview »:« 1 »,« showNameOnmobile »:« 1 »,« showIconAndNamedashboard »:« 0 »,« showIconAndNameplan »:« 0 »,« showIconAndNameview »:« 0 »,« showIconAndNamemobile »:« 0 »,« forceReturnLineBefore »:« 0 »,« forceReturnLineAfter »:« 0 »,« parameters »:[],« graphStep »:« 1 »,« graphType »:« line »,« showStatsOnmobile »:0,« showStatsOndashboard »:0} 1 #1019# {« warningif »:"",« warningduring »:"",« dangerif »:"",« dangerduring »:""}

A quelle heure est programmée la tache backup chez vous ?
image

Pas à 3h00 ni 5h00 :smiley:

Sinon quand j’enlève historiser sur mon id 936, je n’ai plus l’erreur.

Oui mais ?

Bonjour @syn,

@jpty est en train de prendre de son temps un dimanche pour établir un diagnostic dans le but de résoudre votre erreur. il serait bon de répondre aux questions qu’il pose sans tourner autour du pot si vous cherchez une résolution.

…courage @jpty et merci :blush:

1 « J'aime »

Vous pourriez essayer cette requête SQL pour voir le contenu de la table history sur la commande avec erreur ? Quand cette cmd est historisée.

select * from history where cmd_id = 936

voici 37 01 * * *

Vu que j’ai enlever historique sur id 936, je vais prendre un autre

select * from history where cmd_id = 3879

résultat :

cmd_id datetime value
3879 2020-04-04 03:05:00 22.19140625
3879 2020-04-04 03:10:00 22.9927734375
3879 2020-04-04 03:15:00 23.5544921875
3879 2020-04-04 03:20:00 22.94140625
3879 2020-04-04 03:25:00 22.4455078125
3879 2020-04-04 03:30:00 23.36953125
3879 2020-04-04 03:35:00 22.6408203125
3879 2020-04-04 03:40:00 25.166796875
3879 2020-04-04 03:45:00 23.009765625
3879 2020-04-04 03:50:00 24.465625
3879 2020-04-04 03:55:00 24.6935546875
3879 2020-04-04 04:00:00 22.75234375
3879 2020-04-04 04:05:00 23.106640625
3879 2020-04-04 04:10:00 23.0419921875
3879 2020-04-04 04:15:00 28.8365234375
3879 2020-04-04 04:20:00 22.1689453125
3879 2020-04-04 04:25:00 22.933203125
3879 2020-04-04 04:30:00 25.684375
3879 2020-04-04 04:35:00 21.72421875
3879 2020-04-04 04:40:00 21.968359375
3879 2020-04-04 04:45:00 22.6076171875
3879 2020-04-04 04:50:00 24.1841796875

etc il y en a beaucoup

Merci. Ce n’est pas le backup qui provoque le défaut.

Vous n’avez aucune valeur bizarre dans la colonne value vers 3h00?
Vous pouvez affiner la requête avec:

SELECT * FROM history WHERE cmd_id = 3879 and datetime LIKE '%03:00:%'

Non pas de valeur bizarre. l’erreur arrive aussi quand on exécute la tâche à un autre moment,
ici exécution à 10h57, sur l’archive 08h57
2h de différence comme 3h et 5h

[2020-04-26 10:57:15][ERROR] : Erreur l’archivage des historiques : {« cmd_id »:« 3879 »,« archivePackage »:3600,« archiveTime »:« 2020-04-26 08:57:15 »} => [MySQL] Error code : 42000 (1055). Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‹ jeedom.history.datetime › which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by : REPLACE INTO historyArch(cmd_id,datetime,value) SELECT cmd_id,datetime,avg(CAST(value AS DECIMAL(12,2))) as value FROM history WHERE datetime <= :archiveTime AND cmd_id=:cmd_id AND value IS NOT NULL GROUP BY UNIX_TIMESTAMP(datetime) DIV :archivePackage

Le message d’erreur de ce matin est tronqué ?

Corrigé (mauvais copier coller)

Bizzar, j’ai modifié quelques id : « Arrondi », « Mode de lissage », « Purger l’historique si plus vieux que », etc et la en exécutant la tâche « history », plus d’erreurs !!

Faut voir sur plusieurs jours si les erreurs reviennent.
Dans le résultat sur la table history, vous avez des lignes avec en date début avril. Ce qui n’est pas normal sur la table history dont le contenu est transféré chaque nuit dans historyArch.

D’accord Merci en tout cas !! je vais voir ce que ça va donner dans les prochains jours.
Bien Cordialement

Il existe aussi sur la page Réglages/Système/Configuration onglet >_OS/DB
URL directe : http://jeedom/index.php?v=d&p=administration#ostab

image
qui permet entre autres de nettoyer dans les tables history/historyArch les enregistrements de commandes qui ne sont plus historisées.

@Yann55 et ceux qui ont un message d’erreur contenant division par zéro
Et peut-être tout ceux qui ont bricolés ces paramètres:

Il faut vérifier les valeurs sur l’onglet Commandes accessible par Réglages/Système/Configuration
image

Vous devez avoir 0 pour Archiver par paquet de h

1 « J'aime »

Merco @jpty, tu viens de résoudre mon problème d’archivage.