Météo du jour par Télégram avec Openweather

Bonjour,

Voici une scène qui permet de recevoir la météo tous les matins grâce à un message Télégram.

Premièrement, il vous faut une clé d’API OpenWeather 3 (attention, les anciennes clés fonctionnant pour la version 2 ne sont pas valables pour ce tutoriel).
Si vous n’en avez pas, rendez-vous ici : Members

:warning: Le plan autorise 1000 appels par jour (largement suffisant). Au-delà, vous serez facturé 0.14€ pour 100 appels supplémentaires.

Maintenant, vous pouvez créer une scène avec :

  • le déclencheur de votre choix. J’ai choisi Déclencheur Programmé (tous les jours à 7h30)

  • une action Faire une requête HTTP
    L’URL sera

https://api.openweathermap.org/data/3.0/onecall?lat=<latitude>&lon=<longitude>&exclude=minutely,hourly,current,alert&lang=fr&units=metric&appid=<api_key>

Pour Paris par exemple, cela donne

https://api.openweathermap.org/data/3.0/onecall?lat=48.8588897&lon=2.320041&exclude=minutely,hourly,current,alert&lang=fr&units=metric&appid=XXXXXXXXX

Vous pouvez trouver les coordonnées GPS d’une adresse facilement avec ce site : https://www.coordonnees-gps.fr/
N’oubliez pas de tester l’appel avec le bouton Essayer

:information_source: Informations

  • le paramètre exclude permet d’obtenir en réponse uniquement la météo des jours
  • le paramètre metrics permet d’obtenir la réponse avec des degrés Celcius
  • le paramètre lang permet d’obtenir la réponse avec des descriptions en français


  • enfin, une action Envoyer un message. Libre à vous de personnaliser le message comme bon vous semble en utilisant les variables de la réponse HTTP précédente. Pour moi, cela donne :
Bonjour Cyril, aujourd'hui, le temps est {{ 1. 1. data.daily.[0].weather.[0].description }} et il fera entre {{ 1. 1. data.daily.[0].temp.min }} °C et {{ 1. 1. data.daily.[0].temp.max }} °C

9 Likes

Salut @cicoub13, est-ce que tu as eu besoin de rentrer ta CB pour avoir accès à l’API Onecall ?

Oui :money_mouth_face:

Ok, si tu utilise le call API Weather tu as pas besoin de mettre ta CB, c’est ce qu’on fait dans Gladys :slight_smile:

Effectivement, vous pouvez utiliser la version 2.5 de l’API qui est gratuite (sans CB) et offre la même fonctionnalité.

http://api.openweathermap.org/data/2.5/weather?lat=43.267093&lon=-0.421642&lang=fr&units=metric&cnt=1&appid=XXX

Je mets à jour le tutoriel avec les deux options ou seulement celle-là ? Mais il n’y avait pas une histoire comme quoi on pouvait plus avoir de clé pour cette version ?

Non justement, c’est l’API OneCall qui n’est plus dispo, le reste c’est bon. J’ai créé un token pas plus tard que la semaine dernière :slight_smile:

Bonjour @cicoub13

De mon coté ça ne fonctionne pas avec la clé API Weather . Je ne vois pas d’autres retour sur le sujet si d’autres utilisateurs ont réussi ou non.

Voici le message d’erreur :

{
  "cod": 401,
  "message": "Invalid API key. Please see https://openweathermap.org/faq#error401 for more info."
}

Résolu mais code à modifier dans ton message :

https://api.openweathermap.org/data/2.5/weather?lat=43.267093&lon=-0.421642&lang=fr&units=metric&cnt=1&appid=XXX

:wink:

1 Like

Par contre il me sort des températures surprenantes :

Bonjour Jérôme, Aujourd’hui le temps est partiellement nuageux, il fera entre 281.92°C et 283.01 et la qualité de l’air est de 38

J’ai ça moi, ça semble OK. Tu es sûr que tu as les unités en metrics ?

{"coord":{"lon":-0.4216,"lat":43.2671},"weather":[{"id":800,"main":"Clear","description":"ciel dégagé","icon":"01n"}],"base":"stations","main":{"temp":9.88,"feels_like":9,"temp_min":9.32,"temp_max":10.18,"pressure":1007,"humidity":92},"visibility":10000,"wind":{"speed":2.06,"deg":140},"clouds":{"all":0},"dt":1698700059,"sys":{"type":1,"id":6466,"country":"FR","sunrise":1698647606,"sunset":1698685027},"timezone":3600,"id":2980166,"name":"Saint-Faust","cod":200}

Oui
La ville est bonne
Il n’y a que les degrés qui ne sont pas cohérents. Je verrai demain lors du message automatique si j’ai la même chose.

Résolu j’avais mis un « s » à metric dans ma ligne.

oups :sweat_smile: