weather.ini - format du fichier de configuration

Presque toute la configuration de pywws est fait via un seul fichier dans le répertoire de donnée: weather.ini. Ce fichier a été structuré de manière similaire aux fichiers INI de Microsoft Windows. Il est divisé en ‘sections’, qui contiennent un nom d’entrée ‘nom = valeur’. L’ordre d’apparition des sections n’a pas d’importance.

Tout éditeur de texte brut peut être utilisé pour éditer le fichier. (Ne pas essayer d’éditer le fichier pendant le fonctionnement de pywws.) Dans plusieurs cas, pywws initialisera les entrées avec des valeurs importantes.

Un autre fichier, status.ini, est utilisé pour emmagasiner certaines informations que pywws utilise à l’interne. Il est décrit à la fin de ce document. En utilisation normale, vous ne devriez pas avoir à éditer ce fichier.

Les sections suivantes sont présentement utilisées:

  • config: diverses configuration système.

  • paths: dossiers dans lesquels sont emmagasinés les gabarits, etc.

  • live: tâches à accomplir à chaque 48 secondes.

  • logged: tâches à accomplir chaque fois que la station enregistre une lecture.

  • hourly: tâches à réaliser à chaque heure.

  • 12 hourly: tâches à réaliser à chaque 12 heures.

  • daily: tâches à faire chaque jour.

  • ftp: configuration pour le téléversement du un site web.

  • twitter: configuration pour poster sur Twitter.

  • underground, metoffice, temperaturnu etc: configuration pour poster sur ces ‘services’.

config: diverses configuration système

[config]
ws type = 1080
day end hour = 21
gnuplot encoding = iso_8859_1
template encoding = iso-8859-1
language = en
logdata sync = 1
rain day threshold = 0.2

ws type est le “type” de station. Il devrait être fixé à 1080 pour la plupart des stations météo, ou 3080 si la console de votre station affiche l’éclairement solaire.

day end hour est la fin du “jour météorologique”, selon l’heure locale sans tenir compte de l’heure d’été. Généralement, les valeurs sont 21, 9, ou 24.

gnuplot encoding est l’encodage de texte utilisé lors du tracé de graphes. La valeur par défaut est iso_8859_1 permettant le symbole des degrés, fort utile dans une application météorologique! D’autres valeurs peuvent être nécessaire si votre langue comporte des caractères accentués. Les valeurs possible dépendent de votre installation gnuplot, quelques expérimentations peuvent donc être nécessaire.

template encoding est l’encodage de text utilisé pour le gabarit. La valeur par défaut est iso-8859-1, ce qui est l’encodage utilisé dans les gabarits d’exemple. Si vous créez des gabarits avec un autre jeu de caractère, vous devez changer cette valeur pour celle de vos gabarits.

language est utilisé pour traduire pywws. Il est optionnel, puisque pywws utilise habituellement la langue par défaut de l’ordinateur tel que configuré par la variable d’environnement LANG. Vous trouverez les langages disponibles dans le sous-dossier translations de votre installation pywws. Si vous configurez une langue qui n’est pas inclue, pywws affichera en anglais.

logdata sync configure la qualité de la synchronisation utilisé par pywws.LogData. Fixer à 0 pour rapide & imprécis ou 1 pour plus lent, mais précis.

rain day threshold est la quantité de pluie (en mm) tombée en une journée pour qu’elle puisse être considéré comme un jour de pluie dans les données sommaires mensuels .

paths: dossiers dans lesquels sont emmagasinés les gabarits, etc.

[paths]
templates = /home/$USER/weather/templates/
graph_templates = /home/$USER/weather/graph_templates/
user_calib = /home/jim/weather/modules/usercalib
work = /tmp/weather

Ces trois entrées spécifient où sont emmagasinés vos gabarits de texte et de graphes, où doivent être créé les fichiers temporaires, et la localisation de votre module de calibration (si utilisé).

live: tâches à accomplir à chaque 48 secondes

[live]
services = ['underground']
twitter = []
text = []
plot = []
yowindow = /home/jim/data/yowindow.xml

Cette section spécifie les tâche devant être effectuées pour chaque échantillonnage pendant la ‘journalisation temps réel’, c.à.d. chaque 48 secondes. Il est peu probable que vous vouliez faire autre chose que le téléversement à Weather Underground ou la mise à jour du fichier YoWindow aussi souvent.

services est une liste de ‘services’ auxquels envoyer vos données. Chaque service listé doit avoir un fichier de configuration dans le dossier pywws/services/. Voir pywws.toservice pour plus de détails.

twitter est une liste de gabarit texte à traiter avant de les poster sur Twitter.

text et plot sont des listes de gabarits texte et graphe à traiter et à téléverser sur votre site web.

yowindow indique le chemin complet du fichier au format xml à générer pour le widget YoWindow weather (voir http://yowindow.com/). Si vous n’employez pas YoWindow, omettez cette entrée.

logged: tâches à accomplir chaque fois que la station enregistre une lecture

[logged]
services = ['underground', 'metoffice']
twitter = ['tweet.txt']
text = []
plot = []

Cette section spécifie les tâche devant être réalisées chaque fois qu’une donnée est lue en mode ‘temps réel’ ou chaque fois qu’une tâche horaire cron est exécutée.

services est une liste de ‘services’ auxquels envoyer vos données. Chaque service listé doit avoir un fichier de configuration dans le dossier pywws/services/. Voir pywws.toservice pour plus de détails.

twitter est une liste de gabarit texte à traiter avant de les poster sur Twitter.

text et plot sont des listes de gabarits texte et graphe à traiter et à téléverser sur votre site web.

hourly: tâches à réaliser à chaque heure

[hourly]
services = []
twitter = ['tweet.txt']
text = ['24hrs.txt', '6hrs.txt', '7days.txt', 'feed_hourly.xml', 'allmonths.txt']
plot = ['7days.png.xml', '24hrs.png.xml', 'rose_12hrs.png.xml']

Cette section spécifie les tâches à réaliser à chaque heure en mode ‘temps réel’ ou exécutées en tant que tâche horaire cron.

services est une liste de ‘services’ auxquels envoyer vos données. Chaque service listé doit avoir un fichier de configuration dans le dossier pywws/services/. Voir pywws.toservice pour plus de détails.

twitter est une liste de gabarit texte à traiter avant de les poster sur Twitter.

text et plot sont des listes de gabarits texte et graphe à traiter et à téléverser sur votre site web.

12 hourly: tâches à réaliser à chaque 12 heures

[12 hourly]
services = []
twitter = []
text = []
plot = []

Cette section spécifie les tâches à réaliser à chaque 12 heures en mode ‘temps réel’ ou exécutées en tant que tâche horaire cron. Utilisez pour des choses qui ne changent pas très souvent, tel que les graphes mensuels.

services est une liste de ‘services’ auxquels envoyer vos données. Chaque service listé doit avoir un fichier de configuration dans le dossier pywws/services/. Voir pywws.toservice pour plus de détails.

twitter est une liste de gabarit texte à traiter avant de les poster sur Twitter.

text et plot sont des listes de gabarits texte et graphe à traiter et à téléverser sur votre site web.

daily: tâches à faire à chaque 24 heures

[daily]
services = []
twitter = []
text = ['feed_daily.xml']
plot = ['2008.png.xml', '2009.png.xml', '2010.png.xml', '28days.png.xml']

Cette section spécifie les tâches à réaliser à chaque jour en mode ‘temps réel’ exécutées en tant que tâche horaire cron. Utilisez pour des choses qui ne changent pas très souvent, tel que les graphes mensuels ou annuels.

services est une liste de ‘services’ auxquels envoyer vos données. Chaque service listé doit avoir un fichier de configuration dans le dossier pywws/services/. Voir pywws.toservice pour plus de détails.

twitter est une liste de gabarit texte à traiter avant de les poster sur Twitter.

text et plot sont des listes de gabarits texte et graphe à traiter et à téléverser sur votre site web.

ftp: configuration du téléversement à un site web

[ftp]
local site = False
secure = False
site = ftp.your_isp.co.uk
user = username
password = userpassword
directory = public_html/weather/data/

Ces entrées fournissent des détails sur votre site web (ou répertoire local) où doivent être transférés les fichier de texte et de graphe traités.

local site spécifie si les fichiers doivent être copiés dans un dossier local ou envoyé sur un site distant. Vous pouvez vouloir fixer ce paramètre si votre serveur web fonctionne sur le même ordinateur qui exécute pywws.

secure spécifie si le transfert des fichiers utilise SFTP (FTP sécurisé) au lieu de l’habituel FTP. Votre hébergeur doit être en mesure de vous dire si vous pouvez utiliser SFTP.

site est l’adresse web de votre site FTP à laquelle transférer vos fichiers.

user et password sont les informations de branchement pour votre site FTP. Votre hébergeur doit vous avoir fourni ces informations.

directory spécifie où sur le site FTP (ou le disque local) les fichiers doivent être envoyés. Notez que vous pourriez devoir expérimenter quelque peu - vous pourriez par exemple devoir utiliser un caractère ‘/’ au début de votre adresse.

twitter: configuration pour poster sur Twitter

[twitter]
secret = longstringofrandomcharacters
key = evenlongerstringofrandomcharacters
latitude = 51.365
longitude = -0.251

secret et key sont les données d’authentification fournies par Twitter. Pour les configurer, exécutez le programme TwitterAuth.py.

latitude et longitude sont vos données de localisation et sont optionnelles. Si vous les incluez dans vos ‘tweets météo’ vos utilisateurs pourront voir où est située votre station. Ce qui pourrait aider les utilisateurs à trouver votre station s’ils cherchent par localisation.

underground, metoffice, temperaturnu etc: configuration pour poster sur ces ‘services’

[underground]
station = IXYZABA5
password = secret

Ces sections contiennent l’information nécessaire pour envoyer vos données sur ces services météo, tel que mot de passe et ID de votre station. Le nom de ces entrées de données dépend du service. L’exemple montré affiche les informations pour Weather Underground.

station est le PWS ID (Identificateur de station) alloué à la station météo par Weather Underground.

password est votre mot de passe pour Weather Underground.

status.ini - format du fichier de status

Ce fichier est crée par pywws et ne doit pas (habituellement) être édité. Les section suivantes sont actuellement utilisées

  • fixed: valeurs copiées à partir des “blocs fixes” de la station météo.

  • clock: information de synchronisation.

  • last update: date et heure de la plus récente tâche complétée.

fixed: valeurs copiées à partir des “blocs fixes” de la station météo

[fixed]
pressure offset = 7.4
fixed block = {...}

pressure offset est la différence entre la pression de l’air absolue et relative; copié à partir de la station météorologique, en supposant que vous l’avez configuré pour afficher la bonne pression relative.

fixed block est toutes les données stockées dans les 256 octets de mémoire de la station. Cela comprend les valeures minimales et maximum, les paramètres de seuil d’alarme, unités de mesure et ainsi de suite.

clock: information de synchronisation

[clock]
station = 1360322930.02
sensor = 1360322743.69

Ces valeurs enregistrent le temps calculé lorsque l’horloge de la station a enregistrée certaines données et lorsque les capteurs extérieurs ont transmis un nouveau jeu de données. Elles sont utilisées pour tenter d’empêcher le plantage de l’interface USB si l’ordinateur accède à la station météo en même temps que l’un ou l’autre de ces événements, un problème commun à de nombreuses stations compatibles EasyWeather. Les durées sont mesurées toutes les 24 heures pour permettre la dérive de l’horloge

last update: date et heure de la plus récente tâche complétée

[last update]
hourly = 2013-05-30 19:04:15
logged = 2013-05-30 19:04:15
daily = 2013-05-30 09:04:15
openweathermap = 2013-05-30 18:59:15
underground = 2013-05-30 18:58:34
metoffice = 2013-05-30 18:59:15
12 hourly = 2013-05-30 09:04:15

Ces enregistrement affichent la date et l’heure de la dernière exécution réussie des diverses tâches. Ils sont utilisés pour permettre aux tâches infructueuses (ex. panne de réseau empêchant les téléversements) d’être réessayé après quelques minutes.