Data2sql avec le logiciel Cumulus

Chargement d'une base de données depuis les fichiers *.csv des stations connectées à Cumulus

Modérateurs : jturlier, Météo Villarzel

will60
Messages : 20
Enregistré le : 17 févr. 2014, 20:25

Data2sql avec le logiciel Cumulus

Message par will60 » 05 avr. 2014, 13:56

Bonjour,
Dans un premier temps, toutes mes félicitations pour ce nouveau tutoriel très attendu pour beaucoup je pense.
Après tout le travail que vous avez effectué, j'avoue être gêné de vous embêter avec mon problème sur ce sujet. :oops:
Voilà, ma vp2 fonctionne avec cumulus et graphweather version 2.
Je ne sais pas comment choisir mon fichier texte (avr.14log.txt) dans le répertoire data de cumulus avec data2 Sql.
car peu importe ce que je choisis comme station au départ, lorsque je vais chercher manuellement mon fichier, il n'affiche que le répertoire .
Exemple: lorsque je clique sur vantage pro, il ne m'affiche pas le fichier (avr.14log.txt), juste le répertoire Data dans lesquel ce fichier est enregistrer et ainsi de suite avec les autres stations en dessous.
De ce fait il ne fait aucun transfert vers ma bd.
Sinon la connexion à ma BD est OK.
En vous remerciant. ;)
Station Vantage pro 2, Windows Seven 64 bits, GraphWeather 2.0.31, cumulus 1.9.4 et Data to SQL
Image

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par Météo Villarzel » 05 avr. 2014, 23:18

Bonsoir Wilfried,

Dta2SQL avec les paramètres pour les Vantages, prends en considération les fichiers originaux de WL qui ont une extension WLK, il n'est pas possible de lire d'autres fichiers, en l’occurrence des fichiers txt de Cumulus.

Tu as deux solutions.

1 - Faire fonctionner Cumulus et WL en même temps en utilisant VirtualVP, comme moi.

2 - Utiliser un autre script pour alimenter la BD avec les fichiers txt de Cumulus, il y a un programme sur ce site
http://meteoduquebec.com/transfertsql.html
par contre tu auras beaucoup moins de possibilité.

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

will60
Messages : 20
Enregistré le : 17 févr. 2014, 20:25

Re: Data2sql avec le logiciel Cumulus

Message par will60 » 06 avr. 2014, 20:06

Merci pour l'aide ( une fois de plus ),
Je vais donc voir pour utiliser virtualvp pour avoir weatherlink et cumulus en même temps car l'interface de cumulus est beaucoup plus plaisante que weatherlink , mais bon c'est une affaire de goût) ;)
Station Vantage pro 2, Windows Seven 64 bits, GraphWeather 2.0.31, cumulus 1.9.4 et Data to SQL
Image

courtil
Messages : 54
Enregistré le : 25 mai 2014, 14:31
Localisation : Pas de Calais - France
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par courtil » 25 mai 2014, 14:43

Bonjour à tous,


je rappelle mes conditions de travail .

la station est une WH1080 (type fine ofset)

Le logiciel de collecte CUMULUS

J'ai utilisé dans un premier temps les gabarits de

http://meteoduquebec.com/index.html

puis ceux de P.A. Aubert

La base de données a été créée avec les gabarits de METEODUQUEBEC (ci-joint la structure de la base)ainsi créée
dans l'immédiat je charge manuellement sans problème.

Avec les mêmes gabarits j'obtiens à la demande différents fichiers texte des données Quotidiennes ou mensuelles.

Donc aucun problème de ce coté là .

Si je veux démarrer sur "Highcharts" le point le plus important est le timestamp.

cela est facile a intégrer dans la base de données : timestamp = 'bigint(20) NOT NULL

la difficulté pour moi réside dans la collecte de la date qui a pour format dans le fichier .txt de CUMULUS:

09/12/13;17:38

09/12/13;17:38;4,7;87;2,7;1,0;2,0;275;0,0;0,0;1031,4;4,2;19,9;61;1,7;4,7;4,7;0;0;0,00;0,00;2,5;0;0,0;270;0,0;0,0

Il faut donc, je pense dans le chargeur des données inverser la date ce qui donnera : 13/12/09 et traduire cette valeur en
timestamp avant chargement dans la base de données.

je ne sais écrire cette routine.

Bien sur il faudra également corriger dans le fichier HIGHCHARTS le nom des champs collectés.

Voila l'objet de ma réflexion, quand pensez vous??


Bon Dimanche



Michel dit courtil
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
OS : Windows 11
Station Météo : Vantage PRO2
Cumulus version 313.3 version 3148
http://meteo621.free.fr/

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par helmain » 29 mai 2014, 11:23

Michel,

As-tu déjà isolé la date et l'heure ?
Ton fichier texte généré par Cumulus se nomme comment ?
J'ai pensé un instant au fichier "realtime.txt" généré par Cumulus, mais le séparateur dans ce fichier n'est pas un point-virgule mais un espace.

Enfin voilà ce qu'il faut faire en admettant pour l'exemple que ton fichier se nomme "monfichier.txt"
Pour info le contenu de mktime est (heure, minute, seconde, mois, jour, année) et pour la date il ne doit pas y avoir de zéros initiaux

Code : Tout sélectionner

<?php
$dataraw = file_get_contents("monfichier.txt");
$data = explode(";", $dataraw);
$timestamp = mktime(substr($data[1], 0, 2), substr($data[1], 3, 2), 0, intval(substr($data[0], 3, 2)), intval(substr($data[0], 0, 2)), intval(substr($data[0], 6, 2)));   
?>
Pour contrôler ton timestamp tu peux provisoirement ajouter un echo et vérifier sa valeur sur un site comme http://www.timestamp.fr

Code : Tout sélectionner

<?php
$dataraw = file_get_contents("monfichier.txt");
$data = explode(";", $dataraw);
$timestamp = mktime(substr($data[1], 0, 2), substr($data[1], 3, 2), 0, intval(substr($data[0], 3, 2)), intval(substr($data[0], 0, 2)), intval(substr($data[0], 6, 2)));   
echo $timestamp;
?>
Par ailleurs, j'espère que tu t'en sortiras, car ayant des préoccupations beaucoup plus importantes, je ne peux hélas plus trop participer à ce forum.
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

courtil
Messages : 54
Enregistré le : 25 mai 2014, 14:31
Localisation : Pas de Calais - France
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par courtil » 29 mai 2014, 12:16

Bonjour ,

Merci de ces infos prises sur votre temps de travail.

Etant autodidacte et toujours débutant en langage php,

Je suis toujours en recherche d'informations.

Cordialement

Michel dit Courtil
OS : Windows 11
Station Météo : Vantage PRO2
Cumulus version 313.3 version 3148
http://meteo621.free.fr/

Avatar du membre
helmain
Administrateur du site
Messages : 54
Enregistré le : 09 févr. 2014, 12:44
Localisation : FRANCE - Lagny-sur-Marne (77)
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par helmain » 29 mai 2014, 17:42

Pour Michel qui semble avoir des problèmes !
Dans la fonction explode le premier paramètre dans la parenthèse est le séparateur, le second la chaîne de caractères à séparer.
Le séparateur peut être un signe de ponctuation, une tabulation, un espace, une ou des lettres, un ou des chiffres ou une chaîne de caractères quelconque.
Pour ceux qui ont des problèmes n'hésitez pas à aller sur des sites spécialisés dans le php.
A commencer par celui-ci par exemple : http://www.php.net/manual/fr/function.explode.php tu y aurais trouvé la réponse à ta remarque faite hors forum "ça ne marche pas avec realtime.txt qui n'a pas de séparation"
Comme tu as dit que ton fichier commençait par
09/12/13;17:38;4,7;87;2,7;1,0;2,0;275;0,0;0,0;1031,4;4,2;19,9;61;1,7;4,7;4,7;0;0;0,00;0,00;2,5;0;0,0;270;0,0;0,0

J'ai mis un point-virgule en séparateur dans mon exemple, j'allais pas te mettre une virgule ou un point d'exclamation pour que ça plante avec ton fichier !! Ca donne donc çà :

Code : Tout sélectionner

$data = explode(";", $dataraw);
Contrairement à ton affirmation le fichier "realtime.txt" a des séparations !! le séparateur est un espace il faut donc mettre :

Code : Tout sélectionner

$data = explode(" ", $dataraw);
Si le séparateur avait été un point d'interrogation on mettrait :

Code : Tout sélectionner

$data = explode("?", $dataraw);
Si le séparateur avait été "toto" on aurait :

