Salut,
Je souhaitais remonter des problèmes rencontrés sur le plugin #plugin-meteofull (avec les corrections envisagées à valider )
- Valeur du cron
Depuis un équipement, on propose la valeur 9 * * * *
par défaut or dans le code, c’est la valeur 5 * * * *
qui est utilisée par défaut.
Il faudrait donc modifier un des deux. Actuellement, on a :
meteofull.class.php
if ($configCron == 'custom') {
$autorefresh = $eqlogic->getConfiguration('autorefresh');
} else {
$autorefresh = '5 * * * *';
}
-
MeteoFull.php
<select class="form-control eqLogicAttr" data-l1key="configuration" data-l2key="cron"> <option value="byDefault">{{Par défaut (9 * * * *)}}</option> <option value="custom">{{Personnalisé}}</option> </select>
- Décalage des valeurs pour l’onglet
"24 prochaines heures"
(Erreur de calcul de l’heure de référence)
L’heure de référence appliquée actuellement est l’heure de météo actuelle, c’est-à-dire la prochaine heure fixe). Pour calculer l’heure h+1, h+2, …, il faudrait plutôt se baser sur l’heure courante.
Ex :
- cron d’actualisation des données par défaut à la 5ème minute de chaque heure, lancement du cron à 20h05 par exemple.
=> On récupère depuis le de prévision météo une heure de météo actuelle à21h
=> On en déduit donch+1 à 22h, h+2 à 22h, ..
On s’attendrait donc plutôt à actualiser les infos avec h+1 à 21h, h+2 à 22h, ..
Pour cela, dans MeteoFull.class.php
, il faudrait remplacer la ligne suivante
`$heureActuelle = ((int)str_replace(':', '', $datajson['meteo_actuelle']['heure'])) / 100;`
par
`$heureActuelle = date('H');`
Attention, l’actualisation de ces données est dépendante de la définition du cron de l’équipement :
- si le cron est prévu chaque heure à la 5ème minute, la valeur de la commande sera décalé de 20h à 20h05 par exemple. Ce sera encore plus visible si on demande une actualisation toutes les 6h par exemple (pendant 6h, chaque valeur restera identique et ne sera pas rafraichie à chaque changement d’heure)
Sachant qu’on a déjà ces données présentes dans le plugin à partir de la dernière réactualisation des données, il faudrait donc aussi gérer une réactualisation des données de l’onglet
"24 prochaines heures"
à chaque heure fixe depuis la méthode cron (au niveau de if ($autorefresh != '') {
, ne pas tenir compte de la valeur du cron et lancer l’actualisation de cet onglet si on est à une heure fixe)
EDIT : sans doute faire l’actualisation des commandes de cet onglet dans la méthode cronHourly()
Merci.