Te recordamos que esta Wiki está abierta a que, todos los usuarios, puedan editar artículos

Para ello debes estar registrado como usuario de Codex-Meteoclimatic

Solo tienes que enviar un email a meteoclimatic@meteoclimatic.com
indicando el nombre de usuario que quieres usar

Este banner desaparecerá cuando te identifiques como usuario registrado

FAQ WeeWX

De Codex|Meteoclimatic
Saltar a: navegación, buscar

FAQ Weewx

Instalación y configuración

¿Puedo usar varias estaciones en WeeWX?

Si. Puedes tener varias estaciones funcionando en una única instalación de WeeWX. [1]

Tan solo tendrás que hacer lo siguiente:

  1. Editar un fichero de configuración weewx.conf para cada estación. Recuerda usar una base de datos para cada estación.
  2. Modificar el fichero de arranque/parada /etc/init.d/weewx

Por ejemplo. Si tenemos una estación Ventus W831 (TE923) y una Davis, debemos tener dos ficheros de configuración, por ejempo:

/etc/weewx/weewx-te923.conf
/etc/weewx/weewx-vpro.conf

Cada estación debe tener su propia configuración diferenciada en las secciones [Databases] y [StdReport]

El fichero de la Ventus W831 (TE923) podría quedar así:

[StdReport]
    HTML_ROOT = /var/www/te923
    ...

[Databases]
    [[archive_sqlite]]
        root = %(WEEWX_ROOT)s
        database = archive/te923-weewx.sdb
        driver = weedb.sqlite
    [[stats_sqlite]]
        root = %(WEEWX_ROOT)s
        database = archive/te923-stats.sdb
        driver = weedb.sqlite

Y el de la Davis así:

[StdReport]
    HTML_ROOT = /var/www/vpro
    ...

[Databases]
    [[archive_sqlite]]
        root = %(WEEWX_ROOT)s
        database = archive/vpro-weewx.sdb
        driver = weedb.sqlite
    [[stats_sqlite]]
        root = %(WEEWX_ROOT)s
        database = archive/vpro-stats.sdb
        driver = weedb.sqlite

Posteriormente modificar /etc/init.d/weewx para que se ejecuten dos WeeWX

WEEWX_CFG1=/home/weewx/weewx-te923.conf
WEEWX_CFG2=/home/weewx/weewx-vpro.conf
PIDFILE1=/var/run/${NAME}_te923.pid
PIDFILE2=/var/run/${NAME}_vpro.pid
DAEMON_ARGS1="--daemon --pidfile=$PIDFILE1 $WEEWX_CFG1" 
DAEMON_ARGS2="--daemon --pidfile=$PIDFILE2 $WEEWX_CFG2" 

start-stop-daemon --start --chuid $WEEWX_USER --pidfile $PIDFILE1 --exec $DAEMON -- $DAEMON_ARGS1 || return 2
start-stop-daemon --start --chuid $WEEWX_USER --pidfile $PIDFILE2 --exec $DAEMON -- $DAEMON_ARGS2 || return 2

También lo podríamos hacer en dos ficheros distintos, por ejemplo /etc/init.d/weewx1 y /etc/init.d/weewx2 (modificando las líneas del código, por supuesto). De ese modo podríamos parar y arrancar cada una de las estaciones de modo independiente.

Los ficheros se generan con periodicidad distinta a la que he indicado

Este es un problema muy habitual. Consiste en lo siguiente. En el fichero weewx.conf has indicado en la opción archive_interval un tiempo, por ejemplo 60 (5 minutos) y, sin embargo, weewx genera los archivos y actualiza las páginas web cada 30 minutos.

La explicación es muy sencilla. Weewx utiliza, siempre que puede, el periodo de generación de registros que se indica en la consola. Por lo general, salvo que lo hayas cambiado, este tiempo es mayor de esos 5 minutos (30 en las Davis y en las Fine Offset, por ejemplo)

Para solucionarlo, tan solo tienes que hacer coincidir estos tiempos tanto en la consola como en Weewx.

Para cambiar el tiempo de generación en la consola, lo puedes hacer directamente con la consola, o utilizar el programa wee_device (no funciona en todas las estaciones)

Ejemplos:

Davis Instruments:

wee_device --set-interval=300        (indicar segundos)

Fine Offset y Lacrosse WS2300

wee_device --set-interval=5          (indicar minutos)

El log de Weewx se mezcla con el del sistema operativo. ¿Puedo tener un log individual para Weewx?

Puedes....y casi debes.

Por defecto, weewx vuelca los datos en varios ficheros de log. Digamos que el que nos interesa es /var/log/syslog