Code : Tout sélectionner

$data = explode("toto", $dataraw);
Il n'y a rien de sorcier là dedans, il suffit juste de le savoir, et quand une fonction te pose des problèmes Michel, regarde dans le site indiqué plus haut, tu y gagneras du temps.
Station Vantage Pro2 + Soil/Leaf + Anémomètre déporté - Weatherlink 6.0.3 - Weather Display 10.37S build 84 - Cumulus 1.9.4 build 1099 - GraphWeather 3.0.28 - Windows 10/64 - VP2SQL + WDTU 1.2 pour Envoy8x - Hébergé par o2switch (MySql/PgSql)

Image

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par Météo Villarzel » 04 juil. 2014, 23:43

Bonsoir,

Bonne nouvelle.

Pour ceux qui utilisent Cumulus, Jean à refait une version du programme qui permet de reprendre les fichiers txt de Cumulus.
Je viens de le tester et il a des erreurs de correspondance dans les colonnes, j'ai transmis à Jean les bons noms de colonnes et il va faire les modifications.
Il va juste encore falloir patienter quelques semaines, car même qu'il est à la retraite, il est parti en vacances avant que j'aie pu tester le programme.

Je reposterais dès que tous sera OK.

A+
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

courtil
Messages : 54
Enregistré le : 25 mai 2014, 14:31
Localisation : Pas de Calais - France
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par courtil » 05 juil. 2014, 13:56

Bonjour à tous,

Pour compléter le dernier message de P.A. Aubert

Le logiciel Cumulus délivre 3 fichiers :

- dayfile.txt

Ce fichier est délivré 1 fois le jour .

Ses champs :

$field_delimiter = ';';
$date_delimiter = '/';
$date_format = 'DMY'; //or MDY or YMD
$decimal_separator = ',';
$compassp = array('N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW');



- monthly.txt ou plutôt juil.14log.txt (juillet 2014) délivré au pas de la configuration choisie ( 1-5-10-15-20-30 ')
il est créé automatiquement chaque mois
Ses champs:

$field_delimiter = ';';
$date_delimiter = '/';
$date_format = 'DMY'; //or MDY or YMD
$decimal_separator = ',';
$compassp = array('N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW');



- realtime.txt délivré au pas de la configuration choisie ( 1-5-10-15-20-30 ')

Le fichier realtime.txt n'est pas un fichier journal et est constamment remplacé. Il ne contient donc pas de données historiques.

Il contient une liste de valeurs clés des capteurs et est recréé fréquemment.

C'est un fichier en temps réel

Ses champs:

$field_delimiter = ' ';-----> variante avec les fichiers précédents
$date_delimiter = '/';
$date_format = 'DMY'; //or MDY or YMD
$decimal_separator = '.';-------> variante avec les fichiers précédents
$compassp = array('N','NNE','NE','ENE','E','ESE','SE','SSE','S','SSW','SW','WSW','W','WNW','NW','NNW');

La configuration des délimiteurs étant pour un configuration locale différent du format Anglais ou autre .

Le fichier le plus exploitable sans grande extrapolation dans la création de graphique (Highcharts) est le fichier "monthly"

La seule différence sur la délivrance de ces fichiers étant le format "date" et non "timestamp"

Voici ce que je peux en dire.

Cordialement

Michel dit Courtil
OS : Windows 11
Station Météo : Vantage PRO2
Cumulus version 313.3 version 3148
http://meteo621.free.fr/

Avatar du membre
Météo Villarzel
Administrateur du site
Messages : 524
Enregistré le : 06 févr. 2014, 09:48
Contact :

Re: Data2sql avec le logiciel Cumulus

Message par Météo Villarzel » 05 juil. 2014, 14:09

Merci Michel,
Donc si je resume, c'est bien les fichiers "mont" mai14log.txt - juin14log.txt - juil.14log.txt etc qui sont dans le répertoire "data" qu'il faut reprendre pour Data2SQL ?
La structure est la suivante
cumulus.jpg
Pour le timstamp, pas de problème Data2SQL va le créer automatiquement.

A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Station Vantage Pro2+ avec station agricole - Weatherlink - GraphWeather 3.0.15b - Cumulus 1.9.4 - Windows 7/64
Graphique dynamique à partir d'une bd MySql - VP2SQL

Image

Répondre