VOUS ÊTES ICI: Accueil » Blog » Domotique » Eedomus » Les prévisions météo avec eedomus
Eedomus

Les prévisions météo avec eedomus

Ce tuto va permettre de mettre en oeuvre assez simplement des prévisions météo dans votre eedomus.
Les informations météorologiques sont issues du site météo très complet www.worldweatheronline.com qui dispose d’une API. C’est sur cette API que nous allons nous appuyer pour importer les informations.

1 Pour bénéficier de cette API, il faut dans un premier temps s’inscrire et obtenir sa clé API. L’inscription est gratuite pour la version free, cette API gratuite permet de faire 500 requêtes par heures, c’est donc largement suffisant pour notre utilisation, mais vous verrez que nous en ferons beaucoup moins puisque je vous propose un script pour mettre en cache une version xml directement sur votre serveur, NAS Synology ou Raspberry.

weather-api-meteo-eedomus

Enregistrer un compte 2 Passons à présent à la configuration des données que nous souhaitons obtenir. Pour cela, rendez-vous dans l’API Explorer et sélectionnez le type d’API « Free Weather API »

api-weather-underground-explorer-eedomus

3 Saisissez votre App/Key
api-key-weather-underground-eedomus

4 Pour bénéficier des prévisions météo pour le lendemain, il faut paramétrer les options ainsi (en remplacent Paris par votre localisation)
local-weather-configuration-api-meteo

5 Faites « Try it » et récupérez l’url dans le cadre Request URL, c’est cette url qui servira à appeler vos données par la suite:
Cette url permet d’obtenir un xml sur mesure l’ors de son appel, par exemple pour mon url j’obtiens ce xml:

<?xml version="1.0" encoding="UTF-8"?>
  <data>
	<request>
		<type>City</type>
		<query>Paris, France</query>
	</request>
	<current_condition>
		<observation_time>04:24 PM</observation_time>
		<temp_C>11</temp_C>
		<temp_F>52</temp_F>
		<weatherCode>116</weatherCode>
		<weatherIconUrl>
		<![CDATA[http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0002_sunny_intervals.png]]>
		</weatherIconUrl>
	<weatherDesc>
		<![CDATA[Partly Cloudy ]]>
		</weatherDesc>
		<windspeedMiles>12</windspeedMiles>
		<windspeedKmph>19</windspeedKmph>
		<winddirDegree>160</winddirDegree>
		<winddir16Point>SSE</winddir16Point>
		<precipMM>0.1</precipMM>
		<humidity>87</humidity>
		<visibility>10</visibility>
		<pressure>996</pressure>
		<cloudcover>75</cloudcover>
		</current_condition>
	<weather>
		<date>2014-02-15</date>
		<tempMaxC>11</tempMaxC>
		<tempMaxF>52</tempMaxF>
		<tempMinC>5</tempMinC>
		<tempMinF>40</tempMinF>
		<windspeedMiles>23</windspeedMiles>
		<windspeedKmph>37</windspeedKmph>
		<winddirection>SW</winddirection>
		<winddir16Point>SW</winddir16Point>
		<winddirDegree>221</winddirDegree>
		<weatherCode>116</weatherCode>
		<weatherIconUrl>
		<![CDATA[http://cdn.worldweatheronline.net/images/wsymbols01_png_64/wsymbol_0002_sunny_intervals.png]]>
		</weatherIconUrl>
		<weatherDesc>
		<![CDATA[Partly Cloudy ]]>
		</weatherDesc>
		<precipMM>0.5</precipMM>
	</weather>
  </data>

Les données que nous souhaitons affichées sont les dans les lignes en surbrillance.
Notre url acquise et le xml appréhendé, passons à présent à configuration coté eedomus.

6 Créez une nouvelle pièce « Météo » par exemple:
meteo-peripherique-eedomus-domotique

7 Dans cette pièce, ajoutez un nouveau périphérique « capteur HTTP » auquel vous donnez le nom que vous souhaitez, chez moi c’est « Pluie demain », ce capteur comme son nom l’indique, donnera la prévision pluviométrique du lendemain. Configurer ce périphérique comme suit:
eedomus-meteo-peripjerique-pluie-demain

Un peu de détail:
coller l’url obtenu à l’étape précédente dans le champ URL de la requête et pour afficher la donnée de la ligne 46 <precipMM>, entrer le chemin XPATH /data/weather/precipMM.

Une fréquence à 600 minutes soit toutes les 10 heures permet 2 rafraîchissements par jour, un étant amplement suffisant, mais au cas ou…

Faites-en de même pour les indicateurs suivants avec leurs chemins XPATH respectifs:

  • /data/weather/tempMaxC  pour la température maxi
  • /data/weather/tempMinC  pour la température mini
  • /data/weather/windspeedKmph  pour la vitesse du vent
  • /data/weather/winddirection  pour la direction du vent*
    *Notez que pour ce périphérique le type de données est « liste de valeurs ».

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE

A propos de cet auteur

Aurélien Brunet

Aurélien Brunet

Informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données, un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 avec ma première box domotique l'eedomus associée à un raspberrypi et quelques développements personnels. Depuis, je test, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog pour améliorer votre quotidien dans la smart home!

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE
close-link
NOEL 2 DOMO-BLOG

Venez Jouer
avec nous !

Cette année Noel sera connecté
JOUER
#Noel2DOmoBlog
close-link