Erreur d'update de la BDD

Hello,

Depuis 3h du matin, chaque 3h, j’ai le warning suivant :

Erreur sur conso::UpdateTable() : [MySQL] Error code : 01000 (1265). Data truncated for column 'temp_max' at row 3 : REPLACE INTO conso_jour (timestamp,rec_date,periode,hp,hc,idx_max_hp,idx_min_hp,idx_max_hc,idx_min_hc,id_eq,temp_max,temp_min,temp_moy,dju_clim,dju) SELECT MIN(timestamp) AS timestamp,conso_teleinfo.rec_dateASrec_date, DATE_FORMAT(conso_teleinfo.rec_date,'%a %e %y') AS periode, ((MAX(hchp) - MIN(hchp)) / 1000) AS hp,((MAX(hchc) - MIN(hchc)) / 1000) AS hc,MAX(hchp) as idx_max_hp, MIN(hchp) as idx_min_hp, MAX(hchc) as idx_max_hc, MIN(hchc) as idx_min_hc, id_equipement, FORMAT(MAX(temp),2) AS temp_max, FORMAT(MIN(NULLIF(temp,0)),2) AS temp_min, FORMAT(AVG(NULLIF(temp,0)),2) AS temp_moy, CASE WHEN DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN DATE_FORMAT(STR_TO_DATE('06-15', '%m-%d'), '%m-%d') AND DATE_FORMAT(STR_TO_DATE('09-15', '%m-%d'), '%m-%d') THEN 0 WHEN 18 = 0 THEN 0 WHEN FORMAT(AVG(NULLIF(temp,0)),2) = 0 THEN 0 WHEN 18 >= FORMAT(MAX(temp),2) THEN 0 WHEN 18


Jeedom : 4.0.61
Version plugin : 2020-08-31 09:21:44
Hardware : Odroid-C4
OS : Armbian 5.6.15

Si quelqu’un a une idée, je suis preneur :slight_smile:

@superbricolo Il ma contacter en privé, mais je connais mal la partie DB, je te l’ai donc réenvoiler :wink:

Cdt
Thibaut

tu dois avoir une valeur de température sur la journée qui est trop grande par rapport à la taille du champs. Tu peux lister les infos que tu as dans conso_teleinfo et poster le paramétrage de ton équipement

Hello,

Dans la table conso_jour, je n’ai pas de valeur délirante dans la colonne temp_max (32.2 max).
select * from conso_jour where temp_max order by temp_max desc;

J’ai regardé dans conso_teleinfo.

describe conso_teleinfo;
Field Type Null Key Default Extra
timestamp bigint(10) NO PRI 0
rec_date date NO MUL null
rec_time time NO MUL 00:00:00
hchp bigint(9) NO 0
hchc bigint(9) NO MUL 0
ptec varchar(2) NO null
inst1 tinyint(3) NO 0
imax1 tinyint(3) NO 0
pmax int(5) NO 0
papp int(5) NO 0
id_equipement int(11) NO PRI 0
temp float YES null

select temp from conso_teleinfo order by temp desc;
J’ai des valeurs du type : 3278.3
J’en ai 499 de ce type.

Toutes en date du 2020-11-30.

Le problème doit certainement venir de la récupération de ma température en Modbus.
Après analyse, à ce moment, la température devait être à 0.

J’ai donc corrigé les données en conséquence :
update conso_teleinfo set temp="0" where temp > 1000;

J’en ai également profité pour changer la configuration de l’objet du plugin. Je me base maintenant sur le plugin météo.

Je verrais demain matin si cela a corrigé le problème.

1 « J'aime »

3000°c ça fait chaud là, il serait temps que l’on réduise les gazs effet de serre :grin:

1 « J'aime »

Hello @superbricolo,

Je confirme, plus de warning.
Merci de m’avoir mis sur la piste même s’il est vrai que j’aurais pu checker cela en voyant le message.
J’avais zappé le fait que l’on gérait la température avec le plugin… Du coup mon cerveau n’était pas totalement connecté ^^.

Pas de soucis. Content que ton problème soit résolu.

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