Lisser une commande à la journée

sur le même type que @DanielJ, j’avais fait ce petit bout de code qui permet de calculer une stat ($typeHistorisation) sur un historique de la commande $cmdSource pour la mettre dans la commande $cmdCible avec une heure d’affectation, la veille à $heureHistorisation

C’est assez simple, juste à lancer le lendemain avant l’archivage qui purge une partie des données, donc entre minuit et 2h

Dans l’exemple ci-dessous, je prends le max d’hier de ma commande PAPP et j’enregistre cette valeur à la date d’hier 00:00 dans la commande Max jour

$version = '16/09/2023 10:00';
$scenario->setLog('┌──────────── Logs bloc code - version du ' . $version);

$cmdSource = '#[Electricité][teleinfo2][PAPP]#';
$cmdCible = '#[Electricité][_Données Enedis St Etienne][Max jour]#';
$heureHistorisation = '00:00' ;
$typeHistorisation = 'max' ;


$cmdSourceId = cmd::byString($cmdSource)->getId();
$cmdCibleId = cmd::byString($cmdCible)->getId();

$debut = date("Y-m-d 00:00:00", strtotime('yesterday'));
$fin = date("Y-m-d 23:59:59", strtotime('yesterday'));
$valuedate = date("Y-m-d ".$heureHistorisation, strtotime('yesterday'));

$value = history::getStatistique($cmdSourceId, $debut, $fin)[$typeHistorisation];

cmd::byString($cmdCible)->event($value, $valuedate);

$scenario->setLog('└───────────────────────────');

Norbert

4 « J'aime »