[Résolu] Erreur JSON 200 - suivi conso

Hello,

Update appliqué, merci pour la MAJ.

Par contre j’ai un soucis en cochant « Production complémentaire » sur le père.
Le père n’a aucune catégorie de cochée.

J’ai ce message d’erreur à l’ouverture de la page suivi-conso et le camembert apparait mais vide.

image

image

Tu as bien des enfants associés au père?

Tu a fait comment ?

Oui bien sûr, tous sauf le photovoltaïque qui est un père mais sans enfants

Essaie d’exécuter cette requête

SELECT 	myid AS id, 				 IF(IFNULL(istotal,0)>0 ,"Total",IF(categorie="NC",myname,categorie))  AS name_cat, 				isHCHP , 				istotal , 				SUM(shc) AS totalhc, 				SUM(shp) AS totalhp, 				ROUND(SUM(shp)+SUM(shc),2) AS total,  				ROUND(SUM(hcprix),2) AS  prixhc, 				ROUND(SUM(hpprix),2) AS  prixhp, 				ROUND(SUM(totalprix),2) AS prix,  				ROUND(SUM(shc)*100/(res.totalhc+res.totalhp),2) AS total_percent_ecq_hc, 				ROUND(SUM(shp)*100/(res.totalhc+res.totalhp),2) AS total_percent_ecq_hp, 				SUM(shc)*100/(SUM(shp)+SUM(shc)) AS percent_ecq_hc, 				SUM(shp)*100/(SUM(shp)+SUM(shc)) AS percent_ecq_hp,  				ROUND((SUM(shc)+SUM(shp))*100/(res.totalhc+res.totalhp),2) AS percent_ecq, 				myid 			FROM ( 				SELECT 					CASE 						WHEN configuration  like  '%"visibleConsumptionLight":"1"%' THEN "Lumieres" 						WHEN configuration  like  '%"visibleConsumptionElectrical":"1"%' THEN "Electromenager" 						WHEN configuration  like  '%"visibleConsumptionAutomatism":"1"%' THEN "Automatisme" 						WHEN configuration  like  '%"visibleConsumptionHeating":"1"%' THEN "Chauffage" 						WHEN configuration  like  '%"visibleConsumptionMultimedia":"1"%' THEN "Multimedia" 						WHEN configuration  LIKE  '%"visibleConsumptionVehicules":"1"%' THEN "Véhicules" 						WHEN configuration  LIKE  '%"visibleConsumptionOther":"1"%' THEN "Autres" 						ELSE "NC" 					END as categorie, 				id AS myid, 				IF(INSTR(configuration, '"type_abo":"HCHP"' )>0 , 1 , 0 ) AS isHCHP , 				IF(INSTR(configuration, '"total":"1"' )>0 , 1 , 0 ) AS istotal , 				NAME AS myname, 				/* MIN(j.rec_date) AS DATE,*/ 				periode, 				hc AS shc, 				hp AS shp, 				totalhp, 				totalhc, 				prix_hc * hc AS hcprix, 				prix_hp * hp AS hpprix, 				(prix_hc * hc) + (prix_hp * hp)  AS totalprix, 				DATE_FORMAT(j.`rec_date`,"%d%c%Y") AS mois, 				j.`rec_date`, 				p.id_eq 				FROM conso_jour j 				INNER JOIN 				( 					SELECT jo.id_eq, 					DATE_FORMAT(jo.`rec_date`,"%d%c%Y"), 					jo.rec_date, 					SUM(hp) AS totalhp, 					SUM(hc) AS totalhc, 					(SELECT FORMAT(hc,4) AS hc FROM conso_price  WHERE type_ecq LIKE "%elect%" AND UNIX_TIMESTAMP(DATE_FORMAT(jo.rec_date , "%Y-%m-%d")) BETWEEN UNIX_TIMESTAMP( DATE_FORMAT( date_debut,  "%Y-%m-%d" ) ) AND UNIX_TIMESTAMP( DATE_FORMAT( date_fin,  "%Y-%m-%d" ) ) LIMIT 0,1) AS prix_hc, 					(SELECT FORMAT(hp,4) AS hc FROM conso_price  WHERE type_ecq LIKE "%elect%" AND UNIX_TIMESTAMP(DATE_FORMAT(jo.rec_date , "%Y-%m-%d")) BETWEEN UNIX_TIMESTAMP( DATE_FORMAT( date_debut,  "%Y-%m-%d" ) ) AND UNIX_TIMESTAMP( DATE_FORMAT( date_fin,  "%Y-%m-%d" ) ) LIMIT 0,1 ) AS prix_hp 					FROM 						conso_jour jo 					INNER JOIN 						eqLogic eqc ON eqc.id = jo.id_eq 					WHERE 						jo.id_eq in (2033,2063,2032) and 						DATE_FORMAT(jo.`rec_date`,"%d%c%Y")  = DATE_FORMAT(CURDATE(),"%d%c%Y") 						AND   configuration LIKE "%elect%" 						AND configuration LIKE '%"total":"1"%' 					GROUP BY 						DATE_FORMAT(jo.`rec_date`,"%d%c%Y"), jo.id_eq 				    ) AS p ON DATE_FORMAT(p.`rec_date`,"%d%c%Y") = DATE_FORMAT(j.`rec_date`,"%d%c%Y")  				INNER JOIN eqLogic eq ON eq.id = j.id_eq AND isEnable = 1 				WHERE 				j.id_eq in (2033,2063,2032) and 				DATE_FORMAT(j.`rec_date`,"%d%c%Y")  = DATE_FORMAT(CURDATE(),"%d%c%Y")  AND 				configuration LIKE "%elect%" 				/* GROUP BY  j.id_eq*/ 			) AS res 			 GROUP BY  DATE_FORMAT(res.`rec_date`,"%d%c%Y"), myname ORDER BY istotal DESC 

