Page 1 sur 1

projet : script airparif

Publié : 28 mars 2015, 23:50
par livehome
Bonjour,

tout d'abord je commence par une petite présentation :)

Je m’appelle daniel, passionné de nouvelles technologies et un peu touche à tout. En faisant des recherches sur le net pour automatiser mes 3 Volets électriques j’ai découvert domoticz et depuis c’est devenue une passion.


Je lance ce sujet pour intégrer l'api (non officielle) de airparif à Domoticz


D'abord voici l'api :

Code : Tout sélectionner

http://www.airparif.asso.fr/appli/api/indice?date=jour
http://www.airparif.asso.fr/appli/api/indice?date=hier
http://www.airparif.asso.fr/appli/api/indice?date=demain
le réultat est le suivant :
- indice global
- indice no2 pour l'Ozone
- indice o3 pour Dioxyde d'Azote
- indice pm10 pour les Particules fines

Ces indices definissent le niveau de pollution dans l’air extérieur. Ils comprennent 5 niveaux, avec une échelle
allant de 0 (très faible) à >100 (très élevé). Ils prennent en compte les 3 polluants les plus problématiques : les particules (PM10), le dioxyde d'azote (NO2), et l’ozone (O3)

Exemple de résultat de l'API Airparif :

Code : Tout sélectionner

{"date":"28\/03\/2015",
"global":{"indice":37,"url_carte":"http:\/\/www.airparif.asso.fr\/services\/cartes\/indice\/date\/jour"},
"no2":{"indice":37,"url_carte":"http:\/\/www.airparif.asso.fr\/services\/cartes\/indice\/date\/jour\/pol\/NO2"},
"o3":{"indice":26,"url_carte":"http:\/\/www.airparif.asso.fr\/services\/cartes\/indice\/date\/jour\/pol\/O3"},
"pm10":{"indice":29,"url_carte":"http:\/\/www.airparif.asso.fr\/services\/cartes\/indice\/date\/jour\/pol\/PM10"}}
j'aurai besoin de votre aide pour la procédure d'intégration dans domoticz ?

Cordialement,
Daniel

Re: projet : script airparif

Publié : 29 mars 2015, 11:17
par patrice
Bonjour
Je vais faire un petit script pour cela demain , mardi....

Re: projet : script airparif

Publié : 29 mars 2015, 19:58
par patrice
Bonsoir

c'était facile , il y a un nouveau sujet dans le forum scripts et tutos
viewtopic.php?f=17&t=436
Merci de tes retours

Re: projet : script airparif

Publié : 30 mars 2015, 00:49
par livehome
patrice a écrit :Bonsoir

c'était facile , il y a un nouveau sujet dans le forum scripts et tutos
viewtopic.php?f=17&t=436
Merci de tes retours

merci beaucoup Patrice :)

En effet, j'étais en train d'expérimenter les AirQuality sensor avec un shell et jq pour la partie récupération des données.

voici un draf ( pas encore testé ) :oops:

1- Création des virtual device :
trois AirQuality sensor (no2, o3 et pm10) dont l'unité de mésure utilisée par domoticz est le PPM (partie par million)

2- Installation de jq

Code : Tout sélectionner

wget http://stedolan.github.io/jq/download/source/jq-1.4.tar.gz
tar -zxvf jq-1.4.tar.gz
rm jq-1.4.tar.gz
cd jq-1.4
./configure
make
sudo make install
3- Script Airparif :
Script airparif.sh sous domoticz/scripts/shell
sudo pico domoticz/scripts/shell/airparif.sh

Code : Tout sélectionner

#!/bin/bash

#indices airparif du jour
no2=$(curl -s "http://www.airparif.asso.fr/appli/api/indice?date=jour" | jq -r .no2.indice)
o3=$(curl -s "http://www.airparif.asso.fr/appli/api/indice?date=jour" | jq -r .o3.indice)
pm10=$(curl -s "http://www.airparif.asso.fr/appli/api/indice?date=jour" | jq -r .pm10.indice)

#conversion µg/m³ en ppm avec la regle  X ppm =(Y mg/m3)(24.45)/(molecular weight)

if [[ ! -z $no2 ]]; then
	no2ppm=`echo "$no2 * 0.53146" | bc`
fi
if [[ ! -z $o3 ]]; then
	o3ppm=`echo "$o3 * 0.50939" | bc`
fi
if [[ ! -z $pm10 ]]; then
	pm10ppm=`echo "$pm10 * 0.01687" | bc`
fi

#maj VM domoticz
if [[ ! -z $no2ppm ]]; then
	curl "http://192.168.1.2:8080/json.htm?type=command&param=udevice&idx=92&nvalue=$no2ppm&svalue=PPM"
fi

if [[ ! -z $o3ppm ]]; then
	curl "http://192.168.1.2:8080/json.htm?type=command&param=udevice&idx=93&nvalue=$o3ppm&svalue=PPM"
fi

if [[ ! -z $pm10ppm ]]; then
	curl "http://192.168.1.2:8080/json.htm?type=command&param=udevice&idx=94&nvalue=$pm10ppm&svalue=PPM"
fi
ne pas oublier de mettre à jour l'URL de domoticz et les idx

chmod +x airparif.sh

4- Crontab :
lancer la mise à jour chaque jour à 11h03

Code : Tout sélectionner

3 11 * * * root /domotioz/scripts/shell/airparif.sh