bonjour 21 lignes
c’est faisable manuellement
()requete sql ou api jeedom
via scénario code (php) ou configuration api/bd mysql
sans Admirer (même si il est fort utile pour différent test)
() préférence
quand je serais devant mon pc je te recherchera la requête sql
@naboleo si tu veux aller plus loin
admirer te montre les requête sql utilisait
comme il existe peu de sujet sur le sql
c’est un language que je ne connaissais pas
SQL Tutorialtu créés tu récupères la cmd sql et tu peux la réutilisé
exemple qui n’a rien à voir avec le sujet
contexte :
une info numérique on a comme param (max,moyenne et mini. aucun rien est fait)
pour le jour J toutes les 5mn jeedom taf pour obtenir la possibilité du param
et J+x (cron de 5h) c’est par heure que les possibilités du param sont traitéj’ai joué avec la requête select pour obtenir une moyenne par 1/4 d’heure >une fois obtenu le bon rendu dans admirer j’ai adapté le select en replace et dans un scenario code qui se lance à 4h et suppriime l’ancienne table
ça donne un cron de 4h du matin avec
comme code$commandes = array("#[Dehors][Sondes Nord][Température]#", "#[Dehors][Sondes Sud][Température]#", ); foreach ($commandes as $commande) { $commande = str_replace("#", "", $commande); $sql = "REPLACE INTO `historyArch` (`cmd_id`,`datetime`,`value`)"; $sql = $sql." SELECT `cmd_id`, "; $sql = $sql." concat( date(`datetime` ) , ' ', sec_to_time(time_to_sec(`datetime` )- time_to_sec(`datetime` )%(15*60))) as created_dt_new,"; $sql = $sql." round(avg(`value`),1)"; $sql = $sql." FROM `history` "; $sql = $sql." WHERE `cmd_id` = '$commande' "; $sql = $sql." group by created_dt_new"; $scenario->setLog("SQL = $sql"); $result = DB::Prepare($sql, NULL, DB::FETCH_TYPE_ROW); $sql2 ="DELETE FROM `history`"; $sql2 = $sql2."WHERE `cmd_id` = '$commande'"; $result = DB::Prepare($sql2, NULL, DB::FETCH_TYPE_ROW); }