Après quelques recherches sur internet, je suis tombé sur le site www.lcsqa.org qui recense les relevés de pollution de pas moins de 100 villes du territoire français. De quoi nous permettre d’avoir une idée de l’air que l’on respire en se basant sur une ville proche de chez soi.
le site www.lcsqa.org permet de réaliser un export XML, le fichier XML n’est pas des plus simples à lire via la box du fait que tous ses noeuds se nomment pareils et que leur position est aléatoire, cependant je vous propose une technique qui va vous permettre d’importer simplement la valeur dans votre box.
J’ai alors codé 2 petits scripts qui vont permettre, pour le premier d’enregistrer localement le fichier xml complet, et le second lui va construire un xml avec uniquement les données de la ville que vous souhaitez suivre.
Commencez donc par télécharger les fichiers suivants
Si vous utilisez déjà ce script, veuillez suivre la procédure de mise à jour via ce tuto
Si vous n’avez jamais mis en place ce script, télécharger la version complète ci-dessous qui comporte la dernière MAJ
[wpdm_package id=’10106′]
copiez le contenu du zip dans un répertoire de votre serveur web (par exemple air).
Lancez votre navigateur web et exécutez le premier script enregistrement_qualite_air.php ce script va générer un fichier xml qui comporte toutes les données.
http://192.168.x.x/web/air/enregistrement_qualite_air.php
Si tout a bien fonctionné, vous obtenez les messages suivants:
Si ce n’est pas le cas vous devez modifier les droits sur le fichier air.xml pour permettre au script d’écrire dedans.
J’ai édité une liste des villes proposées dans le XML. Sélectionnez une ville proche de chez vous dans cette liste :
ville | ville |
---|---|
HAVRE | VIENNE |
ROUEN | BOURGOIN-JALLIEU |
EVREUX | CHALONS-EN-CHAMPAGNE |
ALENCON | CHARLEVILLE-MEZIERES |
CAEN | REIMS |
CHERBOURG-OCTEVILLE | SAINT-DIZIER |
LISIEUX | TROYES |
SAINT-LO | CHAMBERY |
AMIENS | SAINT-JEAN-DE-MAURIENNE |
CREIL | CHAMONIX-MONT-BLANC |
SAINT-QUENTIN | ANNECY |
FORT-DE-FRANCE | ALBERTVILLE |
PORT | BOURG-EN-BRESSE |
SAINT-PIERRE | ANNEMASSE |
BOULOGNE-SUR-MER | PASSY |
CALAIS | NIMES |
DUNKERQUE | PERPIGNAN |
SAINT-OMER | MONTPELLIER |
AIRVAULT | AGDE |
ANGOULEME | BEZIERS |
COGNAC | SAZE |
ROCHELLE | ALES |
NIORT | BELESTA-EN-LAURAGAIS |
POITIERS | CARLING |
COLMAR | FORBACH |
VILLAGE-NEUF | SARREGUEMINES |
MULHOUSE | VOLMUNSTER |
MUNCHHAUSEN | LONGLAVILLE |
STRASBOURG | METZ |
GRANDFONTAINE | PONT-A-MOUSSON |
PETITE-PIERRE | THIONVILLE |
MONTBELIARD | HAYANGE |
VESOUL | MOYEUVRE-GRANDE |
BELFORT | LYON |
LONS-LE-SAUNIER | BORDEAUX |
BESANCON | PAU |
DOLE | BAYONNE |
ORLEANS | LACQ |
BOURGES | PERIGUEUX |
TOURS | AGEN |
CHARTRES | DAX |
CHATEAUROUX | AJACCIO |
BLOIS | BASTIA |
DREUX | VENACO |
MONTARGIS | POINTE-A-PITRE |
VIERZON | AUXERRE |
GRENOBLE | DIJON |
VALENCE | NEVERS |
ROMANS-SUR-ISERE | SENS |
SAINT-ETIENNE | CHALON-SUR-SAONE |
PARIS | MONTCEAU-LES-MINES |
MACON |
La configuration du script
À présent éditons le fichier parametres.php, remplacez l’exemple PARIS par la ville que vous souhaitez suivre, enregistrez puis fermez le fichier.
Voilà la configuration du script est terminée. Si vous exécutez le script exploit_data.php dans votre navigateur:
http://192.168.x.x/web/air/exploit_data.php
vous obtenez le résultat suivant:
Si vous obtenez ce message, le script a correctement fonctionné, vous pouvez cliquer sur voire le XML pour voir le résultat généré.
Si ce n’est pas le cas, vous devez modifier les droits sur le fichier sortie.xml pour permettre au script d’écrire dedans.
La configuration coté Eedomus
1 Connectez vous à votre portail eedomus et créez un nouveau capteur HTTP que vous nommez par exemple qualité de l’air puis configurez-le ainsi:2 Appliquez lui les paramètres suivants:
URL: http://192.168.x.x/web/air/sortie.xml (ou 192.168.x.x correspond à l’IP de votre serveur web)
Chemin: /data/indice
Une fréquence d’actualisation de 300 minutes est suffisante puisque le fichier n’est généré qu’une seul fois par jour par le serveur de lcsqa.
3 Passez à présent dans l’onglet valeur et entrez la configuration suivante:
4 Il ne nous reste plus qu’a configurer un actionneur HTTP qui réalisera la mise à jour des fichiers xml une fois par jour:
Avec les valeurs suivantes: (ou 192.168.x.x est l’adresse IP de votre serveur web)
Et si nous automatisions tout cela?
Les règles pour automatiser la tâche sont simples. Il faut mettre en place deux règles, une première qui va générer le fichier xml avec les données actualisées du jour:
Puis une seconde, à quelques minutes d’intervalle qui met à jour l’état dans l’ eedomus
Notez que vous pouvez également gérer cette mise a jour directement coté serveur via la crontab de votre raspberry ou syno !
Conclusion
Voilà vous disposez à présent de l’indice de qualité de l’air dans votre système domotique ! Il est à présent très simple de l’intégrer à vos scénarios quotidiens.
Bien que présenté sur l’eedomus, ce tuto est bien entendu compatible avec toutes les autres box domotiques du marché.
merci c’est parfait…
tes icônes nous font très envie aurel… 😉
: ) Un pack article sera publié demain ou jeudi matin à ce sujet !
Patience ; )
Bonjour,
Pour réaliser ce tuto, il faut avoir un serveur Web ?
Merci,
Olivier
Impec, ça fonctionne super bien;)
Merci Aurel 😉
Superbe travail, fonctionne très bien
Merci
Mis en place sur mon Eedomus. Merci beaucoup.
Manque plus que le pack d’icônes… 🙂
Mais de rien!
Le pack d’icônes est déjà dispo dans la catégorie icônes
Yes, j’ai vu ça, et mis en place.
Par contre, j’ai échangé les catégories Mauvais et Médiocre.
Pour moi, médiocre c’est pire que mauvais, non? 🙂
le raisonnement est bon, cependant c’est bien dans cet ordre que l’indice est publié sur les sites officiel 🙂
Bonjour Aurel,
Merci pour cet article.
Tout fonctionne a merveille et bravo pour les icônes également.
Merci
oui c’est ça, mais il faut que le script puisse ecrire dans le fichier. C’est un peu particulier sur syno, j’ai réalisé cette install sur un raspberry, je n’ai pas rencontré de problème particulier. essaye peut être de mettre les droits full pour everyone dessus.
ben c est le cas mais ca ne fonctionne pas. je pense plus que c est moi le pb. y a pas qq un avec un syno ds le coin ? 😀 HEEEEEELLLLPPP
Adapté sur ma Zibase ça fonctionne bien 🙂
MERCI !!!
Bonjour,
Tout d’abord merci beaucoup.
Par contre, pensez (vous qui le mettrez en place et Aurel pour l’article)bien à mettre à jour le fichier des villes. Car depuis l’article, beaucoup de villes ont fait leur apparition dans le XML dont Toulouse.
@+
Bonjour,
Après débug il s’avère que (pour la ville de TOULOUSE) :
le lien appelé dans le script “enregistrement_qualite_air.php” retourne cette URL : http://www.lcsqa.org/surveillance/indices/prevus/jour/xml/
Et dans cette liste il n’y à pas toutes les villes 🙁
Celle ci se trouve dans la page précédente du site : http://www.lcsqa.org/surveillance/indices/liste
Que l’on peu télécharger en XML de la façon suivante :
http://www.lcsqa.org/surveillance/indices/liste/DATE_DU_JOUR (au format US).
Ex:http://www.lcsqa.org/surveillance/indices/liste/2014-04-2.
Pas encore eu le temps d’améliorer le script en place…
Faudrait que je me replonge dans le PHP à moins que tu es plus de temps que moi …. :$
Manu
Bonjour,
Merci, pour cette astuce … mis en place également, sur mon site de suivi des sondes meteo (http://meteo14320.fr)
Tiens BORDEAUX ne remonte plus dans la liste. C’était Ok avant.
Il va falloir que je trouve le temps de regarder ce qu’à dit Manu.
Après quelques essais il semblerait que cela ne soit pas aussi simple. Les mises à jour sur le site lcsqa ne sont pas toujours valables pour toutes les villes.
Je pense malheureusement que pour les personnes qui ne sont pas sur Paris ça va être assez aléatoire de récupérer les informations.
🙁
Oui les MAJ sont pas toujours effectuées surtout le week end, il y a beaucoup moins de soucis en semaine.
ce script est top… je l’ai associé à la mise en marche d’un purificateur d’air dans la chambre de mon bébé qui fait de l’asthme…
Bonsoir,
Merci beaucoup pour cette article !
Mais je le trouve un peu complexe alors que tout peut être fait directement dans l’eedomus sans aucun script.
Il suffit de juste remplacer l’URL du capteur HTTP par http://www.lcsqa.org/surveillance/indices/prevus/jour/xml/
Pour dans le path mettre : /root/node[agglomeration=’LA_VILLE_SOUHAITEE’]/valeurIndice
Et le tour est joué, plus besoin d’aucun script ni actionneur, ni règle …
Bonne soirée !!
Merci pour l’info, c’est en effet bien plus simple, a l’epoque le xml n’etait pas directement disponible sur le site, il fallait donc passer par les 2 scripts et les regle pour le generer. Je mettrai à jour l’article avec cette nouvelle methode
Bonjour. Merci pour cet excellent Tuto.
Je viens d’installer le tout sans soucis sur le déroulement mais une fois terminé, la box Eedomus m’indique une erreur HTTP404 avec en détails :
The page is not found
body{display:none;}< […]
Merci par avance pour votre aide..
Au temps pour moi. Tout fonctionne très bien. Erreur d’adaptation de l’URL 🙂
😉 Merci pour ton retour
Cool, j’ai mis en oeuvre et ça a permis de supprimer 2 scripts php et 2 règles pour les appeler.
Pas mal du tout.
Merci pour le partage.
J’ai essayé directement dans l’eedomus comme indique pacific_boy, mais ça ne fonctionne pas, dans les notifications j’ai ça : Protocol http not supported or disabled in libcurl.
Ça vient de quoi ?
Merci d’avance
Ça fonctionne, il y avait un espace au début de la ligne HTTP !!!
Bonjour,
on dirait que ce script ne fonctionne plus depuis le 5 janvier 2017 date du dernier relevé.
Dommage il était bien utile.
Bonjour, en effet, lcsqa.org a fait quelques modifications sur son site. Un correctif est disponible au niveau des téléchargement de fichier. Pour ceux qui utilisent déjà le script, il n’y a qu’à remplacer le fichier “enregistrement_qualite_air.php”
Invalid File Type (.php) quand j’essaye de télécharger la maj du script
C’est corrigé 😉
Merci 🙂
Merci
Bonjour,
j’ai une message:”Ouverture source : Echec /
Ouverture destnation : Echec
question bête comment modifier les droits sur le fichier air.xml pour permettre au script d’écrire dedans?
merci
En fonction de l’hebergeur (nas, pc ou raspberry…) si windows c’est clique droit onglet sécurité, si syno c’est clique droit propriétés, si RPi c’est chmod 777 en ssh…
je suis sur syno, j’ai bien les droits en écriture mais je suis toujours en échec, si tuas une idée https://uploads.disquscdn.com/images/ded66fdb76c1138c19f2a077f71338d7cb7d3c4b9797dd02be4101db4e18b26d.jpg
Bonjour,
j’ai une erreur 404 en essayant de lancer le script enregistrement_qualite_air.php qui se trouve sur mon serveur web synology, idem pour le script hdd_space.php. Pourtant je peux accéder à la page index de mon serveur web. Je n’arrive pas à savoir d’où peut provenir l’erreur.
Merci pour l’aide
Ps : webstation, php5.6, php7 et phpmyadmin sont installés sur le syno