Script Weather Underground

Discussion et échanges de scripts pour la box eedomus

Script Weather Underground

Messagepar Ouillieres » 05 Août 2023 10:30

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.
Ouillieres
 
Messages : 8
Inscription : 05 Août 2023

Re: Script Weather Underground

Messagepar bigjohn007 » 19 Nov 2023 07:19

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
bigjohn007
 
Messages : 6
Inscription : 20 Août 2023

Re: Script Weather Underground

Messagepar newstorm » 23 Nov 2023 22:09

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
newstorm
 
Messages : 4
Inscription : 23 Nov 2023

Re: Script Weather Underground

Messagepar Ouillieres » 24 Nov 2023 07:11

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 )
Ouillieres
 
Messages : 8
Inscription : 05 Août 2023

Re: Script Weather Underground

Messagepar newstorm » 27 Nov 2023 22:10

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
newstorm
 
Messages : 4
Inscription : 23 Nov 2023

Re: Script Weather Underground

Messagepar bolzano » 04 Déc 2023 10:30

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)
EEdomus+ (03/2015) / FGR-221 (x7) / ZMNHJA2 (x1) / ZMNHJD1 (x5) / ZMNHAA2 (x1) / FGSD-002 (x3) / Aeotec ZW078 (x1) / Zipato miniKeypad / FGMS-001 x2 / HSM02 (x1) / FGK101 (x2) / Alexa / Google Home
bolzano
 
Messages : 682
Inscription : 01 Déc 2014

Re: Script Weather Underground

Messagepar Ouillieres » 04 Déc 2023 11:16

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
Ouillieres
 
Messages : 8
Inscription : 05 Août 2023

Re: Script Weather Underground

Messagepar bolzano » 04 Déc 2023 14:01

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
EEdomus+ (03/2015) / FGR-221 (x7) / ZMNHJA2 (x1) / ZMNHJD1 (x5) / ZMNHAA2 (x1) / FGSD-002 (x3) / Aeotec ZW078 (x1) / Zipato miniKeypad / FGMS-001 x2 / HSM02 (x1) / FGK101 (x2) / Alexa / Google Home
bolzano
 
Messages : 682
Inscription : 01 Déc 2014

Re: Script Weather Underground

Messagepar opa95 » 04 Déc 2023 14:21

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). :)
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 731
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Script Weather Underground

Messagepar bolzano » 04 Déc 2023 15:51

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) ?
EEdomus+ (03/2015) / FGR-221 (x7) / ZMNHJA2 (x1) / ZMNHJD1 (x5) / ZMNHAA2 (x1) / FGSD-002 (x3) / Aeotec ZW078 (x1) / Zipato miniKeypad / FGMS-001 x2 / HSM02 (x1) / FGK101 (x2) / Alexa / Google Home
bolzano
 
Messages : 682
Inscription : 01 Déc 2014

Re: Script Weather Underground

Messagepar opa95 » 04 Déc 2023 15:59

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) :)
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 731
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Script Weather Underground

Messagepar bolzano » 04 Déc 2023 16:03

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 !
EEdomus+ (03/2015) / FGR-221 (x7) / ZMNHJA2 (x1) / ZMNHJD1 (x5) / ZMNHAA2 (x1) / FGSD-002 (x3) / Aeotec ZW078 (x1) / Zipato miniKeypad / FGMS-001 x2 / HSM02 (x1) / FGK101 (x2) / Alexa / Google Home
bolzano
 
Messages : 682
Inscription : 01 Déc 2014

Re: Script Weather Underground

Messagepar bolzano » 06 Déc 2023 12:46

Je confirme : avec une eedomus+, ça fonctionne :o
EEdomus+ (03/2015) / FGR-221 (x7) / ZMNHJA2 (x1) / ZMNHJD1 (x5) / ZMNHAA2 (x1) / FGSD-002 (x3) / Aeotec ZW078 (x1) / Zipato miniKeypad / FGMS-001 x2 / HSM02 (x1) / FGK101 (x2) / Alexa / Google Home
bolzano
 
Messages : 682
Inscription : 01 Déc 2014


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Google [Bot] et 68 invité(s)