Bon je confirme que le problème est bien lié à la version Firmware du Shelly
dans ta version comme tu ne remontes pas le facteur de puissance pf , le programme d'André qui calcule dans les lignes 67 à 57 du module Source_ShellyEM la puissance apamrente ne peut pas fonctionner
pour info les lignes de codes donc si pas de Pf pas de Pva = pas de puissance apparente
float total_E_soutire = ValJson("total", Shelly_Data);
float total_E_injecte = ValJson("total_returned", Shelly_Data);
p = Shelly_Data.indexOf("}");
Shelly_Data = Shelly_Data.substring(p + 1);
Pw = PfloatMax(ValJson("power", Shelly_Data)); //Phase 2
pf = ValJson("pf", Shelly_Data);
pf = abs(pf);
total_Pw += Pw;
if (pf > 0) {
total_Pva += abs(Pw) / pf;
}
je pourrais sugeré à André de recalculer la Puissance Apparente en utilisant les mesures de puissance active et réactive qui sont renvoyées par toutew les versions de Shelly
en utilisant la formumle assez Simple Puissance apparente = racine carré de Puissance Active au carré + puissance réactive au carré
Ce serait d'autant plus juste que la valeur du cos phi est très farfelue autour d'une puissance reactive proche de zero... et dans le code on a de suite pf=pf=abs(pf) et derriere plein de ligne inutiles sur if pf>0 car sera forcement superieur à 0 et ca evite de faire des calcuks bizaroides avec des if pf >0.01
Bien que pas très important il y a pas mal d'optimisation du code de ce module pour l'alleger et le rendre plus "juste".
Pour Bertrand dis nous dans quelle direction tu souhaites aller.
- Je te fais la moodif dans le code d André et je te charge directement le programme via OTA
- Je te montre les modifs de programmes à faire et , tu les fais depuis Arduino
- Tu flashes le firmware de ton Shelly
- Tu attends qu'André fasse la modif de son programme
dans ta version comme tu ne remontes pas le facteur de puissance pf , le programme d'André qui calcule dans les lignes 67 à 57 du module Source_ShellyEM la puissance apamrente ne peut pas fonctionner
pour info les lignes de codes donc si pas de Pf pas de Pva = pas de puissance apparente
float total_E_soutire = ValJson("total", Shelly_Data);
float total_E_injecte = ValJson("total_returned", Shelly_Data);
p = Shelly_Data.indexOf("}");
Shelly_Data = Shelly_Data.substring(p + 1);
Pw = PfloatMax(ValJson("power", Shelly_Data)); //Phase 2
pf = ValJson("pf", Shelly_Data);
pf = abs(pf);
total_Pw += Pw;
if (pf > 0) {
total_Pva += abs(Pw) / pf;
}
je pourrais sugeré à André de recalculer la Puissance Apparente en utilisant les mesures de puissance active et réactive qui sont renvoyées par toutew les versions de Shelly
en utilisant la formumle assez Simple Puissance apparente = racine carré de Puissance Active au carré + puissance réactive au carré
Ce serait d'autant plus juste que la valeur du cos phi est très farfelue autour d'une puissance reactive proche de zero... et dans le code on a de suite pf=pf=abs(pf) et derriere plein de ligne inutiles sur if pf>0 car sera forcement superieur à 0 et ca evite de faire des calcuks bizaroides avec des if pf >0.01
Bien que pas très important il y a pas mal d'optimisation du code de ce module pour l'alleger et le rendre plus "juste".
Pour Bertrand dis nous dans quelle direction tu souhaites aller.
- Je te fais la moodif dans le code d André et je te charge directement le programme via OTA
- Je te montre les modifs de programmes à faire et , tu les fais depuis Arduino
- Tu flashes le firmware de ton Shelly
- Tu attends qu'André fasse la modif de son programme