Pero esto tiene un inconveniente. Los datos de Weewx se van a mezclar con otro montón de lineas de log que, para este caso, no nos interesa.

Para cambiar la configuración y que escriba en un fichero aparte (por ejemplo /var/log/weewx.log) seguiremos los siguientes pasos:

En un editor de texto, por ejemplo nano, que es uno de los programa más útiles del mundo mundial.

sudo nano /etc/rsyslog.d/99-weewx.conf

Una vez dentro del editor, insertamos estas lineas:

:programname,startswith,"weewx" /var/log/weewx.log
:programname,startswith,"weewx" ~

Para grabar los cambios y salir de nano, pulsaremos CTRL-X, nos preguntará si queremos escribir los cambios, contestamos Y y luego nos pide confirmación del nombre de archivo. Pulsamos enter para confirmar el nombre.

Este fichero de log, cada vez, irá grabando lo que ocurra en weewx.

Pero llegará un momento, que se hará enorme, ocupando un precioso espacio en nuestra tarjeta SD, si nuestra sistema está funcionando en un ordenador de bajo consumo.

Para evitar esto, nuestro Linux nos ofrece el demonio logrotate que hace que los ficheros de log, se vayan cerrando y cambiando de nombre a nuestra voluntad.

Vamos a crear el fichero /etc/logrotate.d/weewx

sudo nano /etc/logrotate.d/weewx

Una vez dentro del editor, insertamos las siguientes lineas:

/var/log/weewx.log {
  weekly
  missingok
  rotate 52
  compress
  delaycompress
  notifempty
  create 644 syslog adm
  sharedscripts
  postrotate
  reload rsyslog > /dev/null 2>&1
  endscript
}

Pulsamos CTRL-X para salir como explicamos anteriormente.

Ahora solo necesitamos reiniciar rsyslog.d

sudo service rsyslog restart

Terminado, ya tienes un log específico para Weewx en /var/log/weewx.log

Las fechas me salen en formato extranjero

Si quieres que la fecha salga en formato "europeo" (1-3-2014), haz las siguientes modificaciones:

Modificamos /etc/weewx/skins/Standard/skin.conf

sudo nano /etc/weewx/skins/Standard/skin.conf

Sustituimos:

   [[TimeFormats]]
       # This section sets the string format to be used for
       # each time scale.

       day        = %X
       week       = %X (%A)
       month      = %x %X
       year       = %x %X
       rainyear   = %x %X
       current    = %x %X
       ephem_day  = %X
       ephem_year = %x %X

Por esto otro:

   [[TimeFormats]]
       # This section sets the string format to be used for
       # each time scale.

       day        = %H:%M
       week       = %H:%M on %A
       month      = %d-%m-%Y %H:%M
       year       = %d-%m-%Y %H:%M
       rainyear   = %d-%m-%Y %H:%M
       current    = %d-%m-%Y %H:%M
       ephem_day  = %H:%M
       ephem_year = %d-%m-%Y %H:%M

Grabas los cambios con CTRL-X.

Los cambios serán automáticos en la próxima generación de ficheros.


Si quieres que la fecha salga en formato Español como 1-mar-2014

Instrucciones específicas para Raspberry PI.

Primero usamos raspiconfig para instalar el "locale" de España

sudo raspiconfig

Opcion 4 "Internationalisation Options"

Opción I1 Change Locale

En un minuto, más o menos, aparecerá la siguiente pantalla, con los "locales" que podemos instalar.

Estará seleccionado en_GB.UTF-8

Bajamos hasta encontrar es_ES.UTF-8

Seleccionamos con la tecla espacio(se marcará con un asterisco) y con el tabulador nos vamos hasta OK y pulsamos Enter

A continuación nos salen los dos "locales" que tenemos en el sistema. Nos preguntan por el que va a ser por defecto....seleccionamos es_ES.UTF-8 con el tabulador nos vamos a OK (el locale quedará en azul) y pulsamos Enter.

Paciencia, la generación de los locales no es rápida

Una vez volvamos al menu principal de Raspiconfig, pulsamos en Finish.

Para que tome los valores por defecto, lo más sencillo es reiniciar la raspi.

Y cuando arranque, modificamos /etc/weewx/skins/Standard/skin.conf

sudo nano /etc/weewx/skins/Standard/skin.conf

Sustituimos:


   [[TimeFormats]]
       # This section sets the string format to be used for
       # each time scale.

       day        = %X
       week       = %X (%A)
       month      = %x %X
       year       = %x %X
       rainyear   = %x %X
       current    = %x %X
       ephem_day  = %X
       ephem_year = %x %X


