Calculs sur Heure Pleine / Heure Creuse et Tarifications / Coûts

Tu es top, today à la place de yesterday et tout fonctionne.

Ok nickel, donc ça veut dire que dans le cas d’un horaire creux qui commence le jour même et non pas la veille, il faut utiliser today et non Yesterday dans la génération de la variable $debut_hc.

Donc:
Cas heure creuse 00h => 08:00 , modèle @sagitaz
Cas heure creuse 22h => 07:00, modèle initial

Reste donc le cas heure creuse 02h => 9h qui sera encore différent (similaire au modèle @sagitaz, mais ajout d’un petit créneau de 00h=>2h dans le calcul des HP)

Pour le cas des doubles horaires creux, il y aura une logique un peu similaire où il faut faire attention avec les Yesterday et Today.

1 « J'aime »

Pour tes calculs, tu seras dans le même cas que ces explications avec le problème de @sagitaz .

Re,

Gros Merci à toi :wink:

Bon j’ai migré un 4.1 et la je me retrouve avec les mêmes souci que @sagitaz

Erreur Récupération données EDF	Données de consommation horaire null

Bon j’ai toujours le même soucis. j’ai vérifié sur le site d’ENEDIS ma dernière journée enregistrée est le 27/02 et non le 28/02 (la date est en grisée).

Peut être qu’avec un compteur sur plusieurs plages les données sont renvoyées sur la date de la veille et non le jour même comme vous (qui est en réalité est la veille pour la conso).

Je suis perdu :frowning:

C’est normale que les données soient de la veille, juste que la dernière valeur doit être au 28 comme ici par ex:

[2021-02-28 08:37:04][DEBUG] : [Appartement][Compteur Linky][Consommation horaire] Enregistrement mesure : Date = 2021-02-27 23:00:00 => Mesure = 1510
[2021-02-28 08:37:04][DEBUG] : [Appartement][Compteur Linky][Consommation horaire] Enregistrement mesure : Date = 2021-02-27 23:30:00 => Mesure = 1536
[2021-02-28 08:37:04][DEBUG] : [Appartement][Compteur Linky][Consommation horaire] Enregistrement mesure : Date = 2021-02-28 00:00:00 => Mesure = 1536

En fait c’est 28 minuit car c’est la valeur de consommation de la période 23h30 00:00 (donc au lendemain).

Oui moi c’est 27 c’est bizarre :frowning:

Par contre, Enedis délire complet sur les conso horaire.

En bleue, conso jour.
En jaune, somme conso horaire sur 24h.

Petite mise à jour du code au niveau des calculs, il faut rajouter midnight à la fin sinon le premier jour n’est pas pris en compte…:

# Calculs 
$conso_mois_hc = scenarioExpression::statisticsBetween($id_commande_ConsoHoraireCreux, "sum", "first day of this month midnight", "now");
$conso_mois_hp = scenarioExpression::statisticsBetween($id_commande_ConsoHorairePlein, "sum", "first day of this month midnight", "now");

$moyenne_conso_jour_hc = scenarioExpression::statisticsBetween($id_commande_ConsoHoraireCreux, "avg", "first day of this month midnight", "now");
$moyenne_conso_jour_hp = scenarioExpression::statisticsBetween($id_commande_ConsoHorairePlein, "avg", "first day of this month midnight", "now");

A oui, quand même… Très bizarre tes problèmes… c’est une sommes des données brutes d’enedis ?

Hello

Mise à jour appliqué :wink:

1 « J'aime »

Oui, c’est le relevé du plugin linky.

Pour info j’ai fait une grosse refonte du tutoriel :wink:

Re,

Cool j’avais pas vue sur le coup

bien joué :+1:

Bonjour à tous

j’ai remis les nouveaux codes comme à dit @mick74
j’ai ceci comme erreur

	2021-03-04 10:17:43	Erreur Récupération données EDF	Données de consommation horaire null pour le 2021-03-03

