Page 1 sur 2
[Python] Récupérer Alertes Météo France
Publié : 28 nov. 2014, 09:35
par patrice
J'ai crée un script python dont le rôle est de récupérer les états de vigilance de Météo France (Alerte orange,rouge,vert)
Ce script utilise des widget Alerte dont la création est expliquée ici
http://easydomoticz.com/comment-creer-un-widget-alerte/
Il en faut au moins 2 ,un pour l'état des crues et l'autre pour l'etat global d'alerte et le risque associé (pluie,inondation,neige)
On peut également en utiliser 3 différents (1pour crues,1pour la couleur,1 pour le texte (neigne,pluie)
Le script devrait être assez documenté pour une bonne compréhension
Ce script nécessite le module requests : sudo apt-get install python-setuptools puis sudo pip requests
Une fois téléchargé puis recopié sous le nom que vous voulez en .py , faites un chmod 777 sur ce fichier
On lance ce script par ./le_nom_choisi.py NumeroDepartement
./recupvigi.py 75 , récupère la vigilance du département 75
Beaucoup de choses sont paramétrables dans la partie haute du script (couleurs,Idx des widget,). On peut aussi fixer un département en supprimant qq lignes et en indiquant Departement=75, ainsi on a plus besoin de donner le numéro en paramètre du script
Les alertes meteo france sont mise à jour 2 fois par jour à 6H et a 16H, placez ce script dans le crontab à 6H10 et 16H10 par ex.
Le script est dans la pièce jointe afin d'éviter les pertes de formatage du texte liées à l'affichage dans le forum.
Re: Récupérer Alertes Météo France
Publié : 30 nov. 2014, 19:22
par Alderaan
Hello,
Merci pour le script

J'ai voulu le tester avec 3 alertes, mais j'ai l'erreur suivante:
Code : Tout sélectionner
File "./meteofrance.py", line 117
message_risk=risk
^
IndentationError: unindent does not match any outer indentation level
Je ne comprend pas trop ou est l'erreur, on dirait que la valeur de risk n'est pas retournée.
Merci pour ton aide.
Re: Récupérer Alertes Météo France
Publié : 30 nov. 2014, 20:36
par sarakha63
Bonjour à tous
L'erreur c'est juste un problème d'indentation sur toute la fin de fichier.
Code : Tout sélectionner
if risk=="RAS":
couleur_risk=dict_couleur_widget_texte[risk]
message_risk=risk
else:
message_risk=risk
couleur_risk='4'
# composons l'url
# si le message est RAS la coueleur est gris
# on recupere un message texte neige pluie ... dans message_risk , la couelur est celle de couleur_gen
domoticz_idx=str(periph_idx['risk'])
url_domoticz='http://'+domoticz_ip+':'+domoticz_port+'/json.htm?type=command¶m=udevice&idx='+domoticz_idx+'&nvalue='+couleur_gen+'&svalue='+risk
r=requests.get(url_domoticz)
if r.status_code != 200:
print "Erreur API"
# print crues,couleur_vigilance,risk,message_risk
# print couleur_crues,couleur_gen,couleur_risk
else:
print "Erreur API"
Pas mal ce forum, j'ai pas mal de script à partager notamment l'interaction avec le harmony hub, et la balance withings
Cordialement
Re: Récupérer Alertes Météo France
Publié : 28 janv. 2015, 22:50
par deennoo
Bonjour,
j'essaye ton script et j ai cette erreur
./recupvigi.py
File "./recupvigi.py", line 44
dict_couleur_widget_texte={'RAS' : 0,
^
SyntaxError: invalid syntax
Que faire ? (je pars du script downloadable)
Re: Récupérer Alertes Météo France
Publié : 28 janv. 2015, 23:15
par patrice
Bonsoir
Chez moi il fonctionne comme il se doit,
Je t'ai reposté le fichier dans la pièce jointe au texte du forum, j'y ai ajouté le support de utf8 histoire de faire une modif quelconque .
Re: Récupérer Alertes Météo France
Publié : 30 janv. 2015, 15:42
par atlantis007
moi j utilise se script que j ai récupéré sur le site de domoticz il marche très bien il faut mettre le bon IDX et changer le département
moi c est le 64 est c est tout.
------------------------------------------------------------------------------------------------------------------------------------------------
commandArray = {}
-- Time to run?
time = os.date("*t")
if ((time.hour == 7 or time.hour == 13 or time.hour == 19) and time.min == 00) then
TabColor = {['gris']="0",['vert']="1", ['jaune']="2", ['orange']="3", ['rouge']="4"}
print('----------------------------')
print('-- RECUPERATION VIGILANCE --')
print('----------------------------')
local handle = io.popen('curl "
http://api.domogeek.fr/vigilance/64/color"')
local color = handle:read("*a")
handle:close()
local handle = io.popen('curl "
http://api.domogeek.fr/vigilance/64/risk"')
local risk = handle:read("*a")
handle:close()
print ('Color: '..color..' - Risk: '..risk)
commandArray['UpdateDevice'] = 'IDX|'..TabColor[color]..'|'..risk
end
return commandArray
-------------------------------------------------------------------------------------------------------------------------------------------
Re: Récupérer Alertes Météo France
Publié : 30 janv. 2015, 15:52
par hobbe
Je crois que l'idée du topic était d'avoir une version Python.
Peut-être faut-il l'ajouter au titre ?
Sinon, ça ressemble beaucoup à mon script décrit dans
Vigilance météo.
L'idée du tableau TabColor est bonne, je vais la reprendre

Re: Récupérer Alertes Météo France
Publié : 04 févr. 2015, 21:29
par deennoo
salut,
cela ne marche pas chez moi.
quelque n est super claire :
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# les parametres de meteofrance
# on passe le numero du departemeznt en appelant le script
# sinon supprimer ces lignes et decommenter Departement=
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
quelles sont les lignes a enlever ?
if len(sys.argv) ==1:
print "Donner un departement"
sys.exit(0)
else:
Departement =sys.argv[1]
????
tu pouvais eclairer ma lanterne ce serait sympa !
Re: Récupérer Alertes Météo France
Publié : 04 févr. 2015, 22:02
par deennoo
Bon J'ai reussi enfin !
Il manque deux trois basic quand meme :
1 - Installer Python :
- sudo apt-get install python-dev
2 - Installer PIP (comme y a deux python et qu'on ne sait pas lequel est utilisé on installe PIP pour les deux :
- sudo apt-get install python3-pip
- sudo apt-get install python-pip
3 on installe requests =
- sudo pip install requests
Ensuite pour le crontab :
crontab -e
Puis :
10 6 * * * ./domoticz/scripts/recupvigi.py 33 (/domoticz/scripts/ = emplacement ou est le script et 33 c'est votre departement ok ?)
10 16 * * * ./domoticz/scripts/recupvigi.py 33 (/domoticz/scripts/ = emplacement ou est le script et 33 c'est votre departement ok ?)
Laborieux mon histoire !!
le script LUA vigilance meteo ne fonctionnait pas non plus chez moi...et je ne sais pas pourquoi.
Re: Récupérer Alertes Météo France
Publié : 19 mars 2015, 21:53
par brakc
sarakha63 a écrit :Bonjour à tous
...
Pas mal ce forum, j'ai pas mal de script à partager notamment l'interaction avec le harmony hub, et la balance withings
Cordialement
Slt, je serais preneur de ton script withings stp
