Dans http.error je n’ai rien dans ces heures.
Pour le log conso j’ai ceci :
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp2`) - MIN(`hchp2`))) ELSE ((MAX(`hchp2`) - MIN(`hchp2`)) / 1000) END AS hp2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc2`) - MIN(`hchc2`))) ELSE ((MAX(`hchc2`) - MIN(`hchc2`)) / 1000) END AS hc2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp3`) - MIN(`hchp3`))) ELSE ((MAX(`hchp3`) - MIN(`hchp3`)) / 1000) END AS hp3,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc3`) - MIN(`hchc3`))) ELSE ((MAX(`hchc3`) - MIN(`hchc3`)) / 1000) END AS hc3,MAX(hchp) as idx_max_hp,
MIN(hchp) as idx_min_hp,
MAX(hchc) as idx_max_hc,
MIN(hchc) as idx_min_hc,
MAX(hchp2) as idx_max_hp2,
MIN(hchp2) as idx_min_hp2,
MAX(hchc2) as idx_max_hc2,
MIN(hchc2) as idx_min_hc2,
MAX(hchp3) as idx_max_hp3,
MIN(hchp3) as idx_min_hp3,
MAX(hchc3) as idx_max_hc3,
MIN(hchc3) as idx_min_hc3,
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 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN FORMAT(AVG(NULLIF(temp,0)),2)-18
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (FORMAT(MAX(temp),2)-18) * (0.08+0.42* (FORMAT(MAX(NULLIF(temp,0)),2)-18) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju_clim, CASE WHEN DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN
DATE_FORMAT(STR_TO_DATE('10-15', '%m-%d'), '%m-%d') AND '12-31' AND
DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN '01-01' AND
DATE_FORMAT(STR_TO_DATE('04-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 18 - FORMAT(AVG(NULLIF(temp,0)),2)
WHEN 18 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN 0
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (18-FORMAT(MIN(NULLIF(temp,0)),2)) * (0.08+0.42* (18-FORMAT(MIN(NULLIF(temp,0)),2)) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju FROM `conso_teleinfo` INNER JOIN eqLogic ON id=id_equipement where rec_date >= SUBDATE(CURRENT_DATE, INTERVAL 1 DAY) GROUP BY rec_date,id_equipement
[2026-01-21 00:00:04][INFO] CrontabJour:REPLACE INTO conso_jour (`timestamp`,rec_date,periode,hp,hc,hp2,hc2,hp3,hc3,idx_max_hp,idx_min_hp,idx_max_hc,idx_min_hc,idx_max_hp2,idx_min_hp2,idx_max_hc2,idx_min_hc2,idx_max_hp3,idx_min_hp3,idx_max_hc3,idx_min_hc3,id_eq,temp_max,temp_min,temp_moy,dju_clim,dju)
SELECT
MIN(`timestamp`) AS `timestamp` ,
`conso_teleinfo`.`rec_date` AS `rec_date`,
DATE_FORMAT(`conso_teleinfo`.`rec_date`,'%a %e %y') AS `periode`, CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp`) - MIN(`hchp`))) ELSE ((MAX(`hchp`) - MIN(`hchp`)) / 1000) END AS hp,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc`) - MIN(`hchc`))) ELSE ((MAX(`hchc`) - MIN(`hchc`)) / 1000) END AS hc,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp2`) - MIN(`hchp2`))) ELSE ((MAX(`hchp2`) - MIN(`hchp2`)) / 1000) END AS hp2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc2`) - MIN(`hchc2`))) ELSE ((MAX(`hchc2`) - MIN(`hchc2`)) / 1000) END AS hc2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp3`) - MIN(`hchp3`))) ELSE ((MAX(`hchp3`) - MIN(`hchp3`)) / 1000) END AS hp3,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc3`) - MIN(`hchc3`))) ELSE ((MAX(`hchc3`) - MIN(`hchc3`)) / 1000) END AS hc3,MAX(hchp) as idx_max_hp,
MIN(hchp) as idx_min_hp,
MAX(hchc) as idx_max_hc,
MIN(hchc) as idx_min_hc,
MAX(hchp2) as idx_max_hp2,
MIN(hchp2) as idx_min_hp2,
MAX(hchc2) as idx_max_hc2,
MIN(hchc2) as idx_min_hc2,
MAX(hchp3) as idx_max_hp3,
MIN(hchp3) as idx_min_hp3,
MAX(hchc3) as idx_max_hc3,
MIN(hchc3) as idx_min_hc3,
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 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN FORMAT(AVG(NULLIF(temp,0)),2)-18
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (FORMAT(MAX(temp),2)-18) * (0.08+0.42* (FORMAT(MAX(NULLIF(temp,0)),2)-18) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju_clim, CASE WHEN DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN
DATE_FORMAT(STR_TO_DATE('10-15', '%m-%d'), '%m-%d') AND '12-31' AND
DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN '01-01' AND
DATE_FORMAT(STR_TO_DATE('04-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 18 - FORMAT(AVG(NULLIF(temp,0)),2)
WHEN 18 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN 0
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (18-FORMAT(MIN(NULLIF(temp,0)),2)) * (0.08+0.42* (18-FORMAT(MIN(NULLIF(temp,0)),2)) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju FROM `conso_teleinfo` INNER JOIN eqLogic ON id=id_equipement where rec_date >= SUBDATE(CURRENT_DATE, INTERVAL 1 DAY) GROUP BY rec_date,id_equipement
[2026-01-21 00:00:07][ERROR] Erreur sur conso::StartDeamon() : Unsupported operand types: string / int
[2026-01-21 00:00:11][ERROR] Erreur sur la fonction cronDaily du plugin : Unsupported operand types: string / int
[2026-01-21 00:30:02][INFO] CrontabJour:REPLACE INTO conso_jour (`timestamp`,rec_date,periode,hp,hc,hp2,hc2,hp3,hc3,idx_max_hp,idx_min_hp,idx_max_hc,idx_min_hc,idx_max_hp2,idx_min_hp2,idx_max_hc2,idx_min_hc2,idx_max_hp3,idx_min_hp3,idx_max_hc3,idx_min_hc3,id_eq,temp_max,temp_min,temp_moy,dju_clim,dju)
SELECT
MIN(`timestamp`) AS `timestamp` ,
`conso_teleinfo`.`rec_date` AS `rec_date`,
DATE_FORMAT(`conso_teleinfo`.`rec_date`,'%a %e %y') AS `periode`, CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp`) - MIN(`hchp`))) ELSE ((MAX(`hchp`) - MIN(`hchp`)) / 1000) END AS hp,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc`) - MIN(`hchc`))) ELSE ((MAX(`hchc`) - MIN(`hchc`)) / 1000) END AS hc,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp2`) - MIN(`hchp2`))) ELSE ((MAX(`hchp2`) - MIN(`hchp2`)) / 1000) END AS hp2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc2`) - MIN(`hchc2`))) ELSE ((MAX(`hchc2`) - MIN(`hchc2`)) / 1000) END AS hc2,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchp3`) - MIN(`hchp3`))) ELSE ((MAX(`hchp3`) - MIN(`hchp3`)) / 1000) END AS hp3,
CASE WHEN id_equipement IN (388) THEN ((MAX(`hchc3`) - MIN(`hchc3`))) ELSE ((MAX(`hchc3`) - MIN(`hchc3`)) / 1000) END AS hc3,MAX(hchp) as idx_max_hp,
MIN(hchp) as idx_min_hp,
MAX(hchc) as idx_max_hc,
MIN(hchc) as idx_min_hc,
MAX(hchp2) as idx_max_hp2,
MIN(hchp2) as idx_min_hp2,
MAX(hchc2) as idx_max_hc2,
MIN(hchc2) as idx_min_hc2,
MAX(hchp3) as idx_max_hp3,
MIN(hchp3) as idx_min_hp3,
MAX(hchc3) as idx_max_hc3,
MIN(hchc3) as idx_min_hc3,
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 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN FORMAT(AVG(NULLIF(temp,0)),2)-18
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (FORMAT(MAX(temp),2)-18) * (0.08+0.42* (FORMAT(MAX(NULLIF(temp,0)),2)-18) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju_clim, CASE WHEN DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN
DATE_FORMAT(STR_TO_DATE('10-15', '%m-%d'), '%m-%d') AND '12-31' AND
DATE_FORMAT(rec_date, '%m-%d') NOT BETWEEN '01-01' AND
DATE_FORMAT(STR_TO_DATE('04-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 18 - FORMAT(AVG(NULLIF(temp,0)),2)
WHEN 18 <= FORMAT(MIN(NULLIF(temp,0)),2) THEN 0
WHEN FORMAT(MIN(NULLIF(temp,0)),2) < 18 AND 18 <= FORMAT(MAX(temp),2) THEN (18-FORMAT(MIN(NULLIF(temp,0)),2)) * (0.08+0.42* (18-FORMAT(MIN(NULLIF(temp,0)),2)) / (FORMAT(MAX(temp),2) - FORMAT(MIN(NULLIF(temp,0)),2)))
END AS dju FROM `conso_teleinfo` INNER JOIN eqLogic ON id=id_equipement GROUP BY rec_date,id_equipement
L’erreur apparaît bien.