Bonjour à tous,
Malgrès mes recherches, je n’arrive pas à trouver une solution à mon problème.
Mon besoin, récupérer des informations provenant d’une réponse JSON.
Suite à ce sujet [Résolu] Interpréter réponse d'une commande REST - #6 par cstan77 j’ai réussi à récupérer les informations et les ajouter dans plusieurs Tags.
Par contre je n’arrive pas à récupérer les informations dans un virtuel pour les afficher dans un widget.
Pouvez-vous m’aider à trouver ce qui manque ?
Voici mon code dans mon scénario:
$tags = $scenario->getTags();
// Step 1: Recuperation du contenu du fichier (JSON complet)
// les données sont actualisées toutes les 5 minutes sur leur site.
$heure_deb=date("H", strtotime('now -2 Hour'));
$heure_fin=date("H", strtotime('now -1 Hour'));
$api = "https://hydrometrie.wallonie.be/services/KiWIS/KiWIS?request=getTimeseriesValues&service=kisters&type=queryServices&datasource=0&format=json&maxquality=206&forceCacheHeaderTime=300&valuesasstring=false&ts_path=DGH%2F2952%2FH%2FCmd.Rel.Abs.Comp&metadata=true&md_returnfields=ts_id%2C+ts_path%2C+ts_spacing%2C+ts_name%2C+ts_shortname%2C+station_no%2C+station_id%2C+station_latitude%2C+station_longitude%2C+station_name%2C+ts_unitname%2C+ts_unitsymbol%2C+stationparameter_name%2C+ca_sta&ca_sta_returnfields=ISIN_LOCALITE&dateformat=UNIX&from=".date("Y-m-d")."T".$heure_deb."%3A".date("i")."%3A00.000Z&to=".date("Y-m-d")."T".$heure_fin."%3A".date("i")."%3A00.000Z&returnfields=Timestamp%2CValue%2CInterpolation+Type%2CQuality+Code%2CQuality+Code+Name";
$json = file_get_contents($api);
// Step 2: Decodage du JSON et recuperation des infos souhaitees
$jsonData = json_decode($json,true);
$nbr = count($jsonData[0][data])-1;
$time = substr($jsonData[0][data][$nbr][0], 0, -3);
$time_array= getdate($time);
$date_enr = date_create($time_array[mday]."-".$time_array[mon]."-".$time_array[year]." ".$time_array[hours].":".$time_array[minutes]);
$tags['#dendre_time#'] = $date_releve;
$tags['#dendre_hauteur#'] =$jsonData[0][data][$nbr][1];
$scenario->setTags($tags);
$date_print = date_format($date_enr, 'Y-m-d H:i:s');
$scenario->setlog("dendre_time :".$date_print);
$scenario->setlog("dendre_hauteur :".$jsonData[0][data][$nbr][1]);
ma configuration du scénario
et mon virtuel
et le widget:
D’avance Merci,
Bonne journée