Re: Recuperation Airparif
Publié : 19 août 2015, 20:56
Merci bien !
Enfin bon j'ai du faire une connerie, plus rien ne marche x)
Enfin bon j'ai du faire une connerie, plus rien ne marche x)
Reprenez le contrôle de votre domotique
https://easydomoticz.com/forum/
Code : Tout sélectionner
#!/usr/bin/python
import json
import requests
from requests.auth import HTTPBasicAuth
import time
############# Parametres #################################
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de Domoticz
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
domoticz_ip='192.168.0.252'
domoticz_port='8084'
user=''
password=''
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les IDX des switch "Alerte"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# soit 4 widget POURCENTAGE differents
# un pour l'indice global
# un pour no2
# un pour O3
# un pour pm10
#remplacer les 116,124,125 par vos idx de vos widgets
periph_idx={'dz_indice_global': 57,
'dz_no2' : 58,
'dz_o3' : 59,
'dz_pm10' : 60
}
############### fin des parametres #############################
print "******************************************************************************************"
print time.strftime('Nous sommes en %Y, et il est %H:%M.',time.localtime())
# l URL Domoticz pour le widget virtuel
json_url_text1='/json.htm?type=command¶m=udevice&idx='
json_url_text2='&svalue='
#http://IP:PORT/json.htm?type=command¶m=udevice&idx=mon_idx&svalue=POURCENTAGE
def maj_widget(domoticz_idx,val):
requete='http://'+domoticz_ip+':'+domoticz_port+json_url_text1+domoticz_idx+json_url_text2+val
print requete
r=requests.get(requete,auth=HTTPBasicAuth(user,password))
if r.status_code != 200:
print "Erreur API Domoticz"
print "Erreur API Domoticz"
headers = {
'User-Agent': 'Mozilla/5.0',
}
r = requests.get('http://www.airparif.asso.fr/appli/api/indice?date=jour', headers=headers)
status=r.status_code
if status == 200:
# l'API renvoie 200 si tout est OK
airparif=r.json()
#extraire les valeurs du dict avec les cles global,no2,O3,pm10
#print airparif.get('global')
globaldict= airparif.get('global')
val= str(globaldict.get('indice'))
domoticz_idx=str(periph_idx['dz_indice_global'])
maj_widget (domoticz_idx,val)
#print airparif.get('no2')
no2dict= airparif.get('no2')
val=str(no2dict.get('indice'))
domoticz_idx=str(periph_idx['dz_no2'])
maj_widget (domoticz_idx,val)
#print airparif.get('o3')
o3dict= airparif.get('o3')
val= str(o3dict.get('indice'))
domoticz_idx=str(periph_idx['dz_o3'])
maj_widget (domoticz_idx,val)
#print airparif.get('pm10')
pm10dict= airparif.get('pm10')
val= str(pm10dict.get('indice'))
domoticz_idx=str(periph_idx['dz_pm10'])
maj_widget (domoticz_idx,val)
else:
print "Erreur Api Airparif"