Forum GraphWeather

Forum d'aide GraphWeather
Nous sommes actuellement le Jeu Mars 28, 2024 10:55 am

Le fuseau horaire est UTC+1 heure




Publier un nouveau sujet Répondre au sujet  [ 13 message(s) ] 
Auteur Message
MessagePublié: Mar Avr 06, 2010 10:22 pm 
Hors-ligne
Nouveau membre

Inscription : Mar Avr 06, 2010 10:17 pm
Message(s) : 2
Bonjour, je suis nouveau sur le forum.
Je commence la php et mysql, existe-t-il un tutoriel pour l'utilisation de graphweather avec mysql ou quelqu'un peut m'expliquer succinctement.
Mon gros problème est que je n'arrive pas à envoyer mes données de ma station WS2350 vers ma table.
Merci pour vos éventuels réponse


Haut
 Profil  
Répondre en citant  
MessagePublié: Mer Avr 07, 2010 6:34 am 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Août 22, 2006 8:38 am
Message(s) : 3143
Localisation : 34410 Sérignan - Languedoc
Bonjour,
pour envoyer des données de ta station vers une table, il faut que le logiciel qui pilote ta station soit prévu pour le faire. La question qui se pose est donc : quel est-il ? Je ne savais pas qu'il en existait dans le commerce.
Jean


Haut
 Profil  
Répondre en citant  
MessagePublié: Mer Avr 07, 2010 5:13 pm 
Hors-ligne
Nouveau membre

Inscription : Mar Avr 06, 2010 10:17 pm
Message(s) : 2
Le logiciel qui utilise les données de la station est heavyweather. Mais il n'est pas prévu pour envoyer les données dans une table enfin je pense.
Il enregistre en auto dans le fichier history.dat et curdast.lst pour le temps réel.
Mais c'est tout.
Donc c'est pas possible...?


Haut
 Profil  
Répondre en citant  
MessagePublié: Mer Avr 07, 2010 5:54 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Août 22, 2006 8:38 am
Message(s) : 3143
Localisation : 34410 Sérignan - Languedoc
Bonjour,
pas possible uniquement avec ça.
Jean


Haut
 Profil  
Répondre en citant  
MessagePublié: Ven Août 06, 2010 12:59 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
Heeu, les programmes qu'il y a ici http://www.aguilmard.com/index.php?page=graphweatherphp permettent de récupérer les données du history.dat et de les injecter dans une table. Il y a la version WS2300 et la WS3600. J'ai récupéré les données de ma WS3650 avec ces fichiers. C'est long mais ça marche. Seul problème que j'ai, c'est que les données stockées dans la database ont 2 heures de trop (par exp 22h00 au lieu de 20h00 pour l'heure du relevé) alors que dans le history c'est OK. Si Titoine passe par là, me semble que c'est au niveau de la conversion avec Delphi que ça coince. D'ailleurs si quelqu'un pouvait me tuyauter sur cette heure Delphi je suis preneur. Quelle différence avec le timestamp Unix?
Merci, Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
MessagePublié: Ven Août 06, 2010 2:13 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Août 22, 2006 8:38 am
Message(s) : 3143
Localisation : 34410 Sérignan - Languedoc
pat46fr a écrit:
D'ailleurs si quelqu'un pouvait me tuyauter sur cette heure Delphi je suis preneur. Quelle différence avec le timestamp Unix?
Merci, Pat

Le timestamp Unix démarre le 1/1/1970.
Ds history.dat les dates sont référencées par rapport au 1/1/1900.
Le paramètre delphi1970 représente le nombre de jours entre le 1/1/1970 et le 1/1/1900.

pat46fr a écrit:
Seul problème que j'ai, c'est que les données stockées dans la database ont 2 heures de trop (par exp 22h00 au lieu de 20h00 pour l'heure du relevé) alors que dans le history c'est OK.


Les données sont correctes ds history, cela ne signifie pas que les fichiers WS3600 et WS3650 sont créés exactement de la même façon !!!!!!
Cela semble indiquer que le décalage horaire est inclus, ce qui n'est pas le cas avec la WS3600 (fichier en UTC). Tu as tjs la possibilité de modifier les heures en ôtant 7200 s ou 3600 en fonction de l'heure d'été ou d'hiver. Il existe des fonctions PHP qui peuvent aider à traiter ce pb.

Jean


Haut
 Profil  
Répondre en citant  
MessagePublié: Ven Août 06, 2010 6:29 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
Citer:
Le timestamp Unix démarre le 1/1/1970.
Ds history.dat les dates sont référencées par rapport au 1/1/1900.

Merci, c'est tout ce que je voulais savoir. :D
Citer:
Le timestamp Unix démarre le 1/1/1970.
Ds history.dat les dates sont référencées par rapport au 1/1/1900.

Tout à fait d'accord. Si je comprends tout bien, l'history.dat enregistrerai en tenant compte de heure été/ heure hiver. Je vais essayer de trouver le truc pour remettre ça aux bonnes valeurs. Apparemment en utilisant le paramètre i de la fonction date on récupère si c'est été ou hiver. Après comme tu dis suffit d'enlever 3600 ou 7200 suivant le cas.
J'y retourne.
Merci encore, Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
MessagePublié: Sam Août 07, 2010 6:21 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
bon apparemment j'ai trouvé le petit truc pour remettre mes heures à l'heure. Si ça intéresse du monde je mettrais le bout de code (qui est de ma fabrication, ya mieux ans doute mais ça a l'air de marcher, c'est l'essentiel).
Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
MessagePublié: Dim Août 08, 2010 12:51 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Août 22, 2006 8:38 am
Message(s) : 3143
Localisation : 34410 Sérignan - Languedoc
pat46fr a écrit:
bon apparemment j'ai trouvé le petit truc pour remettre mes heures à l'heure. Si ça intéresse du monde je mettrais le bout de code (qui est de ma fabrication, ya mieux ans doute mais ça a l'air de marcher, c'est l'essentiel).
Pat


Bonjour Pat,
si tu peux mettre ta correction et les lignes concernées, ça m'intéresse.

Il y a cependant dans tout ceci un point qui me chagrine :
La ws2300 utilise un "timestamp" type delphi qui n'intègre pas de décalage horaire, on est donc en mode UTC et les TS Unix résultants sont "purs" (démarrage 01/01/1970 00:00:00 UTC).
La ws2350 SI son timestamp reflète bien le décalage horaire fera perdre 1 heure de données au passage à l'heure d'hiver (le passage de 3:00 à 2:00). il ne devrait pas y avoir de pb pour la passage à l'heure d'été.

Ceci ne pourra sans doute être vu qu'aux changements d'horaire ! A mon avis, ce sera un point à vérifier.

J'ai un pb en VB.net qui charge une DB à partir des fichiers de la WS2300 (entre autres), et j'ai fait les modifs pour traiter aussi la WS2350, c'est ce qui m'a incité soulever ce point de détail.

Jean


Haut
 Profil  
Répondre en citant  
MessagePublié: Dim Août 08, 2010 1:43 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
ok, je mets mais AVERTISSEMENT: c'est un truc de ma composition, actuellement ça récupère le décalage des deux heures d'été et comme tu dis faudrat voir le comportement au passage à l'heure d'hiver. Je sais pas du tout si ça marchera, si c'est pas bon, je m'y replongerai à ce moment là. Ya sans doute mieux comme solution mais j'avoue que j'ai du mal avec ces dates (6 mois que je me suis mis au PHP et SQL). Donc si quelqu'un a mieux, je suis pas jaloux, lol.
A toutes les lignes qui font appel à une date du style:
Citer:
$LAST_HISTORYDAT_RECORD=(($date[1] -$DELPHI1970)*86400); //delphi/unix conversion

j'ai rajouté ça:
Citer:
$saison = date('I',$LAST_HISTORYDAT_RECORD); //on recupere la valeur qui indique ete ou hiver
if ($saison ==1)
{
$LAST_HISTORYDAT_RECORD = $LAST_HISTORYDAT_RECORD -7200; // cas ete
}
else
{
$LAST_HISTORYDAT_RECORD = $LAST_HISTORYDAT_RECORD -3600; // cas hiver
}

Voilà, c'est tout. Si vous avez des observations, je suis preneur.
Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
MessagePublié: Dim Août 08, 2010 1:45 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
pat46fr a écrit:
ok, je mets mais AVERTISSEMENT: c'est un truc de ma composition, actuellement ça récupère le décalage des deux heures d'été et comme tu dis faudrat voir le comportement au passage à l'heure d'hiver. Je sais pas du tout si ça marchera, si c'est pas bon, je m'y replongerai à ce moment là. Ya sans doute mieux comme solution mais j'avoue que j'ai du mal avec ces dates (6 mois que je me suis mis au PHP et SQL). Donc si quelqu'un a mieux, je suis pas jaloux, lol.
A toutes les lignes qui font appel à une date du style:
Citer:
$LAST_HISTORYDAT_RECORD=(($date[1] -$DELPHI1970)*86400); //delphi/unix conversion

j'ai rajouté ça:
Citer:
$saison = date('I',$LAST_HISTORYDAT_RECORD); //on recupere la valeur qui indique ete ou hiver
if ($saison ==1)
{
$LAST_HISTORYDAT_RECORD = $LAST_HISTORYDAT_RECORD -7200; // cas ete
}
else
{
$LAST_HISTORYDAT_RECORD = $LAST_HISTORYDAT_RECORD -3600; // cas hiver
}

Voilà, c'est tout. Si vous avez des observations, je suis preneur.
Je précise que je travaille sur une WS3650, les formats de fichiers history sont pas les mêmes mais pour un calcul de ce style pas grave. Si ya besoin, ça marchera quand même je pense puisque c'est le PHP qui modifie la valeur de départ.
Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
MessagePublié: Dim Août 08, 2010 9:04 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Août 22, 2006 8:38 am
Message(s) : 3143
Localisation : 34410 Sérignan - Languedoc
Bonsoir,
on devrait pouvoir simplifier un peu le code ci-dessus comme suit :
$saison = date('I',$LAST_HISTORYDAT_RECORD); //on recupere la valeur qui indique ete ou hiver
$LAST_HISTORYDAT_RECORD -= (3600 +($saison*3600)); // cas ete/hiver
A vérifier qd même !

Jean


Haut
 Profil  
Répondre en citant  
MessagePublié: Dim Août 08, 2010 10:21 pm 
Hors-ligne
Membre
Avatar de l’utilisateur

Inscription : Mar Juil 20, 2010 6:23 pm
Message(s) : 173
Localisation : Vers-sur-lot (46)
La modif est faite, c'est OK pour l'heure d'été, reste à attendre le passage à l'heure d'hiver et à croiser les doigts, lol.
Pat

_________________
Station: WS3650, HeavyWeather3600 1.1, GraphWeather 2.O.312b (essai v3 mais soucis), XP SP2, données stockées automatiquement en BDD MySQL en local et sur le site avec scripts PHP fabrication maison.
Image


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 13 message(s) ] 

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
POWERED_BY
Traduction et support en françaisHébergement de site