Propluvia intégré à Jeedom

Bonjour à tous,
Je n’ai pas trouvé de solution pour intégrer les données du site du gouvernement Propluvia à Jeedom.
Sauriez-vous m’aider ?

J’ai découvert cette URL: https://geo.api.gouv.fr/communes?code=63113&fields=code,nom,contour&format=geojson&geometry=contour
ou encore celle-ci: https://eau.api.agriculture.gouv.fr/apis/propluvia/arretes/2022-08-02/commune/63113

Merci par avance.
Mathieu

Hello,

Par exemple pour récupérer le nom via script:

1 « J'aime »

Merci @Maxcrouz ,
Je vais regarder ça :slight_smile:

Mathieu

1 « J'aime »

Autre exemple si tu veux récupérer ça:

tu mets ça :

Je dois être neuneu :smiley:
https://eau.api.agriculture.gouv.fr/apis/propluvia/arretes/2022-08-02/commune/63113

image

La valeur est vide :frowning:

Mathieu

1 « J'aime »

Essaie sans le array. Par curiosité tu vas faire quoi avec ces valeurs ?

1 « J'aime »

Oui et en numérique l’info

1 « J'aime »

Bien joué !
Petite question, comme faire pour que la date du jour dans l’url s’actualise automatiquement ?
Dois-je passer par un scénario et utiliser #title# ou #message# ?

C’est pour ne pas déclencher l’arrosage automatique dans le cas où nous sommes en restriction.
Après j’aime bien recevoir par SMS ces infos.
Mathieu

2 « J'aime »

Tu peux utiliser un cron pour ca

Intégrant la date du jour dans l’url ?
Il doit y avoir une possibilité en code dans un scénario aussi je pense.

Si tu mets un cron 24H la date sera Update toute les 24H.
Tu veux faire quoi au juste pas compris

Dans l’url d’appel JSON, j’ai la date du jour sous format 2022-08-02.

Peut être passer par une variable qui update ton url a la date du jour

1 « J'aime »

image

Il me manque juste de récupérer l’info https://eau.api.agriculture.gouv.fr/apis/propluvia/editoriaux/?idEditorial=legende_alerte_renforcee_part mais je pense que c’est juste une bibliothèque.

Mathieu

HORS SUJET:

Si jamais tu peux faire ca dans un virtuel:

Par contre je ne sais pas comment faire pour le champ option du script json, je serais curieux de savoir si on peut utiliser autre chose qu’une url direct (variable ou autre) et comment faire.

Mais ont dérivent du sujet de base.

1 « J'aime »

Je continue de regarder si je trouve une alternative.
Je reviendrai vous dire :slight_smile:

Je tente via un bloc code scénario, mais pour l’instant ça ne me donne rien mais j’avance petit à petit.

$date = date('Y-m-d');
$scenario->setLog("Date :".$date);
$url = "https://eau.api.agriculture.gouv.fr/apis/propluvia/arretes/".$date."/commune/63113";
$scenario->setLog("URL :".$url);
$json = file_get_contents($url);
$scenario->setLog("JSON :".$json);
$array = json_decode($json, true);
$scenario->setLog("Array :".$array);

Hello,
Sauriez-vous me dire pourquoi le JSON est vide ?

Merci :slight_smile:

en général on obtient un json vide avec la fonction file_get_contents lorsque le fichier json n’est pas d’une syntaxe totalement académique.

Je pense que si tu veux un code de retour précis sur la lecture d’une URL (et pas d’un fichier local), il faut passer par une requête REST via CURL. La syntaxe est plus compliquée à mettre en oeuvre, mais le retour beaucoup plus détaillé sur les raisons de l’échec. Pour moi à priori, avec CURL tu pourras lire le flux à coup sur.

Hello @neurall,
Pourtant, j’ai l’impression qu’il est conforme (via JSON viewer):

J’ai tenté un truc en m’inspirant d’un autre post, mais pas convaincu par mon bout de code…

$date = date('Y-m-d');
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://eau.api.agriculture.gouv.fr/apis/propluvia/arretes/".$date."/commune/63113');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
$scenario->setLog("HEADER :".$headers);
$scenario->setLog("CURL :".$ch);

curl_close($ch);

Tu pourrais m’aider ?
Mathieu