j ai refait un test de relevé sur 24h
screen du shelly
![[Image: Screenshot-20250621-235506-Shelly-Smart-Control.jpg]](https://i.ibb.co/rKQmQqcg/Screenshot-20250621-235506-Shelly-Smart-Control.jpg)
ca donne 11.5kWh soutiree
23.8KWh injecté
screen routeur non modifier
![[Image: Screenshot-20250621-235711-Samsung-Internet.jpg]](https://i.ibb.co/hxXJ36SY/Screenshot-20250621-235711-Samsung-Internet.jpg)
ca remprend les données du shelly
screen du routeur avec code comptage energie modifié
![[Image: Screenshot-20250621-235755-Samsung-Internet.jpg]](https://i.ibb.co/JFwJWPrV/Screenshot-20250621-235755-Samsung-Internet.jpg)
ca donne soutiree 653Wh
injectée 12962Wh
le juge de touche
![[Image: Screenshot-20250622-091726-Hello-Watt.jpg]](https://i.ibb.co/B22RqH5M/Screenshot-20250622-091726-Hello-Watt.jpg)
![[Image: 20250622-090701.jpg]](https://i.ibb.co/NdYCMDD8/20250622-090701.jpg)
ca donne avec le code modifié 37Wh d erreur contre plus de 11.5kWh d erreur.
j ai pas trouver grand chose sur le web mais le problème viens qu' en triphasé le shelly compte séparément les phases .
exemple de 3 periodes de consommation.
ph1=500Wh ph2=-500Wh ph3=0 Linky = 0 Wh Shelly soutirée 500Wh injectée 500Wh
ph1= 0Wh ph2=-100Wh ph3=0 Linky = -100 Wh Shelly soutirée 0Wh injectée 100Wh
ph1=100Wh ph2= 0Wh ph3=0 Linky = 100 Wh Shelly soutirée 100Wh injectée 0Wh
total Linky =100Wh Shelly soutirée 600Wh injectée 600Wh
le linky compte 100Wh le shelly 600Wh le shelly(mode net metering) 600-600=0Wh
la modif c est de calculer entre 2 mesures du shelly l energie
dans Source_ShellyEm.ino
création de 2 variables
static unsigned long lastMeasurementTime = 0; //59jag
unsigned long interval; //59jag
supprimer les
//total_E_soutire += ValJson("total", Shelly_Data);
//total_E_injecte += ValJson("total_returned", Shelly_Data);
vers ligne 82 apres if (pf > 0) {total_Pva += abs(Pw) / pf;}Rajouter
unsigned long currentTime = millis(); //59jag
if (lastMeasurementTime > 0) { //59jag
interval = currentTime - lastMeasurementTime; //59jag
if (total_Pw >= 0){ //59jag
EASfloat += total_Pw / (3600000.0/interval); //59jag
}else{ //59jag
EAIfloat += -total_Pw / (3600000.0/interval); //59jag
} //59jag
} //59jag
lastMeasurementTime = currentTime;
//total_E_soutire += ValJson("total", Shelly_Data);
//total_E_injecte += ValJson("total_returned", Shelly_Data);
//Energie_M_Soutiree = int(total_E_soutire);
//Energie_M_Injectee = int(total_E_injecte);
Energie_M_Soutiree = int(EASfloat);//59jag
Energie_M_Injectee = int(EAIfloat);//59jag;
screen du shelly
![[Image: Screenshot-20250621-235506-Shelly-Smart-Control.jpg]](https://i.ibb.co/rKQmQqcg/Screenshot-20250621-235506-Shelly-Smart-Control.jpg)
ca donne 11.5kWh soutiree
23.8KWh injecté
screen routeur non modifier
![[Image: Screenshot-20250621-235711-Samsung-Internet.jpg]](https://i.ibb.co/hxXJ36SY/Screenshot-20250621-235711-Samsung-Internet.jpg)
ca remprend les données du shelly
screen du routeur avec code comptage energie modifié
![[Image: Screenshot-20250621-235755-Samsung-Internet.jpg]](https://i.ibb.co/JFwJWPrV/Screenshot-20250621-235755-Samsung-Internet.jpg)
ca donne soutiree 653Wh
injectée 12962Wh
le juge de touche
![[Image: Screenshot-20250622-091726-Hello-Watt.jpg]](https://i.ibb.co/B22RqH5M/Screenshot-20250622-091726-Hello-Watt.jpg)
![[Image: 20250622-090701.jpg]](https://i.ibb.co/NdYCMDD8/20250622-090701.jpg)
ca donne avec le code modifié 37Wh d erreur contre plus de 11.5kWh d erreur.
(20-06-2025, 07:14 AM)Lolo69 a écrit : Comment pretendre que les valeurs sont incohérentes par rapports aux graphiques ? Dans ce forum tu trouveras de tres nombreux topic, qui expliquent que les courbes sont obligatoirement différentes de la réalité. En revanche les calculs sont plus precis, c est que je constate sur tes premières photos ou shelly et RMS sont identiques, et surtout si tu compares avec Linky ´tu verras que ca match très bienj espere que tu vois l amélioration de la modif.
Je ne vois pas en quoi ta modif sur la v12 a amélioré qq chose
Je suis certes en monophasé, mais avec mon shelly , les valeurs shelly et RMS sont à 5 watt pres par jour comme le relevé enedis appli hello watt ou edf.
j ai pas trouver grand chose sur le web mais le problème viens qu' en triphasé le shelly compte séparément les phases .
exemple de 3 periodes de consommation.
ph1=500Wh ph2=-500Wh ph3=0 Linky = 0 Wh Shelly soutirée 500Wh injectée 500Wh
ph1= 0Wh ph2=-100Wh ph3=0 Linky = -100 Wh Shelly soutirée 0Wh injectée 100Wh
ph1=100Wh ph2= 0Wh ph3=0 Linky = 100 Wh Shelly soutirée 100Wh injectée 0Wh
total Linky =100Wh Shelly soutirée 600Wh injectée 600Wh
le linky compte 100Wh le shelly 600Wh le shelly(mode net metering) 600-600=0Wh
la modif c est de calculer entre 2 mesures du shelly l energie
dans Source_ShellyEm.ino
création de 2 variables
static unsigned long lastMeasurementTime = 0; //59jag
unsigned long interval; //59jag
supprimer les
//total_E_soutire += ValJson("total", Shelly_Data);
//total_E_injecte += ValJson("total_returned", Shelly_Data);
vers ligne 82 apres if (pf > 0) {total_Pva += abs(Pw) / pf;}Rajouter
unsigned long currentTime = millis(); //59jag
if (lastMeasurementTime > 0) { //59jag
interval = currentTime - lastMeasurementTime; //59jag
if (total_Pw >= 0){ //59jag
EASfloat += total_Pw / (3600000.0/interval); //59jag
}else{ //59jag
EAIfloat += -total_Pw / (3600000.0/interval); //59jag
} //59jag
} //59jag
lastMeasurementTime = currentTime;
//total_E_soutire += ValJson("total", Shelly_Data);
//total_E_injecte += ValJson("total_returned", Shelly_Data);
//Energie_M_Soutiree = int(total_E_soutire);
//Energie_M_Injectee = int(total_E_injecte);
Energie_M_Soutiree = int(EASfloat);//59jag
Energie_M_Injectee = int(EAIfloat);//59jag;