en modifiant 2033,2063,2032 par la liste de tes enfants et du père séparé par des virgules.
Et tu me donnes le résultat

Père = 61

J’ai pas mis le photovoltaïque qui n’a pas d’enfant et qui est configuré comme un père … seul (c’est triste). Il te le faut aussi ?

Pas besoin du photovoltaïque. Tu n’a pas coché la case pour lui?
Sinon tu as un abonnement en heure base?

Je n’ai pas coché la case pour le photovoltaïque non.
Abonnement heure de base oui.

C’est une piste pour ton problème. Car les modifs, je les ai testées en tarif HCHP.

Ah bon :pleading_face:. Le tarif de base étant plus simple ça serait quand même bizarre que ça fonctionne pour le HCHP et pas pour l’autre mais bon, why not. Il te faut un mode debug pour trouver ?

Non pas pour l’instant. je regarde et sir je trouve un truc, je te proposerais une modif pour valider

Essaies de remplacer dans conso\core\class\conso_teleinfo.class.php la ligne 1550 par:

'tooltip_data' => ($ishphc ? ['Conso : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $total_hp : (float)$val['totalhp']) . 'Kwh<br>Prix : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $prix_hp : (float)$val['prixhp']) .config::byKey('Devise', 'conso'), 'Conso : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $total_hc : (float)$val['totalhc']) . 'Kwh<br>Prix : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $prix_hc : (float)$val['prixhc']) . config::byKey('Devise', 'conso')] : ['Conso : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $total : (float)$val['total']) . 'Kwh<br>Prix : ' . (((float)$result[$totalkey]['percent_ecq'] - (float)$other_total) < 0 ? $prix : (float)$val['prix']) . config::byKey('Devise', 'conso')])));

Pas mieux avec ce remplacement non

Toujours dans le même fichier, essaie de remplacer la ligne 1609 par

																[(float)(($result[$totalkey]['totalhp'] - $total_hp) * 100) / $result[$totalkey]['totalhp']]),

Là c’est pire :

Tu n’as pas remplacé la bonne ligne. C’est la ligne 1612 qu’il faut remplacer dans ta copie d’écran

Ah oui vu que j’avais commenté la précédente modif ça a décalé pardon.

Donc là oui, bien joué c’est bon

image

Par contre j’ai laissé l’autre modification (ligne 1550). Faut que je repasse sur la 1550 non modifiée ou pas ?

Super , que ça marche. Snon tu peux laisser l’autre ligne. C’était également un soucis.

OK Bravo @superbricolo !

Tu veux faire un post de ce qu’il fallait remplacer pour que je le passe en solution ou je passe en solution uniquement le post de la ligne 1609 ?

Je ne refais pas un autre poste , je vais demander @Mickeys de republier sur sur le Market. Tu passes juste le dernier post en solution

1 « J'aime »