Autor Tema: Como importar datos desde cumulusMX  (Leído 2663 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Como importar datos desde cumulusMX
« 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





“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.649
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Como importar datos desde cumulusMX
« Respuesta #1 en: 08 de Enero del 2023, 18:29:32 pm »
Desde Cumulus?

Yo recuerdo la utilidad para WeatherLink, pero no la de Cumulus

Lo miro

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.649
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Como importar datos desde cumulusMX
« Respuesta #2 en: 08 de Enero del 2023, 18:31:54 pm »
Ah, pues sí.

wee_import también importa datos desde Cumulus

https://weewx.com/docs/utilities.htm#wee_import_utility

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #3 en: 08 de Enero del 2023, 20:46:13 pm »
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




“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #4 en: 09 de Enero del 2023, 14:09:15 pm »
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




“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #5 en: 23 de Enero del 2023, 09:36:27 am »
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:

Código: [Seleccionar]
/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*:

Código: [Seleccionar]
[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


« Última modificación: 23 de Enero del 2023, 10:10:27 am por kocher »



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Como importar datos desde cumulusMX
« Respuesta #6 en: 23 de Enero del 2023, 12:00:09 pm »
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



Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #7 en: 23 de Enero del 2023, 14:23:32 pm »
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:








« Última modificación: 23 de Enero del 2023, 14:56:12 pm por kocher »



“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Como importar datos desde cumulusMX
« Respuesta #8 en: 23 de Enero del 2023, 16:27:21 pm »
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:

Citar
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: [Seleccionar]
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:

Código: [Seleccionar]
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  :)




Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #9 en: 23 de Enero del 2023, 19:03:38 pm »
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"





“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Como importar datos desde cumulusMX
« Respuesta #10 en: 23 de Enero del 2023, 20:23:10 pm »
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  *-* *-*


Archena, Valle de Ricote (Murcia). 120 msnm. 19.622 hab.
Davis Vantage Pro2 Plus

www.meteoarchena.es

Desconectado kocher

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 976
    • Ver Perfil
    • Meteo San Sebastian - Arriola
  • Estación: San Sebastian, Arriola ESEUS2000000020018A
Re:Como importar datos desde cumulusMX
« Respuesta #11 en: 23 de Enero del 2023, 23:53:22 pm »
réHa funcionado perfectamente

Queda comprobado que la importación de datos, no ha funcionado

Seguiré intentándolo





“La mente es como un paracaídas… Solo funciona si la tenemos abierta”.

“La formulación de un problema, es más importante que su solución”.

“Si buscas resultados diferentes, no hagas siempre lo mismo" . -Albert Einstein-