Peut on m’aider

Merci

Bonjour,

oui normal il n’y a pas les données de hier (encore Enedis qui était à l’ouest…), du coup le scénario prévient qu’il n’a pas pu enregistrer les données. Or tant que le plugin Enedis ne gérera pas la reprise de l’historique sur quelques jours, il y aura malheureusement des trous.

(encore Enedis qui était à l’ouest…) Ouest c’est près de chez moi :slight_smile:
Blizzard car je suis toujours en date du 27/02/2021 la date de collecte

EDIT: A non pardon, je pensais qu’on était le 5… Si tu as ce message, c’est qu’il a bien les données horaires de hier mais que les calculs ne sont pas bons. Il faut des informations pour comprendre sinon on ne pourra pas t’aider (modèle de plage horaire, etc).

Après un test simple à faire, c’est mettre en visibilité les valeurs des variables via des logs. Ca permet de comprendre et d’adapter.

$scenario->setLog("Debut HP = ".$debut_hp." Debut heure creuse = ".$debut_hc);

Et si c’est en mode 2 plages, ajouter $debut_hc2 et $debut_hp2 de la même manière. A placer juste après qu’elles soient initialisées/calculées.

Après il faut juste comprendre le calcul et notamment que par exemple la fonction history::getStatistique($id_commande_ConsoHoraire, $debut_hp, $debut_hc)["sum"] fait la somme de toutes les données de la date de début $debut_hp jusqu’à la date de fin $debut_hc. Si les dates de début et fin sont inversées ou que la date de fin est dans le passé, les données seront vides car il ne fait pas de somme dans le passé.

Après avec @Mikael , nous avons vu qu’il y a des problèmes de calculs et récupération de variables quand on est en 4.0. Donc si tu es en 4.0, il faut migrer vers la 4.1.

Merci j’ai compris
Comme je n’ai pas d’heures creuse à mon compteur, j’ai mis des ## à mes commandes HC haut début

## Vérification présence des variables ou setting par défaut
## (empty($scenario->getData("EDF_Nb_Plages"))) ? $scenario->setData("EDF_Nb_Plages", "1") : null;
(empty($scenario->getData("EDF_HP_Start"))) ? $scenario->setData("EDF_HP_Start", "06:30") : null;
## (empty($scenario->getData("EDF_HC_Start"))) ? $scenario->setData("EDF_HC_Start", "22:30") : null;
## (empty($scenario->getData("EDF_HP2_Start"))) ? $scenario->setData("EDF_HP2_Start", "A REMPLIR") : null;
## (empty($scenario->getData("EDF_HC2_Start"))) ? $scenario->setData("EDF_HC2_Start", "A REMPLIR") : null;
(empty($scenario->getData("EDF_Tarif_KWh_HP"))) ? $scenario->setData("EDF_Tarif_KWh_HP", "0.1582") : null;
## (empty($scenario->getData("EDF_Tarif_KWh_HC"))) ? $scenario->setData("EDF_Tarif_KWh_HC", "0.1582") : null;
(empty($scenario->getData("EDF_Tarif_Abo_Mois"))) ? $scenario->setData("EDF_Tarif_Abo_Mois", "10.62") : null;
(empty($scenario->getData("EDF_Last_Var_Update"))) ? $scenario->setData("EDF_Last_Var_Update", date('Y-m-d H:i:s',strtotime("now - 1 days"))) : null;

J’ai supprimé le ## et tout fonctionne

Merci

Ok bonne nouvelle du coup :slight_smile: Par contre question bête, quel est l’intérêt de ce scénario si tu as le tarif unique ? Faire les calculs de tarif à la journée et estimation de la conso du mois ainsi que le coût évalué ?

Par ce qu’en fait il y possibilité de vraiment simplifier le scénario et surtout prendre les données réelles du jour envoyées par Enedis et qui sont plus régulières que les données horaires (ce qui peut être également fait directement dans un virtuel).