Bonsoir à tous,
J’ai créé un code dans un scénario, chargé, en particulier, de récupérer dans une variable et dans la BDD Jeedom table history la ligne contenant le plus petit index de l’heure H-1 et dans une autre variable le plus petit index de l’heure H.
Seulement, s’agissant de production photovoltaïque, lorsqu’il n’y a plus de soleil le système d’enregistrement des index n’enregistre plus de lignes dans la BDD. Donc la recherche SQL échoue, ce qui me provoque des enregistrements de valeurs farfelues.
J’ai donc besoin d’insérer ma requête simple actuellement, dans un test de résultat de bonne exécution de la requête. Et ça je ne sait pas l’écrire, je ne suis pas suffisamment connaisseur en langage…
Espérant avoir été clair, voici les instructions de mes requêtes actuelles :
$indexHeurePreced = history::getStatistique($cmdIdCompteurIndex, $debutHeurePreced, $finHeurePreced)[« min »]; // Je cherche l’index le plus petit dans l’historique pour l’Heure-1
$indexHeure = history::getStatistique($cmdIdCompteurIndex, $debutHeure, $finHeure)[« min »]; // Je cherche l’index le plus bas dans l’historique pour l’Heure en cours
Quand les PV ne produisent plus de courant à 17h30, par exemple, je trouve l’index de 17h00 de valeur 125326, mais je ne trouve pas d’index pour 18h00 et ça, il faudrait que je le détecte pour chercher alors le dernier index disponible pour la journée en cours par exemple la ligne de 17h32 avec l’index 126400 pour en déduire donc une production de 126400-126326 = 74 W
Est-ce que quelqu’un pourrait m’aider à mettre, dans mon exemple, la 2eme requête dans un test de bonne ou mauvaise exécution.
Merci d’avance pour votre aide