Echec pour avoir les données 'Open Weather Map'
Echec pour avoir les données 'Open Weather Map'
Hello,
Version : 2022.1 build 14477
Platform Windows 10
J’ai commencé récemment avec Domoticz.
J’essaie de configurer une entrée matériel pour ‘Open Weather Map’ (OWM).
J’ai ouvert un compte et j’ai obtenu une clé API.
Pour la configuration, voir fichier ci-joint
Echec au démarrage , voici le log :
2022-09-06 10:01:42.394 Status: Meteo_Local: Using Domoticz home location (Lon 4.988987, Lat 50.7001)!
2022-09-06 10:01:42.523 Status: Meteo_Local: Using specified location (Lon 4.988987, Lat 50.7001) Unable to find nearest City!
2022-09-06 10:01:42.524 Status: Meteo_Local: Started
2022-09-06 10:01:42.523 Error: Meteo_Local: Error getting http data!
J’ai construit l’appel manuellement comme documenté chez OWM, et j’utilise chrome.
https://api.openweathermap.org/data/2.5 ... ic&lang=en
Cela fonctionne très bien et j’obtiens le fichier JSON.
Bien que n’étant pas expert C++, j’ai regardé dans le module ‘OpenWeatherMap.cpp’.
Il me semble que l’appel OWM est construit correctement.
Ensuite il y a appel à ‘HTTPClient::GET’ qui retourne ‘false’
Pour ce code mon expérience C++ est trop légère.
Une idée pour l’appel échoue ?
Merci
Version : 2022.1 build 14477
Platform Windows 10
J’ai commencé récemment avec Domoticz.
J’essaie de configurer une entrée matériel pour ‘Open Weather Map’ (OWM).
J’ai ouvert un compte et j’ai obtenu une clé API.
Pour la configuration, voir fichier ci-joint
Echec au démarrage , voici le log :
2022-09-06 10:01:42.394 Status: Meteo_Local: Using Domoticz home location (Lon 4.988987, Lat 50.7001)!
2022-09-06 10:01:42.523 Status: Meteo_Local: Using specified location (Lon 4.988987, Lat 50.7001) Unable to find nearest City!
2022-09-06 10:01:42.524 Status: Meteo_Local: Started
2022-09-06 10:01:42.523 Error: Meteo_Local: Error getting http data!
J’ai construit l’appel manuellement comme documenté chez OWM, et j’utilise chrome.
https://api.openweathermap.org/data/2.5 ... ic&lang=en
Cela fonctionne très bien et j’obtiens le fichier JSON.
Bien que n’étant pas expert C++, j’ai regardé dans le module ‘OpenWeatherMap.cpp’.
Il me semble que l’appel OWM est construit correctement.
Ensuite il y a appel à ‘HTTPClient::GET’ qui retourne ‘false’
Pour ce code mon expérience C++ est trop légère.
Une idée pour l’appel échoue ?
Merci
- Pièces jointes
-
- Configuration.jpg (435.57 Kio) Consulté 2805 fois
Re: Echec pour avoir les données 'Open Weather Map'
Bonjour gsagsa99 et bienvenu sur le forum
Le message du log indique que le plugin a du mal à trouver une ville proche de ta position. Comme si tu habitais en plein milieu de nulle part
Essaye peut-être de paramétrer une localisation sur Paris pour voir si cela fonctionne.
EDIT :
Le service semble se calculer sur les villes. Les coordonnées données sont une position dans l'océan :
Si c'est réellement ta position, je te conseille plutôt une météo marine
Le message du log indique que le plugin a du mal à trouver une ville proche de ta position. Comme si tu habitais en plein milieu de nulle part
Essaye peut-être de paramétrer une localisation sur Paris pour voir si cela fonctionne.
EDIT :
Le service semble se calculer sur les villes. Les coordonnées données sont une position dans l'océan :
Si c'est réellement ta position, je te conseille plutôt une météo marine
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Echec pour avoir les données 'Open Weather Map'
Merci Keros
J'avais essayé avec plusieurs villes et cela n'a pas fonctionné. Voici le log avec Paris
2022-09-09 21:49:56.111 Status: Meteo_Local: Worker stopped...
2022-09-09 21:49:56.233 Status: Meteo_Local: Using specified location (Lon 2.3522, Lat 48.8566) Unable to find nearest City!
2022-09-09 21:49:56.234 Status: Meteo_Local: Started
2022-09-09 21:49:56.233 Error: Meteo_Local: Error getting http data!
2022-09-09 21:49:59.354 Error: Meteo_Local: Error getting http data!
L'URL que j'ai construit avec les coordonnées locales (effectivement je suis dans un trou à la campagne) fonctionne et me retourne la ville la plus proche avec ses données météo .
Voici l'URL construit manuellement (avec mes coordonnées locales).
https://api.openweathermap.org/data/2.5 ... ic&lang=en
En entrant cet URL dans chrome, j'obtient en retour (format JSON )
{"coord":{"lon":4.989,"lat":50.7001},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"base":"stations","main":{"temp":15.83,"feels_like":15.71,"temp_min":14.04,"temp_max":16.79,"pressure":1009,"humidity":86},"visibility":10000,"wind":{"speed":4.12,"deg":200},"rain":{"1h":0.24},"clouds":{"all":75},"dt":1662753281,"sys":{"type":2,"id":2010548,"country":"BE","sunrise":1662699965,"sunset":1662746951},"timezone":7200,"id":2789621,"name":"Orp-le-Grand","cod":200}
Je décode le JSON en ligne et j'obtiens les données météo de la ville la plus proche de chez moi : Orp-le-Grand (voir fichier ci-joint)
Donc je pense que quelque se passe dans le code de 'HTTPClient::GET’
@ Keros , je suis bien sur terre
, tu as inversé lon et lat. 
Merci
J'avais essayé avec plusieurs villes et cela n'a pas fonctionné. Voici le log avec Paris
2022-09-09 21:49:56.111 Status: Meteo_Local: Worker stopped...
2022-09-09 21:49:56.233 Status: Meteo_Local: Using specified location (Lon 2.3522, Lat 48.8566) Unable to find nearest City!
2022-09-09 21:49:56.234 Status: Meteo_Local: Started
2022-09-09 21:49:56.233 Error: Meteo_Local: Error getting http data!
2022-09-09 21:49:59.354 Error: Meteo_Local: Error getting http data!
L'URL que j'ai construit avec les coordonnées locales (effectivement je suis dans un trou à la campagne) fonctionne et me retourne la ville la plus proche avec ses données météo .
Voici l'URL construit manuellement (avec mes coordonnées locales).
https://api.openweathermap.org/data/2.5 ... ic&lang=en
En entrant cet URL dans chrome, j'obtient en retour (format JSON )
{"coord":{"lon":4.989,"lat":50.7001},"weather":[{"id":500,"main":"Rain","description":"light rain","icon":"10n"}],"base":"stations","main":{"temp":15.83,"feels_like":15.71,"temp_min":14.04,"temp_max":16.79,"pressure":1009,"humidity":86},"visibility":10000,"wind":{"speed":4.12,"deg":200},"rain":{"1h":0.24},"clouds":{"all":75},"dt":1662753281,"sys":{"type":2,"id":2010548,"country":"BE","sunrise":1662699965,"sunset":1662746951},"timezone":7200,"id":2789621,"name":"Orp-le-Grand","cod":200}
Je décode le JSON en ligne et j'obtiens les données météo de la ville la plus proche de chez moi : Orp-le-Grand (voir fichier ci-joint)
Donc je pense que quelque se passe dans le code de 'HTTPClient::GET’
@ Keros , je suis bien sur terre
Merci
- Pièces jointes
-
- jsonformatter.zip
- (520 octets) Téléchargé 113 fois
Dernière modification par Keros le 10 sept. 2022, 07:00, modifié 1 fois.
Raison : Merci d'éditer le dernier message pour y rajouter l'information supplémentaire
Raison : Merci d'éditer le dernier message pour y rajouter l'information supplémentaire
Re: Echec pour avoir les données 'Open Weather Map'
Ah, oups désolé
Tu as essayé en rentrant le nom de la ville ou son ID ?
Tu as essayé en rentrant le nom de la ville ou son ID ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Echec pour avoir les données 'Open Weather Map'
Bonjour ,
Soit avec le nom , soit avec l'ID, cela ne marche pas.
J'ai pris PARIS , pour éviter mon trou perdu dans la campagne belge
Avec le nom, voici le log
2022-09-10 10:08:13.963 Status: Meteo_Local: Worker stopped...
2022-09-10 10:08:13.963 Status: Meteo_Local: Using specified location (City PARIS)!
2022-09-10 10:08:14.091 Status: Meteo_Local: Started
2022-09-10 10:08:14.090 Error: Meteo_Local: Error getting http data!
2022-09-10 10:08:14.090 Error: Meteo_Local: Unable to resolve City to Latitude/Longitude, please use Latitude,Longitude directly in hardware setup
L'ID de PARIS est 6455259 (voir fichier ci-joint)
Avec l'ID , voici le log
2022-09-10 10:13:01.723 Status: Meteo_Local: Worker stopped...
2022-09-10 10:13:01.724 Status: Meteo_Local: Using specified location (Station ID 6455259)!
2022-09-10 10:13:01.876 Status: Meteo_Local: Started
2022-09-10 10:13:01.875 Error: Meteo_Local: Error getting http data!
2022-09-10 10:13:01.876 Error: Meteo_Local: Unable to resolve City to Latitude/Longitude, please use Latitude,Longitude directly in hardware setup!)
J'ai obtenu l'ID de PARIS en faisant manuellement l'URL suivant
https://api.openweathermap.org/data/2.5 ... ic&lang=en
J'obtiens bien les données météo avec l'ID de PARIS (voir fichier ci-joint)
Je pense qu'il y a un bug dans le code de la méthode HTTPClient::GET, mais mes faibles connaissances C++ ne sont suffisantes pour lire le code.
Y-a-t-il moyen de mettre une trace ?
Merci
Soit avec le nom , soit avec l'ID, cela ne marche pas.
J'ai pris PARIS , pour éviter mon trou perdu dans la campagne belge
Avec le nom, voici le log
2022-09-10 10:08:13.963 Status: Meteo_Local: Worker stopped...
2022-09-10 10:08:13.963 Status: Meteo_Local: Using specified location (City PARIS)!
2022-09-10 10:08:14.091 Status: Meteo_Local: Started
2022-09-10 10:08:14.090 Error: Meteo_Local: Error getting http data!
2022-09-10 10:08:14.090 Error: Meteo_Local: Unable to resolve City to Latitude/Longitude, please use Latitude,Longitude directly in hardware setup
L'ID de PARIS est 6455259 (voir fichier ci-joint)
Avec l'ID , voici le log
2022-09-10 10:13:01.723 Status: Meteo_Local: Worker stopped...
2022-09-10 10:13:01.724 Status: Meteo_Local: Using specified location (Station ID 6455259)!
2022-09-10 10:13:01.876 Status: Meteo_Local: Started
2022-09-10 10:13:01.875 Error: Meteo_Local: Error getting http data!
2022-09-10 10:13:01.876 Error: Meteo_Local: Unable to resolve City to Latitude/Longitude, please use Latitude,Longitude directly in hardware setup!)
J'ai obtenu l'ID de PARIS en faisant manuellement l'URL suivant
https://api.openweathermap.org/data/2.5 ... ic&lang=en
J'obtiens bien les données météo avec l'ID de PARIS (voir fichier ci-joint)
Je pense qu'il y a un bug dans le code de la méthode HTTPClient::GET, mais mes faibles connaissances C++ ne sont suffisantes pour lire le code.
Y-a-t-il moyen de mettre une trace ?
Merci
- Pièces jointes
-
- JsonParis.zip
- (496 octets) Téléchargé 120 fois
Re: Echec pour avoir les données 'Open Weather Map'
Là, cela dépasse mes compétences, je ne pourrais pas t'aider plus.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Re: Echec pour avoir les données 'Open Weather Map'
Merci pour ton aide
Re: Echec pour avoir les données 'Open Weather Map'
Voici (sauf erreurs de ma part), les raisons de l'échec.
OpenWeatherMap à deux APIs :
1. api.openweathermap.org/data/2.5/weather?<paramètres> --> donne la météo actuelle
2 api.openweathermap.org/data/2.5/onecall?<paramètres> --> prévisions
Je ne sais pas depuis quand , mais le deuxième API est passé en version 3.0. La version 2.5 ne fonctionne plus!
De plus il faut souscrire à un 'Base Plan' payant mais qui ne sera facturé qu'après les premiers 1000 appels (journaliers ?) qui restent gratuits.
Pour faire fonctionner cela nécessite un changement de code (voir fichier C++ ci-joint)
OpenWeatherMap à deux APIs :
1. api.openweathermap.org/data/2.5/weather?<paramètres> --> donne la météo actuelle
2 api.openweathermap.org/data/2.5/onecall?<paramètres> --> prévisions
Je ne sais pas depuis quand , mais le deuxième API est passé en version 3.0. La version 2.5 ne fonctionne plus!
De plus il faut souscrire à un 'Base Plan' payant mais qui ne sera facturé qu'après les premiers 1000 appels (journaliers ?) qui restent gratuits.
Pour faire fonctionner cela nécessite un changement de code (voir fichier C++ ci-joint)
- Pièces jointes
-
- OpenWeatherMap.zip
- (5.85 Kio) Téléchargé 147 fois
Re: Echec pour avoir les données 'Open Weather Map'
Dans "Localisation", il faut rentrer les coordonnées sous ce format :
Code : Tout sélectionner
lat=46.XXXXXX&lon=-1.XXXXXXRe: Echec pour avoir les données 'Open Weather Map'
Bonjour Neutrino
merci
Pourquoi -1.xxxxx pour la longitude ?
Si je veux Paris (lat = 48.8566, lon = 2.3522) que dois-je mettre ?
merci
Pourquoi -1.xxxxx pour la longitude ?
Si je veux Paris (lat = 48.8566, lon = 2.3522) que dois-je mettre ?