Je pense que tu présume bien. A confirmé par @superbricolo
Cdt
Thibaut
Je pense que tu présume bien. A confirmé par @superbricolo
Cdt
Thibaut
Tu présumes bien. le problème faisait que l’on tronquait au kWh à cause d’une modif pour que le plugin fonctionne en PHP7.3 , d’où la perte de décimal. On ne récupérait donc que les évolutions au kWh près.
Après correction, ton reliquat de consommation non comptabilisé va donc se trouver compter aujourd’hui…
Au mois ton cumul sera bon, mais la répartition sur les derniers jours, n’est pas tout à fait exact.
Tu a pas Configurer la devise dans les paramètres du plugin.
Cdt
Thibaut
Refait un sauvegarder, c’est la valeur de base donc pas Configurer.
Après normalement @superbricolo est passez sur mes faute d’orthographe.
PS : Je vais ajouter le euro automatique si pas Configurer.
Cdt
Thibaut
J’en ai loupé une
Meri à tous pour vos réponses.
Avec la mise à jour de ce matin, la suppression fonctionne et ne cause plus d’erreur dans le Backup
Bonjour @Thibaut_T @superbricolo
J’ai passé la mise a jour de ce matin, aucun problème pour moi sur Jeedom 4.041, Debian 10 et PHP 7.3.
Merci pour le taff réalisé sur ce plugin indispensable.
Est-ce que vous pouvez préciser comment paramétrer la partie production électrique ?
Visiblement il ne faut pas mettre de parents sinon ça repasse sur Élec, c’est bien ça ?
Est-ce ce qu’il faut cocher Total pour la prod ? Appliquer abonnement ? Je pense pas ?
Salut, je sais pas si ça a été signalé depuis, mais de mon côté, je vois plus que la pile pour l’année qui déconne. Merci
Hello, production est un « père ».
Tout dépend de comment tu le récupères ?
Dans mon cas, c’est un compteur pulse.
Je lui donne une production en kWh qui croit non-stop.
Je calcule une puissance à la minute ‹ moyenne › pour présenter une vraie donnée apparente.
Ce n’est qu’une production au pas 1min calculée par le biais d’une variable sur un écart constant d’1min de la variable de compteur, rien de plus !
Ensuite, pour l’autoconsommation, qui est la partie autoconsommée de ce que je produis c’est différent.
Le père est le précédent et le reste est calculé par scénario… là c’est plus touchy.
Ce code regarde ma consommation et applique plusieurs règles pour déduire le vrai gain de ce que j’ai autoconsommé.
Cela tourne toutes les 5 minutes …
*/5 05-23 * * *
Bonne lecture du code …
Je définis mon talon moyen en cas de souci, le coût du kwh pour la valo (qui est une variable que j’utilise un peu partout) => tiens il serait bien de récupérer directement celle du plugin ? Pas possible ?
Je prends mon talon du matin en veille sinon je prends l’init.
Ensuite je balaye sur une boucle qui grandit de minute en minute (logique) et je fais :
Puis je calcule le gain en kwh normalisé sur la journée, de même en €, le ratio de ce gain par rapport à ma production totale etc.
// definition du talon
$talon=350;
// récupération de l'ID pour la production "précise" par API
$cmdIdprod= cmd::byString("#[Energie][Puissance Instantanée][Production]#")->getId();
// récupération de l'ID pour la consommation @5min (calcul par scénario indépendant)
$cmdIdconso= cmd::byString("#[Capteurs et Actionneurs][Compteur Linky Garage][PAPP]#")->getId();
// à updater !
$cmdIdconsoW= cmd::byString("#[Energie][Puissance Instantanée][Consommation]#")->getId();
// récupération du coût HP
$coutvar = "prix_kwhbase";
$cout = $scenario->getData($coutvar);
// définition des bornes de temps pour l'étude pour aujourd'hui (scénario lancé avant minuit)
$debut = date("Y-m-d H:i:s", strtotime("today"));
$fin = date("Y-m-d H:i:s", strtotime("today 23:59"));
// récupération de l'historique de la production API à 5min
//$allprod = history::all($cmdIdprodAPI, $debut, $fin);
// calcul du nombre de boucles : now - minuit par pas de 5 minutes et arrondi
$nowtoday = date("Y-m-d H:i:s");
$nowinit = date("Y-m-d 00:00:00");
$bouclemax = floor((strtotime($nowtoday) - strtotime($nowinit))/(5*60));
//$scenario->setLog("il est $nowtoday, j'ai donc $bouclemax boucles à calculer");
// récupération du talon de consommation le matin
$tempstalon = date("Y-m-d H:i:s", strtotime("today 06:00")); //5:50
$tempstalon5minbefore = date("Y-m-d H:i:s", strtotime("today 00:00")); //5:45
$ptalon = history::getStatistique($cmdIdconsoW, $tempstalon5minbefore, $tempstalon)["min"]; //avg
$scenario->setLog("Valeur du talon entre $tempstalon5minbefore et $tempstalon : min à $ptalon");
// au cas où on vérifie si valeur erronée !
if ($ptalon > 550.0) {
$ptalon = $talon;
$scenario->setLog("Valeur du talon estimée : $talon");
}
else {
$scenario->setLog("Valeur du talon mesurée : $ptalon");
}
// définitions
$gain = 0;
$gainw = 0;
$prodtotale = 0;
// on démarre à minuit et minuit 5 donc !
$temps = date("Y-m-d H:i:s", strtotime("today 00:05"));
$temps5minbef = date("Y-m-d H:i:s", strtotime("today 00:00"));
for ($i = 0; $i < ($bouclemax+1); $i++) {
// calcul la consommation moyenne 5min avant jusqu'à la valeur de la production
$pcons5min = history::getStatistique($cmdIdconsoW, $temps5minbef, $temps)["avg"];
$pprod5min = history::getStatistique($cmdIdprod, $temps5minbef, $temps)["avg"];
//$scenario->setLog("@ $temps - Prod : $pprod5min Conso : $pcons5min");
// si prod = 0, le gain est 0
// si prod != 0 alors si conso = 0 le gain est talon sinon gain est prod
$gainup = 0;
$pprodWh = $pprod5min * 0.08333;
$prodtotale = $prodtotale + $pprodWh;
if ($pprod5min == 0) {
$gainup = 0;
$scenario->setLog("@ $temps - Prod nulle : $pprod5min alors $gain");
}
else if ($pcons5min == 0) {
$gainup = $talon;
$scenario->setLog("@ $temps - Prod non nulle : $pprod5min mais conso nulle $pcons5min alors talon $gain");
}
else {
$gainup = $pprod5min;
$scenario->setLog("@ $temps - Prod non nulle : $pprod5min mais conso non nulle $pcons5min alors prod $gain");
}
// calcul du gain en Wh : h x puissance 1 = 60 min alors 5 min = 0.08333
// normalisation du gain
//$scenario->setLog("GainW : $gainup");
$gainw = $gainup;
$gainup = $gainup * 0.08333;
//$scenario->setLog("GainWh : $gainup");
$gain = $gain + $gainup;
//$scenario->setLog("Gain : $gain");
//$scenario->setLog("Production totale : $prodtotale Wh");
// décalage des bornes de temps
$temps = date("Y-m-d H:i:s", (strtotime($temps)+(60*5)));
$temps5minbef = date("Y-m-d H:i:s", (strtotime($temps5minbef)+(60*5)));
}
// debug global
$ratio = 100 * $gain / $prodtotale;
if ($ratio > 100.0) {
$scenario->setLog("Ratio: $ratio limité à 100%");
$ratio = 100;
}
// gain temps réel sur la journée
$gainjour = $gain/1000*$cout;
$scenario->setLog("Gain W : $gainw");
$scenario->setLog("Gain Wh : $gain");
$scenario->setLog("Gain € : $gainjour");
$scenario->setLog("Produit Wh : $prodtotale");
$scenario->setLog("Utilisé % : $ratio");
// passage par variable
$scenario->setData("gainproduction", $gain);
$scenario->setData("gainw", $gainw);
$scenario->setData("used_ratio", $ratio);
$scenario->setData("prodtotale", $prodtotale);
$scenario->setData("gainjour", $gainjour);
On voit bien la différence entre production et auto conso :
mon autoconso :
ma production :
dsl pour le retard … tout marche pour le mieux a priori, merci !!
je me répète juste en disant que je ne vois plus les conso des jours précédents sur les graphiques qui ont plus d’un an d’existence … et aussi qu’on ne peut plus télécharger les données excel des graphiques … suis lourd, hein
Pourquoi le type n’est pas Prod Élec sur ta config ?
J’ai mis un tore branché sur l’ecocompteur Legrand donc je peux avoir la puissance instantanée et la consommation (enfin la production ici).
Donc il faut que je configure en père.
Pour l’autoconsommation pour le moment je n’ai pas trop de solution parce que je n’ai pas d’information quand de l’énergie est envoyée sur le réseau (un tore autour de l’arrivée ne fonctionne pas car l’ecocompteur ne sait pas gérer du négatif…).
J’attends la modification Linky pour avoir la tic standard et j’espère pouvoir récupérer l’index de production pour faire le calcul
Effectivement je n’avais pas vu la catégorie (cela fait un an que je l’ai !)…
Du coup le changement de catégorie, fais que je perds la valorisation en euro avec l’abonnement en HB.
J’ai l’impression que le type ne fait qu’affecter le rangement dans le plugin :
Il faut donc créer un tarif dédié pour la base production et sa valorisation sinon c’est à 0.
Je viens d’ajouter le prix du kwh :
Et voilà :
n’y a t’il pas moyen de récupérer la valeur courante du HB Kwh ?
Ah oui je comprends. C’est le prix du prix du kWh solaire basé sur le prix de l’installation que tu as mis c’est ça ? Pas le prix de la revente en cas de surplus ?
En quoi elle sont farfelu ?
Cdt
Thibaut
Je vois des chiffres complètement différents à quelques minutes d’interval.
Mais ce n’est qu’une question