AU SECOURS - TRES URGENT
AU SECOURS - TRES URGENT
Salut à tous,
J'en appelle à tous les utilisateur de VP2 Pro, et même à Antoine qui pourra peut être m'aider.
Suite à un plantage de mon PC, ce 1° Décembre, WeatherLink ET GraphWeather ne lisent plus les données dans mon fichier de Novembre 2010 (2010-11.wlk).
Pourtant ce fichier existe bien et a la taille normale.
Je pense qu'il y a eu un bug d'enregistrement.
Quelqu'un peut il m'aider pour rendre mes données accessibles, car du coup toutes les stats du mois de Novembre risquent de se perdre.
Ce qui m'inquiète plus c'est que je ne sais pas comment éviter que ça se reproduise.
J'en appelle à tous les utilisateur de VP2 Pro, et même à Antoine qui pourra peut être m'aider.
Suite à un plantage de mon PC, ce 1° Décembre, WeatherLink ET GraphWeather ne lisent plus les données dans mon fichier de Novembre 2010 (2010-11.wlk).
Pourtant ce fichier existe bien et a la taille normale.
Je pense qu'il y a eu un bug d'enregistrement.
Quelqu'un peut il m'aider pour rendre mes données accessibles, car du coup toutes les stats du mois de Novembre risquent de se perdre.
Ce qui m'inquiète plus c'est que je ne sais pas comment éviter que ça se reproduise.
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- TiToine
- Site Admin
- Messages : 3356
- Inscription : lun. mars 20, 2006 11:16 am
- Localisation : Montréal
- Contact :
Re: AU SECOURS - TRES URGENT
Poste le fichier sur le forum, j'essaierai de regarder ca.
Il est probablement corrompu...et probablement perdu...
Il est probablement corrompu...et probablement perdu...
Re: AU SECOURS - TRES URGENT
Merci beaucoup Antoine.
Aller j'y crois encore...
Je t'envoie le fichier par mail car il est trop gros pour le forum.
Aller j'y crois encore...
Je t'envoie le fichier par mail car il est trop gros pour le forum.
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- TiToine
- Site Admin
- Messages : 3356
- Inscription : lun. mars 20, 2006 11:16 am
- Localisation : Montréal
- Contact :
Re: AU SECOURS - TRES URGENT
Tous les headers (il y en a un par jour) du fichiers sont corrompus sauf le premier. Par contres les données semblent encore là...
Il faut écrire un programme pour récupérer ce qu'on peut...c'est au moins 2-3 h de boulot.
Bref moi j'ai pas le temps pour le moment...peut être dans quelques semaines.
Il faut écrire un programme pour récupérer ce qu'on peut...c'est au moins 2-3 h de boulot.
Bref moi j'ai pas le temps pour le moment...peut être dans quelques semaines.
Re: AU SECOURS - TRES URGENT
Ben déjà merci beaucoup Antoine pour le temps passé.
Du coup je me dis qu'il a une piste pour récupérer quelque chose.
Je n'ai aucune idée de la structure des fichiers wlk, si tu as un petit doc qui décrit ça, je pourrai déjà jeter un oeil avec mes notions (bien modeste certes), mais je peux toujours essayer.
Si je ne m'en sors pas, ben je serai heureux de ton aide quand tu auras du temps.
Merci beaucoup encore
Du coup je me dis qu'il a une piste pour récupérer quelque chose.
Je n'ai aucune idée de la structure des fichiers wlk, si tu as un petit doc qui décrit ça, je pourrai déjà jeter un oeil avec mes notions (bien modeste certes), mais je peux toujours essayer.
Si je ne m'en sors pas, ben je serai heureux de ton aide quand tu auras du temps.
Merci beaucoup encore
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- TiToine
- Site Admin
- Messages : 3356
- Inscription : lun. mars 20, 2006 11:16 am
- Localisation : Montréal
- Contact :
Re: AU SECOURS - TRES URGENT
La structure est décrite plus bas. En gros tu as ca dans le fichier:
Un enregistrement correspond à 3 blocs de données DAILYSUMMARY1, DAILYSUMMARY2, DATARECORD.
Le pointer (startPos) correspond à un nombre d'enregistrement après le header. Ex: startPos = 1532 donne le premier enregistrement du jour à ((taille header) + 1532 X (taille des 3 blocs)) octets depuis le début du fichier.
Dans ton fichier, pour le premier jour, le startPos est correct. En revanche pour les jours suivant le startPos est toujours nul.
L'idée est de scanner le fichier pour détecter les transitions DATARECORD.packedTime = 0. Ça va t'indiquer (à mon sens) que le DATARECORD que tu es en train de lire est le premier enregistrement du jour. Tu peux ainsi recalculer facilement l'index corrompu startPos (et recordsInDay) et le mettre à jour.
Antoine.
Dans le header tu trouves pour chaque jours (table DAYINDEX) le pointeur qui te positionne sur le premier enregistrement du jour (startPos) et le nombre d'enregistrement pour ce jour (recordsInDay).HEADER
DAILYSUMMARY1
DAILYSUMMARY2
DATARECORD
DAILYSUMMARY1
DAILYSUMMARY2
DATARECORD
....
DAILYSUMMARY1
DAILYSUMMARY2
DATARECORD
Un enregistrement correspond à 3 blocs de données DAILYSUMMARY1, DAILYSUMMARY2, DATARECORD.
Le pointer (startPos) correspond à un nombre d'enregistrement après le header. Ex: startPos = 1532 donne le premier enregistrement du jour à ((taille header) + 1532 X (taille des 3 blocs)) octets depuis le début du fichier.
Dans ton fichier, pour le premier jour, le startPos est correct. En revanche pour les jours suivant le startPos est toujours nul.
L'idée est de scanner le fichier pour détecter les transitions DATARECORD.packedTime = 0. Ça va t'indiquer (à mon sens) que le DATARECORD que tu es en train de lire est le premier enregistrement du jour. Tu peux ainsi recalculer facilement l'index corrompu startPos (et recordsInDay) et le mettre à jour.
Antoine.
Code : Tout sélectionner
typedef struct _DAYINDEX
{
short recordsInDay; // includes any daily summary records
USHORT startPos; // The index (starting at 0) of the first daily summary record
short reserved; // index is short or long ?? don't know...
}
DAYINDEX;
// Header for each monthly file.
typedef struct _HEADERBLOCK
{
char idCode [16]; // = {'W', 'D', 'A', 'T', '5', '.', '0', 0, 0, 0, 0, 0, 0, 0, 5, 0}
long totalRecords;
DAYINDEX dayIndex[32]; // index records for each day. Index 0 is not used
// (i.e. the 1'st is at index 1, not index 0)
}
HEADERBLOCK;
// Daily Summary Record 1
typedef struct _DAILYSUMMARY1
{
BYTE dataType ; //=2
BYTE reserved; // this will cause the rest of the fields to start on an even address
short dataSpan; // total # of minutes accounted for by physical records for this day
short hiOutTemp, lowOutTemp; // tenths of a degree F
short hiInTemp, lowInTemp; // tenths of a degree F
short avgOutTemp, avgInTemp; // tenths of a degree F (integrated over the day)
short hiChill, lowChill; // tenths of a degree F
short hiDew, lowDew; // tenths of a degree F
short avgChill, avgDew; // tenths of a degree F
short hiOutHum, lowOutHum; // tenths of a percent
short hiInHum, lowInHum; // tenths of a percent
short avgOutHum; // tenths of a percent
short hiBar, lowBar; // thousanths of an inch Hg
short avgBar; // thousanths of an inch Hg
short hiSpeed, avgSpeed; // tenths of an MPH
short dailyWindRunTotal; // 1/10'th of an mile
short hi10MinSpeed; // the highest average wind speed record
BYTE dirHiSpeed, hi10MinDir; // direction code (0-15, 255)
short dailyRainTotal; // 1/1000'th of an inch
short hiRainRate; // 1/100'th inch/hr ???
short dailyUVDose; // 1/10'th of a standard MED
BYTE hiUV; // tenth of a UV Index
BYTE timeValues[27]; // space for 18 time values (see below)
}
DAILYSUMMARY1;
// Daily Summary Record 1
typedef struct _DAILYSUMMARY2
{
BYTE dataType; // = 3;
BYTE reserved; // this will cause the rest of the fields to start on an even address
// this field is not used now.
unsigned short todaysWeather; // bitmapped weather conditions (Fog, T-Storm, hurricane, etc)
short numWindPackets; // # of valid packets containing wind data,this is used to indicate reception quality
short hiSolar; // Watts per meter squared
short dailySolarEnergy; // 1/10'th Ly
short minSunlight; // number of accumulated minutes where the avg solar rad > 150
short dailyETTotal; // 1/1000'th of an inch
short hiHeat, lowHeat; // tenths of a degree F
short avgHeat; // tenths of a degree F
short hiTHSW, lowTHSW; // tenths of a degree F
short hiTHW, lowTHW; // tenths of a degree F
short integratedHeatDD65; // integrated Heating Degree Days (65F threshold), tenths of a degree F - Day
// Wet bulb values are not calculated
short hiWetBulb, lowWetBulb; // tenths of a degree F
short avgWetBulb; // tenths of a degree F
BYTE dirBins[24]; // space for 16 direction bins (Used to calculate monthly dominent Dir)
BYTE timeValues[15]; // space for 10 time values (see below)
short integratedCoolDD65; // integrated Cooling Degree Days (65F threshold), tenths of a degree F - Day
BYTE reserved2[9];
}
DAILYSUMMARY2;
// standard archive record
typedef struct _DATARECORD
{
BYTE dataType ; //=1
BYTE archiveInterval; // number of minutes in the archive
BYTE iconFlags; // Icon associated with this record, plus Edit flags
BYTE moreFlags; // Tx Id, etc.
short packedTime; // minutes past midnight of the end of the archive period
short outsideTemp; // tenths of a degree F
short hiOutsideTemp; // tenths of a degree F
short lowOutsideTemp; // tenths of a degree F
short insideTemp; // tenths of a degree F
short barometer; // thousanths of an inch Hg
short outsideHum; // tenths of a percent
short insideHum; // tenths of a percent
unsigned short rain; // number of clicks + rain collector type code
short hiRainRate; // clicks per hour
short windSpeed; // tenths of an MPH
short hiWindSpeed; // tenths of an MPH
BYTE windDirection; // direction code (0-15, 255)
BYTE hiWindDirection; // direction code (0-15, 255)
short numWindSamples; // number of valid ISS packets containing wind data
// this is a good indication of reception
short solarRad, hisolarRad; // Watts per meter squared
BYTE UV, hiUV; // tenth of a UV Index
BYTE leafTemp[4]; // (whole degrees F) + 90
short newSensors[7]; // reserved for future use
BYTE forecast; // forecast code during the archive interval
BYTE ET; // in thousanths of an inch
BYTE soilTemp[6]; // (whole degrees F) + 90
BYTE soilMoisture[6]; // centibars of dryness
BYTE leafWetness[4]; // Leaf Wetness code (0-15, 255)
BYTE extraTemp[7]; // (whole degrees F) + 90
BYTE extraHum[7]; // whole percent
}
DATARECORD;
Re: AU SECOURS - TRES URGENT
Bonjour Antoine,
Merci pour tous ces détails,
Je comprends la structure et l'organisation de tout ça.
J'espèrais naïvement que tous les HEADER pour tous les mois de Novembre de la création étaient identiques et que ça me simplifierai la vie... Bon visiblement ce n'est pas le cas...
Je vais donc me creuser un peu plus les méninges
Merci pour tous ces détails,
Je comprends la structure et l'organisation de tout ça.
J'espèrais naïvement que tous les HEADER pour tous les mois de Novembre de la création étaient identiques et que ça me simplifierai la vie... Bon visiblement ce n'est pas le cas...
Je vais donc me creuser un peu plus les méninges

Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
Re: AU SECOURS - TRES URGENT
Suite des évènements...
Après de longues heures de creusage de neurones (merci la gastro pour m'avoir bloqué à la maison
), j'ai réussi à restaurer mon fichier wlk de Novembre.
En fait, tous les mois de 30 jours complets ont bien tous le même HEADER. Donc après mettre remis à l'hexadécimal avec un petit éditeur de base et beaucoup de concentration, ça a marché !
Logique me direz-vous... C'est ce que je me disais aussi... Même nombre de jour + même fréquence d'enregistrement = même longueur de bloc... Mais après le premier essai, ça ne marchait pas... à cause d'une toute petite erreur de copie de ma part
Bon maintenant ça marche... Enfin presque... Eh oui, il a toujours un hic...
1. WeatherLink lit bien le fichier et toutes les données, et j'ai pu recréer les fichiers NOAA qui avaient été complétés sans le mois de Novembre (oui je sais c'est pas bien j'utilise ceux de WL et pas ceux de GW
)
2. Mais GraphWeather ne veut pas lire le fichier réparé
Et là, je séche... je vois pas pourquoi...
En tout cas, merci Antoine pour ton aide et Jean pour ton message (mais mes notions en VB sont trop vieilles pour que cela m'ait vraiment aider
). Me voilà déjà soulagé d'un gros poids.
Antoine si tu as une piste pour GW, je reste preneur. Les stats n'étaient pas perdues donc même si GW ne lit pas le fichier dans l'immédiat ce n'est pas un problème.
Après de longues heures de creusage de neurones (merci la gastro pour m'avoir bloqué à la maison




En fait, tous les mois de 30 jours complets ont bien tous le même HEADER. Donc après mettre remis à l'hexadécimal avec un petit éditeur de base et beaucoup de concentration, ça a marché !
Logique me direz-vous... C'est ce que je me disais aussi... Même nombre de jour + même fréquence d'enregistrement = même longueur de bloc... Mais après le premier essai, ça ne marchait pas... à cause d'une toute petite erreur de copie de ma part

Bon maintenant ça marche... Enfin presque... Eh oui, il a toujours un hic...
1. WeatherLink lit bien le fichier et toutes les données, et j'ai pu recréer les fichiers NOAA qui avaient été complétés sans le mois de Novembre (oui je sais c'est pas bien j'utilise ceux de WL et pas ceux de GW

2. Mais GraphWeather ne veut pas lire le fichier réparé

En tout cas, merci Antoine pour ton aide et Jean pour ton message (mais mes notions en VB sont trop vieilles pour que cela m'ait vraiment aider

Antoine si tu as une piste pour GW, je reste preneur. Les stats n'étaient pas perdues donc même si GW ne lit pas le fichier dans l'immédiat ce n'est pas un problème.
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- TiToine
- Site Admin
- Messages : 3356
- Inscription : lun. mars 20, 2006 11:16 am
- Localisation : Montréal
- Contact :
Re: AU SECOURS - TRES URGENT
Je pense que le fichier est toujours corrompu. Envoie le moi et je vais voir ce qui cloche.
Re: AU SECOURS - TRES URGENT
OK je te mail le fichier "semi-réparé" lu par WL et pas par GW
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- TiToine
- Site Admin
- Messages : 3356
- Inscription : lun. mars 20, 2006 11:16 am
- Localisation : Montréal
- Contact :
Re: AU SECOURS - TRES URGENT
Le fichier fonctionne chez moi. Il faut qu'il soit nommé 2010-11.wlk.
Re: AU SECOURS - TRES URGENT
Oui c'est bien ce que j'ai fait.
Bon je vais fouiller un peu. Peut être faut il que je régérène la base de données ?
Ce serait étonnant, mais qu'en penses tu ?
Bon je vais fouiller un peu. Peut être faut il que je régérène la base de données ?
Ce serait étonnant, mais qu'en penses tu ?
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---
- MAGNUS
- Membre
- Messages : 992
- Inscription : dim. mars 26, 2006 4:44 pm
- Localisation : VIDAUBAN (83) FRANCE
- Contact :
Re: AU SECOURS - TRES URGENT
Bonjour,Pidou a écrit :Oui c'est bien ce que j'ai fait.
Bon je vais fouiller un peu. Peut être faut il que je régérène la base de données ?
Ce serait étonnant, mais qu'en penses tu ?
Quant on modifie un fichier d'une station, il faut systématiquement régénérer la base de données de Graphweather.
Cordialement.
Station WMR 200 avec XNet_meteo V 2014-10-29a Logiciels:Graphweather V 3.0.16, Noaa Template2, Windows 7
Mon abri météo ici :http://www.vardecouverte.fr/sta%20bc2008.htm
Site Web : http://www.vardecouverte.fr

Mon abri météo ici :http://www.vardecouverte.fr/sta%20bc2008.htm
Site Web : http://www.vardecouverte.fr

Re: AU SECOURS - TRES URGENT
Bonjour,
Rien à faire, GW ne lis pas le fichier corrigé. Lorsque je fais défiler la date dans un onglet de GW le mois de Novembre reste vierge.
Ce n'est pas très grave en soit (vu que WL le lis très bien), mais du coup j'ai peur de régénérer la base de données Statistiques, de peur que ça crée une perte de données ou un plantage de GW.
Antoine, qu'en penses tu ?
Rien à faire, GW ne lis pas le fichier corrigé. Lorsque je fais défiler la date dans un onglet de GW le mois de Novembre reste vierge.
Ce n'est pas très grave en soit (vu que WL le lis très bien), mais du coup j'ai peur de régénérer la base de données Statistiques, de peur que ça crée une perte de données ou un plantage de GW.
Antoine, qu'en penses tu ?
Ma station => http://www.meteo-boisney.fr

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---

--- Station Vantage Pro 2 - Plugin VantagePro.dll ---
--- GraphWeather Version 2.0.312b ---