Meteoclimatic
Software => WeeWX => Mensaje iniciado por: kocher en 08 de Enero del 2023, 13:42:28 pm
-
Saludos a todos
Hace años instalé weewx en un "mini Pc" y, por ahora está funcionando de maravilla.
La distribución instalada de Linux, es Linux Debian 4.19.0-8-amd64
Pues bien, dado que hice esta instalación hace años (y no tuve la precaución de hacerme una "chuleta"), no recuerdo los comandos necesarios para iniciar la importación de 1 año que me falta (2013) para tener todo completo. Por supuesto, dispongo que de todos los archivos *log.txt de ese año.
Lo que sí se, es que el archivo de importación para Cumulus, ya lo configuré en su tiempo.
He recorrido todos los foros que conozco pero, al parecer., mi duda es tan básica, que no logro encontrar una solución sencilla.
Quedaría muy agradecido a un alma caritativa que se apiade de este Linuxero je je
My agradecido por vuestra atención
Saludos desde San Sebastián
-
Desde Cumulus?
Yo recuerdo la utilidad para WeatherLink, pero no la de Cumulus
Lo miro
-
Ah, pues sí.
wee_import también importa datos desde Cumulus
https://weewx.com/docs/utilities.htm#wee_import_utility
-
Saludos Jantoni
Gracias por tu amable respuesta
El caso es que, lo que yo necesitaría es un ejemplo de comando para ejecutar; literalmente necesito eso
Seguiré husmeando por la red
Muchísimas gracias y un fuerte abrazo
-
Bueno, parece que el asunto está ya solucionado.
Mi primer error era utilizar weewx_import, cuando lo correcto es wee_import
El comando entero y que funciona a la perfección es:
wee_import --import.config=/etc/weewx/import/cumulus.conf
(previamente habremos editado el archivo "cumulus.con" indicando el signo decimal y el separador de fechas)
Espero que pueda servir a alguien; yo ya me he hecho mi "chuleta" jjj
Saludos a todos
-
Continúo con el mismo tema.
Resulta que el "mini Pc" que se encargaba de weewx con el "skin" Belchertown, ha pasado a mejor vida tras muchos años trabajando sin hacer ruido ni quejarse. He perdido todos los datos, debido a que el disco duro tan solo tenía carpetas vacías.
Pues bien, ahora (con un Pc covencional) me han instalado Ubuntu y tengo pensado repetir la aventura de instalar weewx y la famosa plantilla de Bechertown.
Salvo pequeñas vicisitudes, he instalado weewx y, ahora estoy con la aventura de instalar Belchertown (por ahora sin mosquitto).
Dado que había perdido todos los datos históricos, me he puesto manos a la obra para importarlos gracias a los archivos *.log de cumulusMX.
Lo primero que he hecho, ha sido editar el archivo "etc/weewx/import/cumulus-example.conf" guardarlo como cumulus.conf.
En dicho archivo se establecen los siguientes parámetros:
- Dirección local de los archivos *.log a importar
Mis archivos de Cumulus tienen un fprmato de fecha como este:01/04/12;00:15;12,0;86;.......
- Caracteres utilizados en dichos *.log para el separador de fecha (/), separador de campos ( ; ) y signo decimal (,)
Una vez que tenemos esta configuración "niquelada", procedemos a la acción de importar valores históricos (en mi caso, del año 2022).
el comando par ejecutar en la consola es el siduiente:
wee_import --import-config=/etc/weewx/import/cumulus.conf --verbose --dry-run
Comienza el proceso de importación pero, se interrumpe con la siguiente advertencia:
/usr/share/weewx/wee_import:719: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.version import StrictVersion
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
**** time data 'abr' does not match format '%b'
**** Nothing done, exiting.
Sospecho que el problema viene de no haber configurado correctamente el formato de fecha para el campo *dateTime*:
[Cumulus]
# Parameters used when importing Cumulus monthly log files
#
# Directory containing Cumulus monthly log files to be imported. Format is:
# directory = full path without trailing /
directory = /home/javier/Descargas
# When importing Cumulus monthly log file data the following WeeWX database
# fields will be populated directly by the imported data:
dateTime = date_and_time, unix_epoch
barometer = barometer, hPa
dewpoint = dew, degree_C
heatindex =
inHumidity = humidity, percent
inTemp = Temp, degree_C
outHumidity = humidity, percent
outTemp = Temp, degree_C
radiation = # (if Cumulus data available)
rain = dayrain, mm # (requires Cumulus 1.9.4 or later)
rainRate =
UV = uv, uv_index # (if Cumulus data available)
windDir = wind, degree_compass
windGust = gust, km_per_hour
windSpeed = windspeed, km_per_hour
windchill =
Por más que he investigado sobre este asunto, no he logrado encontrar la solución.
Espero que alguien más despierto que yo, me pueda conducir por el buen camino jeje
Muchas gracias por vuestra atención
-
Hola kocher
Tienes Ubuntu en español ??
Ejecuta locale en el terminal y mira a ver si está en LANG=es_ES.UTF-8
%b espera el nombre abreviado del mes (tres primeras letras) del nombre del log y encuentra abr (de abril) que sería correcto si está el locale en español pero en inglés es apr de april así que puede que sea eso.
Si es así tocará ponerlo a español
-
Bienvenido jmviper
Efectivamente me instalaron Ubuntu en Español; se me olvidó ese detalle jjj; ya me voy a enterar sis es posible cambiarlo al Inglés.
Voy a hacer lo que dices y ya te contaré
Al ejecutar locale, sale: http://LANG=es.UTF8
Acabo de instalar nuevos idiomas y ya me sale todo en inglés.
Esta tarde intentaré ls importación de nuevo; te tendré al corriente.
Muchísimas gracias por todo :aplaude1:
-
Bueno... esto no es tan simple pero bueno... todo se trata y queda ahí en la web :)
Este tema lo tratamos hace algún año con weewx en Windows:
https://forum.meteoclimatic.net/index.php?topic=2407.msg19490#msg19490
El problema es que Python por defecto mira los nombres de los meses del log no en el locale del sistema (es_ES.UTF-8) sino en inglés por lo que hay dos opciones:
o renombrar los meses de los logs a sus equivalentes en inglés o... tocar archivos de Python.
En ese hilo puse:
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:
import locale
locale.setlocale(category=locale.LC_ALL, locale="Spanish")
Como estábamos en Windows ese locale funcionaría pero al estar en Linux habrá que modificarlo:
import locale
locale.setlocale(category=locale.LC_ALL, locale="es_ES.UTF-8")
en /usr/share/weewx/cumulusimport.py que es donde está en Linux.
Edítalo como sudo ya que es propiedad de root.
En el terminal sudo gedit /usr/share/weewx/cumulusimport.py debería abrirte ese archivo con gedit que es el editor por defecto de Ubuntu con permisos de root para editarlo cómodamente y poner esas dos líneas a partir de la línea 30.
Eso soluciona el tema de los nombres ya que establece el locale para ese script en español pero luego me encontré este otro problema:
AttributeError: 'CumulusSource' object has no attribute 'decimal'
Si te sale a ti también la solución es localizar la línea 112 aprox en ese archivo en la que pone:
self.delimiter = str(cumulus_config_dict.get('delimiter', ','))
y poner una nueva a continuación con lo siguiente:
self.decimal = str(cumulus_config_dict.get('decimal', '.'))
Ignoro el porqué no está puesta esa línea, ya que ni está en su código fuente en GitHub:
https://github.com/weewx/weewx/blob/master/bin/weeimport/cumulusimport.py
Algún olvido que tendrá que ser arreglado.
Con eso ya me quiso leer los logs.
Con la opción --dry-run solo se visualizan pero no los guarda en la BBDD de weewx así que primero se ejecutan con esa opción y si sale bien la simulación se ejecuta ya sin ella para que los guarde realmente.
Menos mal que en el foro hay información pasada y nos ayuda a solucionar problemas presentes *+* *+*
Mira a ver si con esas modificaciones te deja importar los archivos de MX :)
-
Bueno, parece que ha funcionado
Me he decantado por cambiar los nombres de los meses con sus abreviaturas en inglés
Además he realizado la modificación que sugieres en el archivo "cumulusimport.py"; lo he editado con el editor "Kate"; al guardarlo me pide la contraseña y solucionado; he comprobado que se ha grabado bien.
Lo que no se, es como hojear la base de datos; creo que la tabla se llama "archive"
-
Ok, has elegido el primer método. Laborioso si se tienen muchos logs pero válido.
En cuanto a ojear la BBDD si quieres hacerlo fácilmente instala DB Browser for sqlite
Lo puedes hacer de dos maneras. Con la tienda de snaps (Ubuntu software) buscas sqlite browser y lo instalas o desde el terminal con sudo apt install sqlitebrowser
Te saldrá el programa en las aplicaciones de Ubuntu.
Con él podrás abrir la aplicación pero como la BBDD es de root si quieres editarla alguna vez la tendrás que lanzarla desde el terminal con sudo (sudo sqlitebrowser /var/lib/weewx/weewx.sdb).
Una vez abierta así ya podrás modificar lo que quieras en ella.
Para ver las fechas en cristiano en el primer campo dateTime de cualquier tabla porque están en formato Unix pones el ratón sobre la cabecera de la columna (donde pone dateTime) y clic con el botón derecho del ratón y Editar el formato de presentación y seleccionas Tiempo Unix a hora local
Así se entera uno fácilmente de qué registro se trata *-* *-*
-
réHa funcionado perfectamente
Queda comprobado que la importación de datos, no ha funcionado
Seguiré intentándolo