Forum eedomus
https://forum.eedomus.com/

Script Weather Underground
https://forum.eedomus.com/viewtopic.php?f=50&t=11978
Page 1 sur 1
Auteur:  Ouillieres [ 05 Août 2023 10:30 ]
Sujet du message:  Script Weather Underground

Si vous utilisez les informations en temps réel de Weather Underground grace au module développé par Planète Domotique ( 2021 ) , vous avez remarqué que ces données ne remontent plus dans la Eedomus et retourne une grande série d'erreurs. :oops:
Cela tient au fait que le sit Weather Underground à modifier le format de son Api et les données ne sont plus lues dans l'ordre.
J'ai donc modifié le script wu.php afin qu'il soit adapté au nouveau format .

Testé et OK pour moi.
Si vous souhaitez le nouveau script, un email et c'est gratuit.
Auteur:  bigjohn007 [ 19 Nov 2023 07:19 ]
Sujet du message:  Re: Script Weather Underground

Bonjour,

Le script Weather Underground marche très bien mais il ne remonte pas les décimales de la tempérarature dans Eedomus.
Comment modifier cela ? Dois-je modifier le script ou existe-t-il un réglage dans le périphérique Eedomus ?

Merci de vos éclairages,
Jean


EDIT: désolé de vous avoir dérangé. J'ai trouvé: il suffit d'ajouter le paramètre "numericPrecision=decimal" dans le script
Auteur:  newstorm [ 23 Nov 2023 22:09 ]
Sujet du message:  Re: Script Weather Underground

Bonjour,
Je suis utilisateur eedomus de plus de10 ans mais pas opérationnel en programmation,
pourriez_vous m'indiquer les modification a apporter dans le script Wu.php pour pouvoir
récupérer les données de ma station sur weather underground.
Cordalement
Eric
Auteur:  Ouillieres [ 24 Nov 2023 07:11 ]
Sujet du message:  Re: Script Weather Underground

Bonjour,
Pas besoin de modifier le script WU.php.
Juste bien renseigner les informations demandées lors de l'initialisation du module sur votre box Eedomus. ( VAR1 et VAR2 )
Auteur:  newstorm [ 27 Nov 2023 22:10 ]
Sujet du message:  Re: Script Weather Underground

Bonjour,
Merci pour le retour.
J’ai fait confusion entre la Key lors de l’ouverture du compte en Var2 et la clé API
qu’il faut générer. J’ai procédé à la mise à jour de la clé API comme je suis transmetteur avec ma station wifi Bresser (ILEMAN33) et cela fonctionne désormais.
Petite question: les valeurs sont lues en entier au degré près
Ou dois-noter la mention « décimale « dans le script pour remonter les valeurs précises ?

Merci par avance
Bien cordialement
Eric
Auteur:  bolzano [ 04 Déc 2023 10:30 ]
Sujet du message:  Re: Script Weather Underground

Bonjour à tous,

Avec l'aide de Ouillières (merci !), j'ai eu la confirmation que le script était à jour suite au changement de l'API chez WU.
Cependant malgré les bonnes valeurs de la station et de la clé API, ça remonte en erreur.
Sur le script direct :
Image

Une idée ?

(J'ai supprimé et recréé le composant)
Auteur:  Ouillieres [ 04 Déc 2023 11:16 ]
Sujet du message:  Re: Script Weather Underground

Rebonjour,
Ce script ne me semble pas le bon. Voici celui que j'utilise:
<?php

/*************************************************************************************
* Script Meteo permettant de récupérer les données météos Hyperlocales via Weather Underground.
* Développé par Planète Domotique *
* 2 paramètres obligatoires: La clé de WU ainsi que l'ID de la station météo locale.
* L'url est de la forme: http://192.168.0.55/script/?exec=wu.php&IDSTATIONURL=[VAR1]&APIKEYURL=[VAR2]
* [VAR1] : Doit contenir l'ID de la station
* [VAR2] : Doit contenir la clé API
**************************************************************************************/

// Récupération l'ID de la station et de la clé API
$idstation = getArg('IDSTATIONURL');
$key = getArg('APIKEYURL');

// On récupère la meteo via l'URL de l'API et on le formate.
$url_meteo="https://api.weather.com/v2/pws/observations/current?stationId=" . $idstation . "&format=json&units=m&apiKey=" . $key . "";
$jsonResponse = httpQuery($url_meteo);
$content = sdk_json_decode($jsonResponse, true);

// Generation du XML
sdk_header('text/xml');
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<wu>';
$xml .= '<id>' . $content[observations][0][stationID] . '</id>';
$xml .= '<obsTimeLocal>' . $content[observations][0][obsTimeLocal] . '</obsTimeLocal>';
$xml .= '<humidity>' . $content[observations][0][humidity] . '</humidity>';
$xml .= '<temp>' . $content[observations][0][metric][temp] . '</temp>';
$xml .= '<heatIndex>' . $content[observations][0][metric][heatIndex] . '</heatIndex>';
$xml .= '<dewpt>' . $content[observations][0][metric][dewpt] . '</dewpt>';
$xml .= '<windSpeed>' . $content[observations][0][metric][windSpeed] . '</windSpeed>';
$xml .= '<pressure>' . $content[observations][0][metric][pressure] . '</pressure>';
$xml .= '<precipRate>' . $content[observations][0][metric][precipRate] . '</precipRate>';
$xml .= '<precipTotal>' . $content[observations][0][metric][precipTotal] . '</precipTotal>';
$xml .= '<uv>' . $content[observations][0][uv] . '</uv>';
$xml .= '<winddir>' . $content[observations][0][winddir] . '</winddir>';
$xml .= '<solarRadiation>' . $content[observations][0][solarRadiation] . '</solarRadiation>';
$xml .= '</wu>';
echo $xml;
?>
Tenez moi au courant du résultat. Cordilament
Auteur:  bolzano [ 04 Déc 2023 14:01 ]
Sujet du message:  Re: Script Weather Underground

J'ai le même
Code : Tout sélectionner
<?php

/*************************************************************************************
 * Script Meteo permettant de récupérer les données météos Hyperlocales via Weather Underground.
 * Développé par Planète Domotique *
 * 2 paramètres obligatoires: La clé de WU ainsi que l'ID de la station météo locale.
 * L'url est de la forme: http://192.168.0.55/script/?exec=wu.php&IDSTATIONURL=[VAR1]&APIKEYURL=[VAR2]
 *   [VAR1] : Doit contenir l'ID de la station
 *   [VAR2] : Doit contenir la clé API
 **************************************************************************************/

// Récupération l'ID de la station et de la clé API
$idstation = getArg('IDSTATIONURL');
$key = getArg('APIKEYURL');

// On récupère la meteo via l'URL de l'API et on le formate.
$url_meteo="https://api.weather.com/v2/pws/observations/current?stationId=" . $idstation . "&format=json&units=m&apiKey=" . $key . "";
$jsonResponse = httpQuery($url_meteo);
$content = sdk_json_decode($jsonResponse, true);

// Generation du XML
sdk_header('text/xml');
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= '<wu>';
$xml .= '<id>' . $content[observations][0][stationID] . '</id>';
$xml .= '<obsTimeLocal>' . $content[observations][0][obsTimeLocal] . '</obsTimeLocal>';
$xml .= '<humidity>' . $content[observations][0][humidity] . '</humidity>';
$xml .= '<temp>' . $content[observations][0][metric][temp] . '</temp>';
$xml .= '<heatIndex>' . $content[observations][0][metric][heatIndex] . '</heatIndex>';
$xml .= '<dewpt>' . $content[observations][0][metric][dewpt] . '</dewpt>';
$xml .= '<windSpeed>' . $content[observations][0][metric][windSpeed] . '</windSpeed>';
$xml .= '<pressure>' . $content[observations][0][metric][pressure] . '</pressure>';
$xml .= '<precipRate>' . $content[observations][0][metric][precipRate] . '</precipRate>';
$xml .= '<precipTotal>' . $content[observations][0][metric][precipTotal] . '</precipTotal>';
$xml .= '<uv>' . $content[observations][0][uv] . '</uv>';
$xml .= '<winddir>' . $content[observations][0][winddir] . '</winddir>';
$xml .= '<solarRadiation>' . $content[observations][0][solarRadiation] . '</solarRadiation>';
$xml .= '</wu>';
echo $xml;
?>


Et pourtant depuis ce matin j'ai de l'activité sur l'API WU
Image

Mais toujours l'erreur
Image
Auteur:  opa95 [ 04 Déc 2023 14:21 ]
Sujet du message:  Re: Script Weather Underground

Bonjour Bolzano
bolzano a écrit:J'ai le même
...
Et pourtant depuis ce matin j'ai de l'activité sur l'API WU
...
Mais toujours l'erreur
...

Tous les champs sont vides.
Il faudrait connaître la valeur de la réponse $jsonResponse.
Pour cela, tu peux rajouter dans le script après la ligne $xml .= '<wu>';
$xml .= '<reponse>'.$jsonResponse.'</reponse>'; et observer le contenu de reponse (éventuellement en mode test). :)
Auteur:  bolzano [ 04 Déc 2023 15:51 ]
Sujet du message:  Re: Script Weather Underground

Merci opa95 :-)
Test fait, la réponse est "TLS version not supported"

J'ai une Eedomus non plus, l'appel vers l'API n'aurait pas le bon protocole (vieux TLS) ?
Auteur:  opa95 [ 04 Déc 2023 15:59 ]
Sujet du message:  Re: Script Weather Underground

Bonjour bolzano
bolzano a écrit:Merci opa95 :-)
Test fait, la réponse est "TLS version not supported"

J'ai une Eedomus non plus, l'appel vers l'API n'aurait pas le bon protocole (vieux TLS) ?

Désolé, mais je n'ai pas la solution (j'ai une eedomus plus) :)
Auteur:  bolzano [ 04 Déc 2023 16:03 ]
Sujet du message:  Re: Script Weather Underground

J'ai aussi une "+", mais "ailleurs", mais je vais tester du coup.
Si ça marche je ferai une bricole entre les API des deux boxs pour afficher les valeurs d'une box à l'autre.
Merci à tous les deux pour votre aide !
Auteur:  bolzano [ 06 Déc 2023 12:46 ]
Sujet du message:  Re: Script Weather Underground

Je confirme : avec une eedomus+, ça fonctionne :o
Page 1 sur 1 Le fuseau horaire est UTC+1 heure