#1 Le 28/10/2011, à 23:36
- Levi59
[Conky] Alternative à weather.com ( icones conkyforecast )
DEMANDE D'ORIGINE par Phyllinux
Ami(e)s conky(stadores) bonjour !
Si vous avez passé de nombreuses heures à peaufiner vos différents conkys, et plus particulièrement à travailler sur des conkys météo, je pense que vous avez reçu tout comme moi un mail de weather.com vous indiquant que leur service de fourniture des données allait changer d'ici la mi novembre.
Pour continuer à pouvoir recevoir les données météo, il faut souscrire un abonnement, aux tarifs prohibitifs ! De 20$ à 186$ par mois. Je ne pense pas que beaucoup de particuliers souscrivent à cette offre pour obtenir une météo alors qu'il existe de nombreux sites permettant d'accéder gratuitement à ces informations.
Alors, j'ai commencé à rechercher des solutions alternatives pour continuer à faire tourner mes conkys. J'ai trouvé 2 possibilités : Celle de Yahoo! Weather RSS Feed Yahoo Weather et celle de Wunderground Wunderground.
Si quelqu'un sait comment :
1/ Automatiser la requête pour télécharger ces données et
2/ Les intégrer dans le conky pour permettre l'affichage comme avec celles provenant de weather.com, je suis preneur, et je pense que je ne serais pas le seul wink
[...]
Voici pour mon coup de gueule du jour, et si l'un d'entre vous à des idées sur la solution de rechange pour conkyforecast, je suis preneur tongue
REPRISE DU TRAVAIL DE Didier-T
Bonjour à tous,
J’étais chagriné par l’annonce de weather.com concernant leur prochain passage en service payant sad (tous comme Phyllinux)
donc après maintes recherche voici une solution (infos météo sur 8 jours). smile
le script d'origine est emprunté a TeoBigusGeekus du forum anglais de ubuntu vous le trouverez ici avec d'autres scripts (il est très actif)
voici le fichier compressé des icônes, en fait je me suis contenté de renommer certaines icônes de conkyforcast
edit : j'oubliais, pour recupérer les infos il faut se rendre sur le site wunderground.com
rechercher sa ville
glisser sa sourie sur la petite icone bleu avec une triangle blanc tête en bas (tout à droite)
faire un clique droit sur Download iCal
choisir copier l'adresse du lien (qui devrait ressembler à ceci http://ical.wunderground.com/auto/ical/ … its=metric)
et la coller dans le script wunderground-script.sh à la ligne 105
BOULOT PERSO
Je viens de revoir tout le script...
Pour ce qui est de l'espace de travaille, j'ai juste repris celui d'origine, je n'avais absolument pas modifié les emplacements.
enfin bref, voila la bête :
wunderground-script.sh
#!/bin/bash
# Version amélioré de wunderground-script.sh par Levi59
# Créé par Didier-T (forum.ubuntu-fr.org), inspiré par TeoBigusGeekus (ubuntuforums.org)
# Copyright (C) 27 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/meteo"
CodeVille=07015
#####
#####
#function: test_weather_message
test_weather_message () {
case "$1" in
"Chance of Flurries"|Flurries) echo p ;;
"Chance of Rain") echo h ;;
"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain") echo v ;;
"Chance of Sleet"|Sleet) echo w ;;
"Chance of Snow") echo q ;;
"Chance of Thunderstorms"|Thunderstorms|Thunderstorm) echo n ;;
"Chance of a Thunderstorm") echo m ;;
Clear|Sunny) echo a ;;
Cloudy) echo d ;;
Fog|Haze) echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo c ;;
"Mostly Sunny"|"Scattered Clouds") echo b ;;
Rain) echo i ;;
Snow) echo r ;;
Overcast) echo e ;;
*) echo -
esac
}
#function: test_weather_message_night
test_weather_message_night () {
case "$1" in
"Chance of Flurries"|Flurries|"Chance of Snow"|Snow) echo O ;;
"Chance of Rain"|"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain"|"Chance of Sleet"|Sleet|Rain) echo G ;;
"Chance of Thunderstorms"|"Thunderstorms"|"Thunderstorm") echo K ;;
"Chance of a Thunderstorm") echo m ;;
"Clear"|"Sunny") echo A ;;
"Cloudy") echo D ;;
"Fog"|"Haze") echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo C ;;
"Mostly Sunny"|"Scattered Clouds") echo B ;;
"Overcast") echo D ;;
*) echo -
esac
}
#function: test_wind_message
test_wind_message () {
case "${1/ /}" in
"Sou") echo 1 ;;
"SSW") echo 2 ;;
"SW") echo 3 ;;
"WSW"|"Sle") echo 4 ;;
"Wes") echo 5 ;;
"WNW") echo 6 ;;
"NW") echo 7 ;;
"NNW") echo 8 ;;
"Nor") echo 9 ;;
"NNE") echo ":" ;;
"NE") echo ";" ;;
"ENE") echo "<" ;;
"Eas") echo "=" ;;
"ESE") echo ">" ;;
"SE") echo "?" ;;
"SSE") echo "@" ;;
*) echo "-"
esac
}
test_break () {
[[ -n "$1" ]] || break
}
rm ${DirShell}/yes 2&>/dev/null
> ${DirShell}/weather_icons
egrep -i 'DESCRIPTION' < <(wget http://ical.wunderground.com/auto/ical/global/stations/${CodeVille}.ics?units=metric -O - -o /dev/null) > ${DirShell}/messages.wun
sed -i -e 's/\(\\n\| - \|Wind \)/\n/g' -e 's/DESCRIPTION://g' -e 's/\(High\|Low\)/\n&/g' ${DirShell}/messages.wun
sed -i -e 's/\..*//g' ${DirShell}/messages.wun
for (( i=2; i<=100; i+=8 ))
do
for j in 0 4
do
test_line=$(sed -n "$(($i+$j))p" ${DirShell}/messages.wun)
test_break $test_line
test_weather_message "$test_line" >> ${DirShell}/weather_icons
test_line=$(sed -n "$(($i+$j+2))p" ${DirShell}/messages.wun)
test_break ${test_line:0:3}
test_wind_message "${test_line:0:3}" >> ${DirShell}/weather_icons
done
done
days_no=$(( $(wc -l < ${DirShell}/weather_icons)/4 ))
[[ $days_no -eq 8 ]] && touch ${DirShell}/yes
# Traduction en francais
sed -i "s/Scattered Clouds/Nuages épars/g
s/Chance of Flurries/Quelques averses de neige/g
s/Chance of Rain/Risques de pluie/g
s/Chance of Snow/Risques de neige/g
s/Chance of Freezing Rain/Risque de pluie verglaçante/g
s/Light Freezing Rain/Faible pluie verglaçante/g
s/Freezing Rain/Pluie verglaçante/g
s/Chance of Sleet/Risque de verglas/g
s/Chance of \(a \)\?Thunderstorm\(s\)\?/Risque d' orages/g
s/\(Mostly\|Partly\) Cloudy/Partiellement nuageux/g
s/\(Mostly\|Partly\) Sunny/Partiellement ensoleillé/g
s/Scattered Clouds/Nuages épars/g
s/Overcast/Couvert/g
s/Snow/Neige/g
s/Flurries/Averses de neige/g
s/\(Clear\|Sunny\)/Ensoleillé/g
s/Cloudy/Nuageux/g
s/Calm/&e/g
s/Fog/Brouillard/g
s/Haze/Brume/g
s/Thunderstorm\(s\)\?/Orages/g
s/Sleet/Verglas/g
s/ C/ °C/g
s/Low/Mini/g
s/High/Maxi/g
s/Night/Soir/g
s/Monday/Lundi/g
s/Tuesday/Mardi/g
s/Wednesday/Mercredi/g
s/Thursday/Jeudi/g
s/Friday/Vendredi/g
s/Saturday/Samedi/g
s/Sunday/Dimanche/g
s/South/Sud/g
s/East/Est/g
s/North/Nord/g
s/West/Ouest/g
s/NW/NO/g
s/SW/SO/g
s/NNW/NNO/g
s/SSW/SSO/g
s/WNW/ONO/g
s/WSW/OSO/g" ${DirShell}/messages.wun
formatage-icones-meteo.sh
#!/bin/bash
# Version amélioré de formatage-icones-meteo.sh
# Copyright (C) 27 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/meteo/"
####
####
[[ -d ${DirShell}/images/ ]] || {
echo "Pas de fichier images"
exit
}
[[ -d ${DirShell}/images/conky/ ]] || mkdir ${DirShell}/images/conky/
n=0
for (( i=1 ; i<=32 ; i+=2 ))
do
n=$((n+1))
fichier=$(sed -n "${i}p" ${DirShell}/weather_icons)
[[ -z $fichier ]] && break
cp ${DirShell}/images/meteo/$fichier.png ${DirShell}/images/conky/j$n.png
j=$((i+1))
fichier=$(sed -n "${j}p" ${DirShell}/weather_icons)
cp ${DirShell}/images/vent/$fichier.png ${DirShell}/images/conky/v$n.png
done
Pour le conkyrc :
# temps pour fermer conky en seconde. 0 = toujours actif
total_run_times 0
imlib_cache_size 0
# affiche le texte sur la sortie standard
out_to_console no
# réglage de la mémoire, pour éviter le clignotement
double_buffer yes
# Soustraire les mémoires tampons de la mémoire utilisée
no_buffers yes
text_buffer_size 2048
imlib_cache_size 0
# taux de rafraichissement de la fenêtre (en secondes)
update_interval 1
# nombre d'échantillons à utiliser pour calculer la moyenne d'utilisation
cpu_avg_samples 4
net_avg_samples 4
# taille et positon
alignment tm
minimum_size 320 320
maximum_width 700
# écart avec le bord x=gauche ou droit y= haut ou bas
gap_x 0
gap_y 40
# afficher les ombres
draw_shades yes
# afficher des contours
draw_outline no
# contours autour des blocs de texte
draw_borders no
# largeur du contour
border_width 1
# largeur des marges
#border_margin 4
#pour que conky tourne en arrière plan background no pour les tests
background yes
# utiliser sa propre fenêtre
own_window yes
#type de fenêtre : normal(avec le cadre) / override / desktop
own_window_type override # normal / override / desktop
#pseudo transparence si vous avez des icones sous le conky elle ne seront plus accessible une fois conky activé
own_window_transparent yes
#own_window_hints undecorated,below,skip_taskbar,skip_pager
# Utiliser Xft (polices lissées etc)
use_xft yes
#xftalpha .1
override_utf8_locale yes # force UTF8
#police a utiliser : use_xft doit être a "yes"
xftfont Comic sans MS:size=8
xftalpha 0.8
# Tout le texte en majuscule
uppercase no
# Ajoute des espaces après certains objets pour éviter de les faire bouger.
# Fonctionne uniquement avec les polices Fixes
use_spacer right
# Taille de la jauge par défault
default_gauge_size 0 10
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 e49c16
color2 CA0000 #rouge
color3 FFFFFF
color6 EEEEEE
color7 DDDDDD
color8 CCCCCC
color9 BBBBBB
TEXT
${color red}${font Bitstream Vera Sans Mono:style=Bold:size=14}Météo ${hr 2}${font}
${color green}${font Comic sans MS:style=Bold:size=14}Maintenant
${execpi 1800 ~/conky/script/wunderground-script.sh}${execpi 1800 ~/conky/script/formatage-icones-meteo.sh} # Récuperation et formatage des infos météo
${image ~/conky/meteo/images/conky/j1.png -p 0,50 -s 90x90}
${color light grey}${font Bitstream Vera Sans Mono:style=Bold:size=14}${voffset -15}${offset 100}${execi 1800 sed -n '2p' ~/conky/meteo/messages.wun}
${offset 100}Température ${execi 1800 sed -n '3p' ~/conky/meteo/messages.wun}
${offset 130}${voffset 5}${execi 1800 sed -n '4p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/v1.png -p 100,100 -s 30x30}
${color green}${font Comic sans MS:style=Bold:size=14}${execi 1800 sed -n '5p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/j2.png -p 0,178 -s 90x90}
${color light grey}${font Bitstream Vera Sans Mono:style=Bold:size=14}${voffset -15}${offset 100}${execi 1800 sed -n '6p' ~/conky/meteo/messages.wun}
${offset 100}Température ${execi 1800 sed -n '7p' ~/conky/meteo/messages.wun}
${offset 130}${voffset 5}${execi 1800 sed -n '8p' ~/conky/meteo/messages.wun}
${image ~/conky/meteo/images/conky/v2.png -p 100,228 -s 30x30}
Dernière modification par Levi59 (Le 29/10/2011, à 12:15)
Hors ligne
#2 Le 28/10/2011, à 23:39
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
1/ Lorsque je lance le conky dans un terminal, j'ai toujours les mêmes lignes d'erreurs qui ont trait aux icônes du vent :
Conky: desktop window (1a00095) is subwindow of root window (b8) Conky: window type - override Conky: drawing to created window (0x4000001) Conky: drawing to double buffer cp: la cible «/home/gilles/conky/meteo/images/conky/v1.png» n'est pas un répertoire cp: la cible «/home/gilles/conky/meteo/images/conky/v13.png» n'est pas un répertoire cp: la cible «/home/gilles/conky/meteo/images/conky/v15.png» n'est pas un répertoire
Est il possible de trouver l'origine du problème et de supprimer ce message d'erreur ?
Au fait, en cas de changement de force (de vitesse) du vent, le script formatage des icônes intègre le changement de couleur de ces icônes ?
Pour ce qui est de l'erreur, vérifie que tu as bien un dossier : /home/gilles/conky/meteo/images/conky/
Pour l’icône en fonction de la force du vent je ne sais pas. honnêtement, je me suis pour l'instant contenté de simplifier le code pour le rendre plus lisible.
2/ Pour les traductions :
Je pense qu'il serait bien de rajouter aussi les traductions concernant le vent.
Cela concerne toutes les directions 'pleines' North, South, East, West, ainsi que les directions abrégées qui intègrent l'ouest (NNO au lieu de NNW par exemple)
J'ai essayé, et je me trouve confronté à un petit problème:sed -i "s/East/\.Est/g
Si je mets le point devant 'Est', alors cela s'affiche dans le conky '.Est' (avec le point devant).
Si je retire ce point, alors j'ai 'st' qui s'affiche, le 'E' disparait.
J'ai vu que dans le script de Levi59, il y avait parfois un point devant les traductions : '.ensoleillé, .Lundi'. A quoi cela correspond ?
Le point dans certaines substitution sert justement à ne pas supprimer les lettres mais je n'ai pas encore vraiment vérifié pourquoi. J'ai amélioré les écritures qui pouvaient l'être mais ce n'était pas ma priorité.
3/ Concernant la création du fichier messages.wun :
Comment modifier le script wunderground-script.sh pour qu'il aille récupérer plus de données qui sont contenues dans le fichier .ics du départ ?
Cela pourrait être également intéressant de les extraire pour les appeler par le conky pour celui qui veut les intégrer (ou pas)BEGIN:VCALENDAR PRODID:-//Weather Underground Inc//Wunder Weather Calendar//EN X-WR-CALNAME:Marseille\, France Weather - By Weather Underground X-WR-TIMEZONE:Europe/Paris VERSION:2.0 CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VEVENT SEQUENCE:1 CLASS:PUBLIC CREATED:20111028T000000Z LAST-MODIFIED:20111028T000000Z GEO:43.45000076;5.23000002 UID:1319803200-0-0 DTSTAMP:20111028T120000Z DTSTART;VALUE=DATE:20111028 ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com DESCRIPTION:Friday - Partly Cloudy. High 21 C Wind SE 32 km/h. \nFriday Night - Chance of Rain. Low 15 C Wind East 32 km/h.Chance of precipitation 20%. LOCATION:Marseille\, France STATUS:CONFIRMED SUMMARY:Partly Cloudy 21C / 15C TRANSP:TRANSPARENT END:VEVENT
Les 8 premières lignes de l'en-tête, on s'en moque.
En revanche la ligne 'LAST MODIFIED' indique le groupe date heure de mise à jour des données
'GEO' donne les coordonnées
Dans la ligne 'DESCRIPTION' toutes les données sont reprises dans le fichier messages.wun, sauf les dernières (probabilité de pluie en pourcentage), qui est également intéressante à importer sous une forme suivante : Si pas de donnée, alors afficher 0%, si une donnée existe, alors afficher le pourcentage .
LOCATION indique le lieu concerné (intéressant pour l'afficher en en-tête)
SUMMARY indique les mini maxi dans la journée.
Toutes ces données pourraient être extraites, mais je ne sais pas comment faire Après, il suffit juste de les appeler dans le conky, et là ce n'est plus un problème.
Je vois que le script extrait automatiquement les données, sans que le message .ics dans lequel il va chercher les données soit téléchargé et enregistré sur l'ordinateur.
Merci de bien vouloir m'aider sur ces 3 points, et bon conky !
Pour les informations récupérées, il est possible de rajouter des données :
le pourcentage de pluie est déja récupéré mais supprimé par la commande sed qui élimine les points donc c'est facile à modifier
Pour les autres blocs il suffira je pense de rajouter les motifs dans egrep et ensuite de dispatcher chaque bloc d'informations. Je regarderais ça plus tard.
La raison pour laquelle le fichier n'est pas enregistré c'est que le contenu est directement transféré à egrep donc il ne passe pas par un fichier temporaire.
J'espère t'avoir aidé!
Hors ligne
#3 Le 28/10/2011, à 23:41
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Ajout de la modification de la partie traduction de Didier-T (Lettres qui disparaissaient)
Hors ligne
#4 Le 29/10/2011, à 01:05
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Nouvelle version qui crée un fichier LastModified contenant la date de dernière mise à jour des prévisions (pas par le script mais sur le site) et d'un fichier precipitation contenant les pourcentages ( 0 si pas d'info, une ligne par demi-journée).
wunderground-script.sh
Confère premier message
Dernière modification par Levi59 (Le 31/10/2011, à 08:32)
Hors ligne
#5 Le 29/10/2011, à 06:08
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Ajout de la modification de la partie traduction de Didier-T (Lettres qui disparaissaient)
Je tien à signaler que ceci est possible garce à une suggestion de chepioq
Pour le problème avec East ==> Est essaye avec :
sed -i "s/East/Est/g"
Hors ligne
#6 Le 29/10/2011, à 09:59
- Malta
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour,
Je débute tout juste sur conky, et j'ai essayé de récupérer un truc qui fonctionne en remontant le fil des différentes modifications... mais c'est un échec ! Il me semble que j'ai un problème de chemins pas cohérent entre les différents scripts, ou avec les icones... Serait-il possible que l'un de vous mette à disposition un "package" reprenant tous les éléments nécessaire cohérents entre eux ?
D'avance merci,
Hors ligne
#7 Le 29/10/2011, à 11:55
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Oui il y a en effet une petite différence de nom entre le script et l'archive des images.
Je mettrais en ligne un package fonctionnel.
Si tu veux le faire toi même, il faut télécharger l'archive contenant les images et l'extraire dans le même dossier que le script wunderground-script.sh. Tu obtiens un dossier nommé icones contenant meteo et vent.
Il faut rajouter dans ce dossier un autre dossier nommé "conky" et ensuite renommer "icones" en "images"
Au final, tu auras :
wunderground-script.sh
formatage-icones-meteo.sh
images/
- meteo/
- vent/
- conky/
Il faut aussi penser à modifier la variable DirShell au début des 2 scripts pour mettre le chemin complet vers le dossier où tu as mis les scripts . Si c'est "/home/TonNom/conky/wunderground-script.sh" alors tu mets:
DirShell="$HOME/conky/" ### $HOME est une variable système qui contient /home/TonNom/
Il faut aussi penser à modifier ce chemin dans le conkyrc.
Dernière modification par Levi59 (Le 29/10/2011, à 12:00)
Hors ligne
#8 Le 29/10/2011, à 12:17
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Modification du script formatage-icones-meteo.sh pour ajouter la vérification de la présence du dossier "images/" et du dossier "images/conky/"
Hors ligne
#9 Le 29/10/2011, à 14:09
- Phyllinux
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour,
Comme j'avais indiqué, je ne suis pas trop dispo cette semaine (et absent de mon domicile, donc accès aléatoire au Net en fonction des spots wifi).
Merci à Levi59 d'avoir ouvert le topic et pour avoir fait la synthèse des posts précédents.
Je vois qu'il a encore passé une bonne partie de la nuit pour peaufiner les scripts Merci
J'ai fait le ménage dans le topic précédent.
Si j'ai la possibilité je testerai les nouveaux scripts dans la journée
The ship is sinking normally...
Hors ligne
#10 Le 29/10/2011, à 17:43
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir à tous,
Bon maintenant qu'ont sais récupérer la météo sur un site américain, si l'on prenait directement nos infos sur météo france.
Voici l'ébauche du script de formatage des données.
(pour le moment il créé un fichier nommé tt avec toutes les données des prévisions météo de la ville indiquée)
le code fonctionnel est disponible ici
Ce script est déjà exploitable, mais il y manque encore la gestion des icônes météo et certain nom de fête pour le filtre.
A+
Edit : petite modification ajout ligne 17
Edit #2 : divers modifications pour fixé la position des informations dans le fichier et récupérer l'adresse des icônes météo de météo France tt
pour obtenir l'adresse complète de l’icône météo il suffi d'ajouter http://france.meteofrance.com/ devant
Edit #3 : Mise en ligne script avec gestion icônes, script appel renseignement et pack icônes.
Dernière modification par Didier-T (Le 02/11/2011, à 05:51)
Hors ligne
#11 Le 29/10/2011, à 17:53
- Phyllinux
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
@ Levi59
Je viens de tester le script.
Quelques remarques :
Attention de ne pas changer les shells d'un script à l'autre.
Pour la dernière version, tu utilises
DirShell="$HOME/.conky/"
Alors que jusqu'à présent, c'était
DirShell="$HOME/conky/meteo"
Je n'y avais pas prêté attention avant de voir que j'avais un message d'erreur qui m'a permis d'en comprendre l'origine.
Une petite faute de frappe dans le script :
Ligne 103, il manque un # devant supprimer précipitation
Sinon, les fichiers lastmodified et precipitation sont bien créés. Lastmodified est bien rempli, mais precipitation reste vierge, alors que le fichier ics donne des pourcentages de probabilité de pluie.
Mais cela avance !!!
The ship is sinking normally...
Hors ligne
#12 Le 29/10/2011, à 18:28
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir Phyllinux, Levi59,
Juste pour info je ne m'était pas attardé sur les précipitations car pas toujours présentes et donc difficilement exploitable.
pour exemple le ics avant traitement
BEGIN:VCALENDAR
PRODID:-//Weather Underground Inc//Wunder Weather Calendar//EN
X-WR-CALNAME:Paris Le Bourget\, France Weather - By Weather Underground
X-WR-TIMEZONE:Europe/Paris
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1319889600-0-0
DTSTAMP:20111029T120000Z
DTSTART;VALUE=DATE:20111029
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Saturday - Fog. High 18 C Wind SSE 10 km/h. \nSaturday Night - Fog. Low 12 C Wind SE 7 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Fog 18C / 12C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1319976000-1-1319976000
DTSTAMP:20111030T120000Z
DTSTART;VALUE=DATE:20111030
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Sunday - Fog. High 17 C Wind SSW 10 km/h. \nSunday Night - Fog. Low 9 C Wind SSW 10 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Fog 17C / 9C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320062400-2--1654842496
DTSTAMP:20111031T120000Z
DTSTART;VALUE=DATE:20111031
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Monday - Scattered Clouds. High 17 C Wind SW 10 km/h. \nMonday Night - Fog. Low 10 C Wind SW 10 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Scattered Clouds 17C / 10C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320148800-3--334520896
DTSTAMP:20111101T120000Z
DTSTART;VALUE=DATE:20111101
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Tuesday - Scattered Clouds. High 17 C Wind SE 10 km/h. \nTuesday Night - Fog. Low 10 C Wind SE 10 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Scattered Clouds 17C / 10C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320235200-4-985973504
DTSTAMP:20111102T120000Z
DTSTART;VALUE=DATE:20111102
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Wednesday - Fog. High 18 C Wind SSW 14 km/h. \nWednesday Night - Fog. Low 12 C Wind SSE 10 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Fog 18C / 12C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320321600-5--1988326592
DTSTAMP:20111103T120000Z
DTSTART;VALUE=DATE:20111103
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Thursday - Fog. High 19 C Wind SSE 25 km/h. \nThursday Night - Chance of Rain. Low 14 C Wind SE 28 km/h.Chance of precipitation 20%.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Fog 19C / 14C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320408000-6--667486592
DTSTAMP:20111104T120000Z
DTSTART;VALUE=DATE:20111104
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Friday - Chance of Rain. High 17 C Wind SE 21 km/h. Chance of precipitation 30%.\nFriday Night - Fog. Low 12 C Wind SSE 21 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Chance of Rain 17C / 12C
TRANSP:TRANSPARENT
END:VEVENT
BEGIN:VEVENT
SEQUENCE:1
CLASS:PUBLIC
CREATED:20111029T000000Z
LAST-MODIFIED:20111029T000000Z
GEO:48.97000122;2.45000005
UID:1320494400-7-653526208
DTSTAMP:20111105T120000Z
DTSTART;VALUE=DATE:20111105
ORGANIZER;CN=Weather Underground:MAILTO:support@wunderground.com
DESCRIPTION:Saturday - Partly Cloudy. High 15 C Wind West 14 km/h. \nSaturday Night - Partly Cloudy. Low 9 C Wind SSW 14 km/h.
LOCATION:Paris Le Bourget\, France
STATUS:CONFIRMED
SUMMARY:Partly Cloudy 15C / 9C
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
Vous pouvez constater qu'elles ne sont présentes que pour deux journées.
Dernière modification par Didier-T (Le 29/10/2011, à 19:56)
Hors ligne
#13 Le 30/10/2011, à 20:49
- Mpok
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Merci Levi59 pour le topic (on va attendre 2-3 jours pour le constat sur Google… ; mais je suis persuadé que ça va aider)
Je testerai vos diverses solutions dès demain.
Hors ligne
#14 Le 31/10/2011, à 07:35
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Excusez mon absence d'hier mais une journée à Bellewaerde ne se rate pas!
Bref, j'ai vu que Didier-T s'était lancé dans la récupération des données sur météo France. Je tiens à préciser que nous avions déjà demandé l'autorisation de récupérer les données sur leur site pour un simple wallpaper meteo mais ceux ci avait rejeté notre demande pour des raison de problème de rémunération par les pub...
Je doute qu'il viennent nous ennuyer mais sait-on jamais.
Aussi, pour que le topic reste clair, il faudrait dès aujourd'hui essayer de ne pas recopier 20 versions du script mais proposer la derniere version dans une nouvelle réponse et lorsque validée, la déplacer vers ton premier post et remplacer par un lien dans la réponse. comme ça chaque solution ne serais représentée dans son ensemble que 2 fois au maximum. Sinon certains risque de récupérer des versions intermédiaires pas forcement fonctionnelle.
Je ne dis ça pour personne puisque pour l'instant, tout va bien
@ Phyllinux
Merci pour le retour, en effet, j'utilise une arborescence différente chez moi donc forcement il peut y avoir quelques mélanges...
Je vais voir pour le reste.
Hors ligne
#15 Le 31/10/2011, à 11:50
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Cette nouvelle version doit être fonctionnelle. Je vais voir si je peux inserer le code conky directement dans le script.
#!/bin/bash
# Version amélioré de wunderground-script.sh par Levi59
# Créé par Didier-T (forum.ubuntu-fr.org), inspiré par TeoBigusGeekus (ubuntuforums.org)
# Copyright (C) 27 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/"
CodeVille=07015
#####
#####
#function: __Test_Weather_Message
__Test_Weather_Message () {
case "$1" in
"Chance of Flurries"|Flurries) echo p ;;
"Chance of Rain") echo h ;;
"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain") echo v ;;
"Chance of Sleet"|Sleet) echo w ;;
"Chance of Snow") echo q ;;
"Chance of Thunderstorms"|Thunderstorms|Thunderstorm) echo n ;;
"Chance of a Thunderstorm") echo m ;;
Clear|Sunny) echo a ;;
Cloudy) echo d ;;
Fog|Haze) echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo c ;;
"Mostly Sunny"|"Scattered Clouds") echo b ;;
Rain) echo i ;;
Snow) echo r ;;
Overcast) echo e ;;
*) echo -
esac
}
#function: __Test_Weather_Message_Night
__Test_Weather_Message_Night () {
case "$1" in
"Chance of Flurries"|Flurries|"Chance of Snow"|Snow) echo O ;;
"Chance of Rain"|"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain"|"Chance of Sleet"|Sleet|Rain) echo G ;;
"Chance of Thunderstorms"|"Thunderstorms"|"Thunderstorm") echo K ;;
"Chance of a Thunderstorm") echo m ;;
"Clear"|"Sunny") echo A ;;
"Cloudy") echo D ;;
"Fog"|"Haze") echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo C ;;
"Mostly Sunny"|"Scattered Clouds") echo B ;;
"Overcast") echo D ;;
*) echo -
esac
}
#function: __Test_Wind_Message
__Test_Wind_Message () {
case "${1/ /}" in
"Sou") echo 1 ;;
"SSW") echo 2 ;;
"SW") echo 3 ;;
"WSW"|"Sle") echo 4 ;;
"Wes") echo 5 ;;
"WNW") echo 6 ;;
"NW") echo 7 ;;
"NNW") echo 8 ;;
"Nor") echo 9 ;;
"NNE") echo ":" ;;
"NE") echo ";" ;;
"ENE") echo "<" ;;
"Eas") echo "=" ;;
"ESE") echo ">" ;;
"SE") echo "?" ;;
"SSE") echo "@" ;;
*) echo "-"
esac
}
__Test_Break () {
[[ -n "$1" ]] || break
}
rm ${DirShell}/yes 2&>/dev/null
> ${DirShell}/weather_icons
egrep -i '(DESCRIPTION|LAST-MODIFIED)' < <(wget http://ical.wunderground.com/auto/ical/global/stations/${CodeVille}.ics?units=metric -O - -o /dev/null) > ${DirShell}/messages.wun
LastModified=$(grep 'LAST-MODIFIED' ${DirShell}/messages.wun)
LastModified=${LastModified:14:8} ## Voir format date ##
echo $(date -d $LastModified +%d/%m/%Y) > ${DirShell}/LastModified
sed -i '/LAST-MODIFIED/d' ${DirShell}/messages.wun
sed -i -e 's/\(\\n\| - \|Wind \)/\n/g' -e 's/DESCRIPTION://g' -e 's/\(High\|Low\)/\n&/g' ${DirShell}/messages.wun
## chance of précipitation
> ${DirShell}/precipitation
for (( i=4; i<=60; i+=4 ))
do
Ligne=$(sed -n "${i}p" ${DirShell}/messages.wun)
[[ $Ligne =~ precipitation ]] && {
Ligne=${Ligne#*precipitation }
Ligne=${Ligne/\%./}
echo "$Ligne" >> ${DirShell}/precipitation
} || echo "0" >> ${DirShell}/precipitation
done
## supprimer précipitation
sed -i 's/\..*//g' ${DirShell}/messages.wun
for (( i=2; i<=100; i+=8 ))
do
for j in 0 4
do
test_line=$(sed -n "$(($i+$j))p" ${DirShell}/messages.wun)
__Test_Break $test_line
(( $j==0 )) && __Test_Weather_Message "$test_line" >> ${DirShell}/weather_icons || __Test_Weather_Message_Night "$test_line" >> ${DirShell}/weather_icons
test_line=$(sed -n "$(($i+$j+2))p" ${DirShell}/messages.wun)
__Test_Break ${test_line:0:3}
__Test_Wind_Message "${test_line:0:3}" >> ${DirShell}/weather_icons
done
done
days_no=$(( $(wc -l < ${DirShell}/weather_icons)/4 ))
[[ $days_no -eq 8 ]] && touch ${DirShell}/yes
# Traduction en francais
sed -i "s/Scattered Clouds/Nuages épars/g
s/Chance of Flurries/Quelques averses de neige/g
s/Chance of Rain/Risques de pluie/g
s/Chance of Snow/Risques de neige/g
s/Chance of Freezing Rain/Risque de pluie verglaçante/g
s/Light Freezing Rain/Faible pluie verglaçante/g
s/Freezing Rain/Pluie verglaçante/g
s/Chance of Sleet/Risque de verglas/g
s/Chance of \(a \)\?Thunderstorm\(s\)\?/Risque d' orages/g
s/\(Mostly\|Partly\) Cloudy/Partiellement nuageux/g
s/\(Mostly\|Partly\) Sunny/Partiellement ensoleillé/g
s/Scattered Clouds/Nuages épars/g
s/Overcast/Couvert/g
s/Snow/Neige/g
s/Flurries/Averses de neige/g
s/\(Clear\|Sunny\)/Ensoleillé/g
s/Cloudy/Nuageux/g
s/Calm/&e/g
s/Fog/Brouillard/g
s/Haze/Brume/g
s/Thunderstorm\(s\)\?/Orages/g
s/Sleet/Verglas/g
s/ C/ °C/g
s/Low/Mini/g
s/High/Maxi/g
s/Night/Soir/g
s/Monday/Lundi/g
s/Tuesday/Mardi/g
s/Wednesday/Mercredi/g
s/Thursday/Jeudi/g
s/Friday/Vendredi/g
s/Saturday/Samedi/g
s/Sunday/Dimanche/g
s/South/Sud/g
s/East/Est/g
s/North/Nord/g
s/West/Ouest/g
s/NW/NO/g
s/SW/SO/g
s/NNW/NNO/g
s/SSW/SSO/g
s/WNW/ONO/g
s/WSW/OSO/g" ${DirShell}/messages.wun
EDIT 1
Ajout d'une version sans fichier temporaire (sauf message.wun) et qui affiche directement le code dans conky.
J'aimerais savoir si vous préférez ce type de fonctionnement à l'autre script.
Pour l'utiliser, il suffit de mettre cette ligne dans le conkyrc:
${execpi 1800 ~/conky/script/wunderground-script.sh <Nbr_De_Jour_À_Afficher>}
#!/bin/bash
# Version amélioré de wunderground-script.sh par Levi59
# Créé par Didier-T (forum.ubuntu-fr.org), inspiré par TeoBigusGeekus (ubuntuforums.org)
# Copyright (C) 31 Oct. 2011, Rombeaut Rodolphe
# Released into the public domain.
DirShell="$HOME/conky/"
CodeVille=07015
#####
#####
#function: __Display_Conky
__Display_Conky () {
n=0
init=1
while read
do
((n++))
(( $n==1 )) && {
(( $init )) && { Jour+=( Maintenant ); init=0;} || Jour+=( "${REPLY}" )
}
(( $n==2 )) && Meteo+=( "${REPLY}" )
(( $n==3 )) && Temperature+=( "${REPLY}" )
(( $n==4 )) && { Vent+=( "${REPLY}" ); n=0;}
done < ${DirShell}/messages.wun
for i in $(seq 0 $(( ($1*2)-1 )))
do
echo \
'${color green}${font Comic sans MS:style=Bold:size=14}'${Jour[$i]}'
${image ~/conky/meteo/images/conky/j'$(($i+1))'.png -p 0,50 -s 90x90}
${color light grey}${font Bitstream Vera Sans Mono:style=Bold:size=14}${voffset -15}${offset 100}'${Meteo[$i]}'
${offset 100}Température '${Temperature[$i]}'
${offset 130}${voffset 5}'${Vent[$i]}'
${image ~/conky/meteo/images/conky/v'$(($i+1))'.png -p 100,100 -s 30x30}'
done
}
#function: __Traduction
__Traduction () {
# Traduction en francais
sed -i "s/Scattered Clouds/Nuages épars/g
s/Chance of Flurries/Quelques averses de neige/g
s/Chance of Rain/Risques de pluie/g
s/Chance of Snow/Risques de neige/g
s/Chance of Freezing Rain/Risque de pluie verglaçante/g
s/Light Freezing Rain/Faible pluie verglaçante/g
s/Freezing Rain/Pluie verglaçante/g
s/Chance of Sleet/Risque de verglas/g
s/Chance of \(a \)\?Thunderstorm\(s\)\?/Risque d' orages/g
s/\(Mostly\|Partly\) Cloudy/Partiellement nuageux/g
s/\(Mostly\|Partly\) Sunny/Partiellement ensoleillé/g
s/Scattered Clouds/Nuages épars/g
s/Overcast/Couvert/g
s/Snow/Neige/g
s/Flurries/Averses de neige/g
s/\(Clear\|Sunny\)/Ensoleillé/g
s/Cloudy/Nuageux/g
s/Calm/&e/g
s/Fog/Brouillard/g
s/Haze/Brume/g
s/Thunderstorm\(s\)\?/Orages/g
s/Sleet/Verglas/g
s/ C/ °C/g
s/Low/Mini/g
s/High/Maxi/g
s/Night/Soir/g
s/Monday/Lundi/g
s/Tuesday/Mardi/g
s/Wednesday/Mercredi/g
s/Thursday/Jeudi/g
s/Friday/Vendredi/g
s/Saturday/Samedi/g
s/Sunday/Dimanche/g
s/South/Sud/g
s/East/Est/g
s/North/Nord/g
s/West/Ouest/g
s/NW/NO/g
s/SW/SO/g
s/NNW/NNO/g
s/SSW/SSO/g
s/WNW/ONO/g
s/WSW/OSO/g" ${DirShell}/messages.wun
}
#function: __Formatage_Icons
__Formatage_Icons () {
## vérifier presence icons
[[ -d ${DirShell}/images/ ]] || {
echo "Pas de fichier images"
exit
}
[[ -d ${DirShell}/images/conky/ ]] || mkdir ${DirShell}/images/conky/
n=0
for i in ${Weather[@]}
do
cp ${DirShell}/images/meteo/$i.png ${DirShell}/images/conky/j$n.png
((n++))
done
n=0
for j in ${Wind[@]}
do
cp ${DirShell}/images/vent/$j.png ${DirShell}/images/conky/v$n.png
((n++))
done
}
#function: __Test_Weather_Message
__Test_Weather_Message () {
case "$1" in
"Chance of Flurries"|Flurries) echo p ;;
"Chance of Rain") echo h ;;
"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain") echo v ;;
"Chance of Sleet"|Sleet) echo w ;;
"Chance of Snow") echo q ;;
"Chance of Thunderstorms"|Thunderstorms|Thunderstorm) echo n ;;
"Chance of a Thunderstorm") echo m ;;
Clear|Sunny) echo a ;;
Cloudy) echo d ;;
Fog|Haze) echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo c ;;
"Mostly Sunny"|"Scattered Clouds") echo b ;;
Rain) echo i ;;
Snow) echo r ;;
Overcast) echo e ;;
*) echo -
esac
}
#function: __Test_Weather_Message_Night
__Test_Weather_Message_Night () {
case "$1" in
"Chance of Flurries"|Flurries|"Chance of Snow"|Snow) echo O ;;
"Chance of Rain"|"Chance of Freezing Rain"|"Light Freezing Rain"|"Freezing Rain"|"Chance of Sleet"|Sleet|Rain) echo G ;;
"Chance of Thunderstorms"|"Thunderstorms"|"Thunderstorm") echo K ;;
"Chance of a Thunderstorm") echo m ;;
"Clear"|"Sunny") echo A ;;
"Cloudy") echo D ;;
"Fog"|"Haze") echo 0 ;;
"Mostly Cloudy"|"Partly Cloudy"|"Partly Sunny") echo C ;;
"Mostly Sunny"|"Scattered Clouds") echo B ;;
"Overcast") echo D ;;
*) echo -
esac
}
#function: __Test_Wind_Message
__Test_Wind_Message () {
case "${1/ /}" in
"Sou") echo 1 ;;
"SSW") echo 2 ;;
"SW") echo 3 ;;
"WSW"|"Sle") echo 4 ;;
"Wes") echo 5 ;;
"WNW") echo 6 ;;
"NW") echo 7 ;;
"NNW") echo 8 ;;
"Nor") echo 9 ;;
"NNE") echo ":" ;;
"NE") echo ";" ;;
"ENE") echo "<" ;;
"Eas") echo "=" ;;
"ESE") echo ">" ;;
"SE") echo "?" ;;
"SSE") echo "@" ;;
*) echo "-"
esac
}
#function: __Test_Break
__Test_Break () {
[[ -n "$1" ]] || break
}
rm ${DirShell}/yes 2&>/dev/null
> ${DirShell}/weather_icons
egrep -i '(DESCRIPTION|LAST-MODIFIED)' < <(wget http://ical.wunderground.com/auto/ical/global/stations/${CodeVille}.ics?units=metric -O - -o /dev/null) > ${DirShell}/messages.wun
LastModified=$(grep 'LAST-MODIFIED' ${DirShell}/messages.wun)
LastModified=${LastModified:14:8} ## Voir format date ##
LastModified=$(date -d $LastModified +%d/%m/%Y)
sed -i '/LAST-MODIFIED/d' ${DirShell}/messages.wun
sed -i -e 's/\(\\n\| - \|Wind \)/\n/g' -e 's/DESCRIPTION://g' -e 's/\(High\|Low\)/\n&/g' ${DirShell}/messages.wun
## chance of précipitation
Precipitation=
for (( i=4; i<=60; i+=4 ))
do
Ligne=$(sed -n "${i}p" ${DirShell}/messages.wun)
[[ $Ligne =~ precipitation ]] && {
Ligne=${Ligne#*precipitation }
Precipitation+=( ${Ligne/\%./} )
} || Precipitation+=( 0 )
done
## supprimer précipitation
sed -i 's/\..*//g' ${DirShell}/messages.wun
Weather=
Wind=
for (( i=2; i<=100; i+=8 ))
do
for j in 0 4
do
test_line=$(sed -n "$(($i+$j))p" ${DirShell}/messages.wun)
__Test_Break $test_line
(( $j==0 )) && Weather+=( $(__Test_Weather_Message "$test_line") ) || Weather+=( $(__Test_Weather_Message_Night "$test_line") )
test_line=$(sed -n "$(($i+$j+2))p" ${DirShell}/messages.wun)
Wind+=( $(__Test_Wind_Message "${test_line:0:3}") )
done
done
__Traduction
__Formatage_Icons
__Display_Conky $1
exit
Hors ligne
#16 Le 31/10/2011, à 20:47
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir levi59,
Je trouve l'idée excellente, le seul bémol est que du coup tous les jours sont affiché de la même manière.
Personnellement j’opterais plus facilement pour un second script qui permettrai d’appeler l'affichage d'une variable météo au choix.
Bien que je doute de l’intérêt d'un tel script, mais sa pourrait être intéressant de voir comment c'est faisable.
P.S. : j'adore lire tes scripts j'y apprend toujours pleins de nouvelles choses.
Hors ligne
#17 Le 31/10/2011, à 21:28
- Levi59
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Merci! ^^
Pour l’apparence, il est parfaitement possible de modifier le code conky dans le script.
On peut très bien utiliser 2 ou 3 options pour modifier l'apparence selon sa convenance. L'avantage ici c'est que l'on peut passer rapidement de 2 à 8 jours juste en changeant un chiffre! Pour quelque chose de plus personnalisé, on retourne dans le code conky sans soucis.
Je vais essayer de rajouter un exemple...
Hors ligne
#18 Le 31/10/2011, à 22:23
- cledesol
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir
A Didier-T
Intéressant ton script pour météo France.
Ensuite, comment faut-il aborder l'affichage des données contenues dans tt par conky ?
Bon, eh bien je vais partir en Théorie parce qu'en Théorie, tout se passe bien ....
Hors ligne
#19 Le 01/11/2011, à 06:20
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour cledesol,
En fait le principe pour l'affichage reste le même que pour mon premier script, sur le-quelle levi59 travail actuellement.
Mais pour le moment le script de récupération de données météo France n'est pas terminer, il me reste à filtrer les infos relative au vent pour obtenir des icônes.
Hors ligne
#20 Le 01/11/2011, à 17:19
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonjour à tous,
voilà j’ai un truc bizarre avec mon conky forcaste
je voie pas d’où peut venir le problème voici le script conky
# temps pour fermer conky en seconde. 0 = toujours actif
total_run_times 0
# affiche le texte sur la sortie standard
out_to_console no
# réglage de la mémoire, pour éviter le clignotement
double_buffer yes
# Soustraire les mémoires tampons de la mémoire utilisée
no_buffers yes
text_buffer_size 2048
imlib_cache_size 0
# taux de rafraichissement de la fenêtre (en secondes)
update_interval 1
# nombre d'échantillons à utiliser pour calculer la moyenne d'utilisation
cpu_avg_samples 4
net_avg_samples 4
# taille et positon
alignment tm
minimum_size 320 320
maximum_width 700
# écart avec le bord x=gauche ou droit y= haut ou bas
gap_x 0
gap_y 40
# afficher les ombres
draw_shades yes
# afficher des contours
draw_outline no
# contours autour des blocs de texte
draw_borders no
# largeur du contour
border_width 1
# largeur des marges
#border_margin 4
#pour que conky tourne en arrière plan background no pour les tests
background yes
# utiliser sa propre fenêtre
own_window yes
#type de fenêtre : normal(avec le cadre) / override / desktop
own_window_type override # normal / override / desktop
#pseudo transparence si vous avez des icones sous le conky elle ne seront plus accessible une fois conky activé
own_window_transparent yes
#own_window_hints undecorated,below,skip_taskbar,skip_pager
# Utiliser Xft (polices lissées etc)
use_xft yes
#xftalpha .1
override_utf8_locale yes # force UTF8
#police a utiliser : use_xft doit être a "yes"
xftfont Comic sans MS:size=8
xftalpha 0.8
# Tout le texte en majuscule
uppercase no
# Ajoute des espaces après certains objets pour éviter de les faire bouger.
# Fonctionne uniquement avec les polices Fixes
use_spacer right
# Taille de la jauge par défault
default_gauge_size 0 10
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 e49c16
color2 CA0000 #rouge
color3 FFFFFF
color6 EEEEEE
color7 DDDDDD
color8 CCCCCC
color9 BBBBBB
TEXT
${execpi 1800 ~/test/meteo.sh}
${color red}${font Bitstream Vera Sans Mono:style=Bold:size=14}Météo sur ${execpi 1800 ~/test/info_meteo.sh --ville} ${execpi 1800 ~/test/info_meteo.sh --postale}${hr 2}${font}
${color green}${font Comic sans MS:style=Bold:size=14}${execpi 1800 ~/test/info_meteo.sh --jour 1}
#${execi 300 ~/conky/script/images2.sh}
${image ~/test/conky/j2am.gif -p 0,50 -s 90x90}
${color light grey}${font Bitstream Charter:style=Bold:size=14}${voffset -15}${offset 100}${execpi 1800 ~/test/info_meteo.sh --meteo 1}
${offset 100}Température Maxi ${execpi 1800 ~/test/info_meteo.sh --tmax 1}
${offset 130}${voffset 5}${execpi 1800 ~/test/info_meteo.sh --d_vent 1} ${execpi 1800 ~/test/info_meteo.sh --f_vent 1}
${image ~/test/conky/v_j1.png -p 100,100 -s 30x30}
${color green}${font Comic sans MS:style=Bold:size=14}Ce soir
${image ~/test/conky/j1soir.gif -p 0,178 -s 90x90}
${color light grey}${font Bitstream Charter:style=Bold:size=14}${voffset -15}${offset 100}${execpi 1800 ~/test/info_meteo.sh --meteo 1 soir}
${offset 100}Température Mini ${execpi 1800 ~/test/info_meteo.sh --tmin 1}
${offset 130}${voffset 5}${execpi 1800 ~/test/info_meteo.sh --d_vent 1 soir} ${execpi 1800 ~/test/info_meteo.sh --f_vent 1 soir}
${image ~/test/conky/v_j1soir.png -p 100,228 -s 30x30}
${execpi 1800 ~/test/info_meteo.sh --actualiser}
${execpi 1800 ~/test/info_meteo.sh --saint}
ceci est le résultat de mes test avec météo France
Quand tous sera fonctionnelle je mettrait les différent scripts en ligne avec le pack icônes
A+
Dernière modification par Didier-T (Le 01/11/2011, à 19:06)
Hors ligne
#21 Le 01/11/2011, à 21:12
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Bonsoir,
j'ai trouvé d’où viens le problème d'affichage, il vient du premier script appelé (meteo.sh) et je ne comprend pas pourquoi l'affichage fait ça.
Je vais donc vous mètre mes scripts en lignes des maintenant.
meteo.sh
#!/bin/bash
# Créé par Didier-T (forum.ubuntu-fr.org)
# DirShell = Répertoire de travaille comprenant plusieurs sous-répertoire : "vent" - "conky" - "météo"
# les répertoires "vent" et "météo" contiennent les icônes conkyforcast
DirShell="$HOME/test"
# CodeVille correspond au nombre terminant l'adresse de votre page prévision météo sur http://meteofrance.com/
CodeVille=950180
format="\ngif\n - \nminmax\n - \nRessentie\n - \nVent\n - \nRafales\n - "
wget -U -N --output-document=${DirShell}/tt http://france.meteofrance.com/france/meteo?PREVISIONS_PORTLET.path=previsionsville/$CodeVille
sed -i 's/<div class="choix"><strong>/\n/g' ${DirShell}/tt # ont isole la partie avant les premières infos météo
sed -i '1,285d' ${DirShell}/tt # Et poubelle
sed -i 's/<strong><\/strong>/<strong> - <\/strong>/g' ${DirShell}/tt # on s'assure que tous les infos sont renseignées
sed -i 's/<dl><dt>/\n/g
s/<strong>/\n/g
s/<\/em><\/li>/\n/g
s/<\/strong>/\n/g
s/<br\/><p class="refreshed"><em>/\n/g
s/<\/em>/\n/g
s/<\/dt>/\n/g
s/" title="/\n/g
s/"UV">/\n/g
s/"vents">/\n/g
s/">/\n/g
s/<dt>/\n/g
s/"\/>/\n/g
s/<\/dd><dd class="/\n/g
s/<\/div><em>/\n/g
s/[()]//g
s/ \/ /\n/g
s/src="/\n/g
s/Vent //g' ${DirShell}/tt # suppression des balises situées autour des infos
sed -i '/</d
/detail/d
/ressent/d
/|/d
/type=/d
/fenêtre/d' ${DirShell}/tt # Nettoyage entre les données
sed -i '/^$/d' ${DirShell}/tt # Un petit compactage
sed -i "/\(Défunts\|[Ss]aint\)/i\Fete" ${DirShell}/tt
test_line=$(sed -n '17p' ${DirShell}/tt)
case "$test_line" in
Matin)
sed -i '206,$d' ${DirShell}/tt # On vire le superflu de fin de fichier
sed -i '202,203d' ${DirShell}/tt
;;
Après-midi)
sed -i "17i\Matin$format" ${DirShell}/tt
fete=$(sed -n '204p' ${DirShell}/tt)
if [[ $fete = "Fete" ]];
then
sed -i '206,$d' ${DirShell}/tt # On vire le superflu de fin de fichier
sed -i '202,203d' ${DirShell}/tt
else
sed -i '211,$d' ${DirShell}/tt # On vire le superflu de fin de fichier
sed -i '202,208d' ${DirShell}/tt # On vire le superflu de fin de fichier
fi
;;
Soirée)
sed -i "17i\Matin$format\nAprès-midi$format" ${DirShell}/tt
sed -i '211,$d' ${DirShell}/tt # On vire le superflu de fin de fichier
sed -i '202,208d' ${DirShell}/tt # On vire le superflu de fin de fichier
;;
Nuit)
for (( i=0; i<=10; i+=1 ))
do
ligne=$(($i+5))
ligne2=$(($i+27))
var=$(sed -n $ligne2'p' ${DirShell}/tt)
sed -i '4i\'"$var"'\' ${DirShell}/tt
sed -i $ligne'i\'"$var"'\' ${DirShell}/tt
done
sed -i '39,49d' ${DirShell}/tt
sed -i '9d' ${DirShell}/tt
sed -i "4 s/.*/Aujourd'hui/" ${DirShell}/tt
sed -i '10i\uv\n - ' ${DirShell}/tt
sed -i '16i\Détails' ${DirShell}/tt
sed -i "17i\Matin$format\nAprès-midi$format\nSoirée$format" ${DirShell}/tt
sed -i '211,$d' ${DirShell}/tt # On vire le superflu de fin de fichier
sed -i '202,208d' ${DirShell}/tt # On vire le superflu de fin de fichier
;;
esac
sed -i "144d" ${DirShell}/tt # Nettoyage doublons condition météo j+3
sed -i "109d" ${DirShell}/tt # Nettoyage doublons condition météo j+2
sed -i "63d" ${DirShell}/tt # Nettoyage doublons condition météo j+1
sed -i "5d" ${DirShell}/tt # Nettoyage doublons condition météo j
sed -i 's/meteo\/pictos\/web\/SITE\/[48]0//g' ${DirShell}/tt
# Le fichier tt est prêt pour l'exploitation
# récupération des icones météo
for (( j=1; j<=9; j+=1 ))
do
case $j in
1)
n=17
jour=1
;;
2) n=73 ;;
3) n=118 ;;
4) n=152 ;;
5) n=174 ;;
6) n=179 ;;
7) n=184 ;;
8) n=189 ;;
9) n=194 ;;
esac
if [ $j -le 4 ]
then
dvent=$(sed -n "$(($n-6))p" ${DirShell}/tt)
cp ${DirShell}/vent/$dvent.png ${DirShell}/conky/v_j$j.png
fi
for (( m=0; m<=3; m+=1 ))
do
case $j in
1) ;;
2)
if (( $m == 3 )); then
break
fi
;;
3|4)
if (( $m == 2 )); then
break
fi
;;
*)
if (( $m == 1 )); then
break
fi
;;
esac
case $m in
0) mm="matin" ;;
1) mm="am" ;;
2) mm="soir" ;;
3) mm="nuit" ;;
esac
if (( $j >= 5 )) ; then
mm=""
fi
r=$(($m*11))
var=$(sed -n "$(($n+$r))p" ${DirShell}/tt)
dvent=$(sed -n "$(($n+$r+6))p" ${DirShell}/tt)
if [[ $var != "gif" ]];
then
wget -U -N --output-document=${DirShell}/conky/j$j$mm.gif http://france.meteofrance.com/meteo/pictos/web/SITE/100$var
cp ${DirShell}/vent/$dvent.png ${DirShell}/conky/v_j$j$mm.png
if (( $j == 1 && $jour == 1 )) ; then
cp ${DirShell}/conky/j$j$mm.gif ${DirShell}/conky/j$j.gif
jour=0
fi
else
rm ${DirShell}/conky/j$j$mm.gif
rm ${DirShell}/conky/v_j$j$mm.png
fi
done
done
sed -i '/gif/d' ${DirShell}/tt
exit 0
info_meteo.sh
#!/bin/bash
# Créé par Didier-T (forum.ubuntu-fr.org)
# DirShell = Répertoire de travaille comprenant plusieurs sous-répertoire : "vent" - "conky" - "météo"
# les répertoires "vent" et "météo" contiennent les icônes conkyforcast
DirShell="$HOME/test/"
affichage () {
var=`sed -n "$(($1))p" ${DirShell}/tt`
echo $var
}
erreur () {
echo \
"s'emploi de la manière suivante :
info_meteo --info numjour moment
info est obligatoires
numjour doit être indiqué pour les infos avec un * au debut de leurs définition
moment est facultatif
info peut être :
jour = *jour des prévisions
meteo = *condition meteo
tmax = *température maxi ou temperature moment journée si celui-ci spécifié
tmin = *température mini ou température ressenti au moment de la journée si celui-ci est spécifié
temp = *température au moment de la journée spécifié ou température maxi si le moment de la journée non spécifié
tres = *température ressenti au moment de la journée spécifié ou température mini si moment journée non spécifié
uv = *indice uv de la journée demandée (info sur les 4 premiers jours)
d_vent = *direction du vent au moment de la journée spécifié (info sur les 4 premiers jours)
f_vent = *force du vent au moment de la journée spécifié (info sur les 4 premiers jours)
rafales = *force des rafales de vent au moment spécifié de la journée (info sur les 4 premiers jours)
ville = nom de la ville des prévision météo
postale = code postale de la ville
actualiser = heure des prévisions météo affichées
saint = Saint du jour
numjour est un chiffre compris entre 1 et 9 (1 etant Aujourd'hui)
moment peut être :
matin (valable les 4 premiers jours)
am = apres midi (valable les 4 premiers jours)
soir (valable les 2 premiers jours)
nuit (valable pour Aujourd'hui)"
}
Meteo () {
case $1 in
1) j=4 ;;
2) j=56 ;;
3) j=98 ;;
4) j=130 ;;
5) j=162 ;;
6) j=166 ;;
7) j=170 ;;
8) j=174 ;;
9) j=178 ;;
*) j=0 ;;
esac
case $3 in
matin) m=12 ;;
am) m=22 ;;
soir)
if [ $1 -le 2 ]
then
m=32
else
erreur
fi
;;
nuit)
if [ $1 -eq 1 ]
then
m=42
else
erreur
fi
;;
*) m=0 ;;
esac
case $2 in
jour)
pos=$j
;;
meteo)
if [ $1 -le 4 ]
then
pos=$(($j+$m+1))
else
pos=$(($j+1))
fi
;;
temp|tmax)
if [ $1 -le 4 ]
then
if [ $m -ne 0 ]
then
pos=$(($j+$m+3))
else
pos=$(($j+$m+4))
fi
else
pos=$(($j+3))
fi
;;
tmin|tres)
if [ $1 -le 4 ]
then
if [ $m -ne 0 ]
then
pos=$(($j+$m+5))
else
pos=$(($j+$m+3))
fi
else
pos=$(($j+2))
fi
;;
uv)
if [ $1 -ge 5 ]
then
erreur
else
pos=$(($j+6))
fi
;;
d_vent)
if [ $1 -ge 5 ]
then
erreur
else
if [ $m -eq 0 ]
then
m=1
fi
pos=$(($j+$m+6))
fi
;;
f_vent)
if [ $1 -ge 5 ]
then
erreur
else
if [ $m -eq 0 ]
then
m=1
fi
pos=$(($j+$m+7))
fi
;;
rafales)
if [ $1 -ge 5 ]
then
erreur
else
if [ $m -eq 0 ]
then
m=1
fi
pos=$(($j+$m+9))
fi
;;
*)
erreur
;;
esac
affichage $pos
}
case $1 in
"--ville")
affichage 1
;;
"--postale")
affichage 2
;;
"--actualiser")
affichage 3
;;
"--saint")
affichage 183
;;
*)
info=$1
Meteo $2 ${info:2} $3
;;
esac
.conky
# temps pour fermer conky en seconde. 0 = toujours actif
total_run_times 0
# affiche le texte sur la sortie standard
out_to_console no
# réglage de la mémoire, pour éviter le clignotement
double_buffer yes
# Soustraire les mémoires tampons de la mémoire utilisée
no_buffers yes
text_buffer_size 2048
imlib_cache_size 0
# taux de rafraichissement de la fenêtre (en secondes)
update_interval 1
# nombre d'échantillons à utiliser pour calculer la moyenne d'utilisation
cpu_avg_samples 4
net_avg_samples 4
# taille et positon
alignment tm
minimum_size 320 320
maximum_width 700
# écart avec le bord x=gauche ou droit y= haut ou bas
gap_x 0
gap_y 40
# afficher les ombres
draw_shades yes
# afficher des contours
draw_outline no
# contours autour des blocs de texte
draw_borders no
# largeur du contour
border_width 1
# largeur des marges
#border_margin 4
#pour que conky tourne en arrière plan background no pour les tests
background yes
# utiliser sa propre fenêtre
own_window yes
#type de fenêtre : normal(avec le cadre) / override / desktop
own_window_type override # normal / override / desktop
#pseudo transparence si vous avez des icones sous le conky elle ne seront plus accessible une fois conky activé
own_window_transparent yes
#own_window_hints undecorated,below,skip_taskbar,skip_pager
# Utiliser Xft (polices lissées etc)
use_xft yes
#xftalpha .1
override_utf8_locale yes # force UTF8
#police a utiliser : use_xft doit être a "yes"
xftfont Comic sans MS:size=8
xftalpha 0.8
# Tout le texte en majuscule
uppercase no
# Ajoute des espaces après certains objets pour éviter de les faire bouger.
# Fonctionne uniquement avec les polices Fixes
use_spacer right
# Taille de la jauge par défault
default_gauge_size 0 10
# Couleurs
default_color FFFFFF #blanc
default_shade_color 333333
default_outline_color black
color1 e49c16
color2 CA0000 #rouge
color3 FFFFFF
color6 EEEEEE
color7 DDDDDD
color8 CCCCCC
color9 BBBBBB
TEXT
#${execi 1800 ~/test/meteo.sh}
${color red}${font Bitstream Vera Sans Mono:style=Bold:size=14}Météo sur ${execpi 1800 ~/test/info_meteo.sh --ville} ${execpi 1800 ~/test/info_meteo.sh --postale}${hr 2}${font}
${color green}${font Comic sans MS:style=Bold:size=14}${execpi 1800 ~/test/info_meteo.sh --jour 1}
${image ~/test/conky/j1.gif -p 0,50 -s 90x90}
${color light grey}${font Bitstream Charter:style=Bold:size=14}${voffset -15}${offset 100}${execpi 1800 ~/test/info_meteo.sh --meteo 1}
${offset 100}Température Maxi ${execpi 1800 ~/test/info_meteo.sh --tmax 1}
${offset 130}${voffset 5}${execpi 1800 ~/test/info_meteo.sh --d_vent 1} ${execpi 1800 ~/test/info_meteo.sh --f_vent 1}
${image ~/test/conky/v_j1.png -p 100,100 -s 30x30}
${color green}${font Comic sans MS:style=Bold:size=14}Ce soir
${image ~/test/conky/j1soir.gif -p 0,178 -s 90x90}
${color light grey}${font Bitstream Charter:style=Bold:size=14}${voffset -15}${offset 100}${execpi 1800 ~/test/info_meteo.sh --meteo 1 soir}
${offset 100}Température Mini ${execpi 1800 ~/test/info_meteo.sh --tmin 1}
${offset 130}${voffset 5}${execpi 1800 ~/test/info_meteo.sh --d_vent 1 soir} ${execpi 1800 ~/test/info_meteo.sh --f_vent 1 soir}
${image ~/test/conky/v_j1soir.png -p 100,228 -s 30x30}
${execpi 1800 ~/test/info_meteo.sh --actualiser}
${execpi 1800 ~/test/info_meteo.sh --saint}
Et le pack icônes pour le vent, les images météo venant du site météo france
Pour le moment la solution la plus simple est de creer deux conky, un pour la mise à jours des données météo, le second pour leurs affichages.
A bientôt
Edit : modification filtre fête ajout Défunts.
Edit #2 : modification récupération image météo pour l’icône J1 (correspond à maintenant)
Edit #3 : modification formatage info nuit
Dernière modification par Didier-T (Le 03/11/2011, à 15:28)
Hors ligne
#22 Le 01/11/2011, à 22:08
- cledesol
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Pas Didier-T, chez moi ça fonctionne assez bien.
Je dis "assez" parce que j'ai un petit problème d'alignement des icônes de vent.
Dans le .conkyrc, j'ai du changer l'alignement y de 100 à 112 (ligne 91)
et 228 par 250 en ligne 97.
Merci
Bon, eh bien je vais partir en Théorie parce qu'en Théorie, tout se passe bien ....
Hors ligne
#23 Le 02/11/2011, à 05:24
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
@ cledesol
étrange ça tu pourrait mettre ton conkyrc sur le forum que je regarde si je trouve une différence.
pour la position des icônes sa tient juste à la résolution moi je suis en 1440x900.
A+
Hors ligne
#24 Le 02/11/2011, à 21:48
- cledesol
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
Ok Didier-T, je suis en 1920X1080. Je n'avais pas pensé à ce genre de problème.
Je suppose que si je veux voir la météo du lendemain, il faut recopier les lignes en fin du .conkyrc
en précisant un numéro de jour à 2 ?
Une autre chose que je ne comprends pas: il arrive qu'il ne trouve pas certaines icônes.
Exemple en console, j'ai ce message :
Conky: Unable to load image '/home/remy/test/conky/j1soir.gif'
Qu'est-ce que cela veut dire ? Il n'a pas réussi à trouver cet icone sur le site de météo France ?
A+
Dernière modification par cledesol (Le 02/11/2011, à 22:05)
Bon, eh bien je vais partir en Théorie parce qu'en Théorie, tout se passe bien ....
Hors ligne
#25 Le 02/11/2011, à 22:10
- Didier-T
Re : [Conky] Alternative à weather.com ( icones conkyforecast )
tous à fait cledesol.
la syntaxe est la suivante
info_meteo --"information désirée" "numéro représentant le jour 1 aujourd'hui, 2 demain, ... jusqu’à 9" "moment de la journée valables pour les 4 premiers jours"
si la syntaxe n'est pas bonne pour une information tu auras droit à un beau message qui te polluera tous ton conky mais je modifierais sa pour la suite en changeant le message en fonction de l'erreur.
edit :
houps j'avais pas vue ta modif de 23h05
en effet il ne trouve pas l'image car à partir de 22h00 ou 22h30 météo france supprime les informations du soir pour ne conserver que celle de la nuit, donc plus d’icônes météo pour la journée en cours (qui d’ailleurs est terminée)
Dernière modification par Didier-T (Le 03/11/2011, à 15:42)
Hors ligne