Por este otro:


   [[TimeFormats]]
       # This section sets the string format to be used for
       # each time scale.

       day        = %H:%M
       week       = %H:%M on %A
       month      = %d-%b-%Y %H:%M
       year       = %d-%b-%Y %H:%M
       rainyear   = %d-%b-%Y %H:%M
       current    = %d-%b-%Y %H:%M
       ephem_day  = %H:%M
       ephem_year = %d-%b-%Y %H:%M

Por último editamos /etc/init.d/weewx

sudo nano /etc/init.d/weewx

Hay que insertar el texto que ves en negrita

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
WEEWX_BIN=/usr/bin/weewxd
WEEWX_CFG=/etc/weewx/weewx.conf
DESC="weewx weather system"
NAME=weewx
WEEWX_USER=root:root 
PIDFILE=/var/run/$NAME.pid
DAEMON=$WEEWX_BIN
DAEMON_ARGS="--daemon --pidfile=$PIDFILE $WEEWX_CFG" 
SCRIPTNAME=/etc/init.d/$NAME

#Establece locales para que aparezcan las etiquetas de fecha y hora en castellano
export LANG="es_ES.UTF-8"
export LANGUAGE="es_ES.UTF-8"
export LC_ALL="es_ES.UTF-8"
 
# Exit if the package is not installed
[ -x "$WEEWX_BIN" ] || exit 0

En algunas instalaciones, es posible que cambiando estos parámetros, al tratar de arrancar el weeWX nos dé error, quejándose del locale, una opción para eliminar este error y dejar el programa trabajando con el locale (es-ES.UTF-8) correcto es editar el fichero /etc/locale.gen, se repone el asterisco al locale que está en vigor si es incorrecto y se le quita al es-ES.UTF-8 que es el que queremos o a la variación que necesitemos por ejemplo, para catalán ca-ES.UTF-8. Una vez hecho esto ya deja ponerle las 3 lineas en el /etc/init.d/weewx y arrancar con el locale correcto.

Quiero usar la zona horaria UTC

Aparte de ahorrarte muchos problemas en la transmisión de datos a Meteoclimatic por las diferencias horarias, Meteoclimatic te recompensa con un extra de 0,2 puntos en el IR, siempre que transmitas la hora en UTC.

Se entiende que todo el mundo sabe lo que es la hora UTC

En Raspberry Pi: puedes usar

sudo raspi-config

Elige la opción 4 (Internationalisation Options), luego la opción I2 (Change Timezone), luego Etc, y finalmente UTC. Recuerda pulsar en Aceptar.

En otras máquinas no Raspberry PI

sudo dpkg-reconfigure tzdata

Los gráficos salen mal. Se ven puntos separados en lugar de líneas

Esto es lo que ocurre cuando el tiempo de generación de registros es superior a 10 minutos. En lugar de representar una línea con la evolución de la variable, Weewx representa una nube de puntos inconexa

Eso ocurre porque tienes un tiempo de generación de registros demasiado grande. Con tiempos de generación de registros (en la consola, tal como se ha indicado en la faq anterior) superior a 10 minutos, en lugar de una línea que represente la evolución, verás puntos sin conexión.

Modifica el tiempo tal como se ha indicado anteriormente.

He hecho cambios en la configuración. No tengo tiempo para esperar a la siguiente generación. Quiero verlo ya

Impaciente, usa el comando wee_reports añadiendo la ubicación del fichero general de configuración

wee_reports /etc/weewx/weewx.conf

Weewx realizará los procesos sin esperar al momento programado (cada 5,10,15 minutos)

Estaciones Davis

Tengo un interface compatible sin datalogger

Cuando tienes conectada la consola Davis al ordenador mediante un interface compatible, el cual no tiene datalogger, puedes observar errores de manera continua.

Esto es debido a la ausencia de memoría física.

Para evitar los problemas, tan solo tienes que modificar la opción record_generation pasando de hardware a software.

[StdArchive]
   # This section is for configuring the archive service.
...
...
   record_generation = software
...
   # The data binding to be used:
   data_binding = wx_binding

Oregon WVR918/928/968

El sensor termohigro original ha muerto. ¿Puedo usar uno de los sensores extras?

Si, claro. Tan solo tienes que tener claro que orden tiene ese sensor. Si es el sensor de temperatura y humedad número 1, tienes que hacer los siguientes cambios en el fichero de configuración weewx.conf

[StdCalibrate]
  [[Corrections]]
    outTemp = extraTemp1
    outHumidity = extraHumid1






Volver a la página de WeeWX