Software > WeeWX
Weewx en Windows
kocher:
Gracias a tí jmviper :D
El segundo hueso mas duro de roer, con el que llevo días trabajando, es el conseguir importar los datos históricos; podría hacerlo desde weatherlink, Cumulus o Weatherdisplay, pero por mas que lo intento, me he acabado estrellando :;
jmviper:
Qué error te pone ?
Probaré yo en el mío quizás esta tarde a ver si consigo hacer algo.... pero seguramente como te pasa a ti no lo tenga fácil.
kocher:
Buenas noches jmviper
en la consola de windows ejecutada como administrador, pongo lo siguiente:
--- Código: ---python wee_import --import-config=/weeimport/var/cumulus/cumulus-example.conf --dry-run
--- Fin del código ---
El archivo de cumulusMX, es del tipo:
--- Código: ---01/10/19;00:00;20,1;83;17,1;0,0;0,0;0;0,0;0,0;1013,95;926,6;27,5;55;0,0;20,1;20,1;0,0;0;0,00;362,71;22,5;0;0,0;254;0,0;0,0
01/10/19;00:05;20,1;83;17,1;0,0;0,0;0;0,0;0,0;1013,92;926,6;27,5;55;0,0;20,1;20,1;0,0;0;0,00;362,71;22,5;0;0,0;254;0,0;0,0
01/10/19;00:10;20,0;83;17,0;0,0;0,0;0;0,0;0,0;1013,88;926,6;27,4;55;0,0;20,0;20,0;0,0;0;0,00;362,71;22,4;0;0,0;254;0,0;0,0
--- Fin del código ---
Sistemáticamente me envía el mensaje:
--- Código: ---C:\Users\weewx\bin>python wee_import --import-config=/weeimport/var/cumulus/cumulus-example.conf dry-run
Traceback (most recent call last):
File "wee_import", line 834, in <module>
main()
File "wee_import", line 772, in main
options.dry_run)
File "C:\Users\weewx\bin\weeimport\weeimport.py", line 1098, in __init__
syslog.setlogmask(syslog.LOG_UPTO(syslog.LOG_CRIT))
File "C:\Users\weewx\bin\syslog.py", line 208, in setlogmask
return _syslog.setlogmask(maskpri)
File "C:\Users\weewx\bin\syslog.py", line 143, in setlogmask
raise Exception("Logger not open")
Exception: Logger not open
--- Fin del código ---
Adjunto unas imágenes para ver mejor el proceso
jmviper:
Buenas noches kocher
Por lo que veo "Logger not open" salta porque no ha abierto el log. Hazlo sin la opción --dry-run y te pedirá confirmación. Primeramente para weewx y haz copia de la BBDD a otro sitio.
Hay que tener en cuenta que esto es una "adaptación" de weewx para Windows y puede que hayan utilidades que no estén todavía depuradas. Windows y Linux no tiene las mismas rutas para los archivos ni los mismos permisos por lo que hay que modificar muchas cosas y el curro en estos scripts puede tener algún fallo.
En los comentarios de weeimport.py sale:
If --dry-run was not set then the user is requested to confirm the import before any records are saved to archive
"Si --dry-run no está establecido entonces se le pregunta al usuario que confirme la importación (de datos) antes de que cualquier record sea grabado al archivo"
En tu caso tendrías que ejecutar:
python wee_import --import-config=/weeimport/var/cumulus/cumulus-example.conf --log=-
Si no se pone la opción --log=- al final suelta otro error.
Aún así nos seguirá saliendo otro error, en mi caso:
--- Código: ---Starting wee_import...
**** time data 'abr' does not match format '%b'
**** Nothing done, exiting.
--- Fin del código ---
La razón es que nuestro Windows está en español y espera los nombres de las abreviaciones de los meses de los logs de Cumulus en inglés que viene por defecto en Python. El nombre de los logs de Cumulus debe de ser tipo abr2019log.txt y no con el punto en medio como lo ponían anteriores versiones de net framework (abr.2019log.txt)
Solución: editar el archivo cumulusimport.py en bin/weeimport/ y en la línea 30 más o menos poner estas dos líneas:
--- Código: ---import locale
locale.setlocale(category=locale.LC_ALL, locale="Spanish")
--- Fin del código ---
Con eso ya nos saldrá lo siguiente al ejecutarlo:
--- Código: ---Starting wee_import...
Cumulus monthly log files in the '/CumulusMX/data' directory will be imported
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x10' (METRIC).
Missing derived observations will be calculated.
Warning: Records to be imported contain multiple different 'interval' values.
This may mean the imported data is missing some records and it may lead
to data integrity issues. If the raw data has a known, fixed interval
value setting the relevant 'interval' setting in wee_import config to
this value may give a better result.
Are you sure you want to proceed (y/n)?
--- Fin del código ---
Si le damos que sí continuará con el proceso leyendo y procesando todos los logs de Cumulus. Cuando se ha estado haciendo en mi caso se ha detenido y salido diciendo que el 28 de octubre de 2018 retrocedía la fecha... era cuando el cambio de hora, y por lo tanto habrá que quitar de los logs del último domingo de octubre de cada año de las 2 a las 3 para que no dé fallo.
Mira a ver si llegas a este punto y si no a ver qué clase de fallo da *-* *-*
kocher:
jjjjjjjjjjjjjjjjjjj, ¡eres una máquina!
Has hecho una labor de auténtico detective apla3
Ya me has puesto en el buen camino
Te contaré el resultado final
Un fuerte abrazo
Buenas nochas
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa