Autor Tema: Problemas con los reinicios de weewx  (Leído 13613 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Rubendgl

  • Jr. Member
  • **
  • Mensajes: 65
    • Ver Perfil
    • MeteoNigran
  • Estación: ESGAL3600000036350C
Problemas con los reinicios de weewx
« en: 07 de Mayo del 2020, 18:54:19 pm »
Buenas tardes, me explico.

Cada vez que reinicio/apago la Pi donde tengo instalado weewx para efectuar una actualización o simplemente reiniciar cuando lleva muchas semanas funcionando, ocurre que el arranque de weewx son todo problemas.

Ejemplo de hoy mismo, que he tenido que apagar la Pi por un corte de siministro electrico. Viendo que llevabamos ya 30 min. y el SAI no iba aguantar mucho mas, he apagado.
Pues bien, al iniciar ocurre que weewx no actualiza la web ni datos y salen varios errores.

Código: [Seleccionar]
pi@raspberrypi:/var/log $ tail -f weewx.log
May  7 16:15:38 raspberrypi weewx[320]: vantage: LOOP try #2; error: Expected to read 99 chars; got 17 instead
May  7 16:15:40 raspberrypi weewx[320]: engine: Launch of report thread aborted: existing report thread still running
May  7 16:15:47 raspberrypi weewx[320]: cheetahgenerator: Generated 20 files for report StandardReport in 8.00 seconds
May  7 16:15:50 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.92 seconds
May  7 16:15:50 raspberrypi weewx[320]: copygenerator: copied 9 files to /var/www/html
May  7 16:20:16 raspberrypi weewx[320]: manager: Unable to add record 2020-05-07 16:10:00 UTC (1588867800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime
May  7 16:20:17 raspberrypi weewx[320]: restx: Wunderground-PWS: Published record 2020-05-07 16:10:00 UTC (1588867800)
May  7 16:20:19 raspberrypi weewx[320]: cheetahgenerator: Generated 20 files for report StandardReport in 3.24 seconds
May  7 16:20:21 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.80 seconds
May  7 16:20:21 raspberrypi weewx[320]: copygenerator: copied 0 files to /var/www/html
May  7 16:25:19 raspberrypi weewx[320]: cheetahgenerator: Generated 20 files for report StandardReport in 2.92 seconds
May  7 16:25:21 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.76 seconds
May  7 16:25:21 raspberrypi weewx[320]: copygenerator: copied 0 files to /var/www/html
^C
pi@raspberrypi:/var/log $ tail -f weewx.log
May  7 16:15:50 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.92 seconds
May  7 16:15:50 raspberrypi weewx[320]: copygenerator: copied 9 files to /var/www/html
May  7 16:20:16 raspberrypi weewx[320]: manager: Unable to add record 2020-05-07 16:10:00 UTC (1588867800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime
May  7 16:20:17 raspberrypi weewx[320]: restx: Wunderground-PWS: Published record 2020-05-07 16:10:00 UTC (1588867800)
May  7 16:20:19 raspberrypi weewx[320]: cheetahgenerator: Generated 20 files for report StandardReport in 3.24 seconds
May  7 16:20:21 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.80 seconds
May  7 16:20:21 raspberrypi weewx[320]: copygenerator: copied 0 files to /var/www/html
May  7 16:25:19 raspberrypi weewx[320]: cheetahgenerator: Generated 20 files for report StandardReport in 2.92 seconds
May  7 16:25:21 raspberrypi weewx[320]: imagegenerator: Generated 13 images for StandardReport in 1.76 seconds
May  7 16:25:21 raspberrypi weewx[320]: copygenerator: copied 0 files to /var/www/html
^C
pi@raspberrypi:/var/log $ sudo /etc/init.d/weewx reload
[ ok ] Reloading weewx configuration (via systemctl): weewx.service.
pi@raspberrypi:/var/log $ tail -f weewx.log
May  7 16:28:29 raspberrypi weewx[320]: engine: Starting up weewx version 3.9.2
May  7 16:28:29 raspberrypi weewx[320]: engine: Clock error is -455.44 seconds (positive is fast)
May  7 16:28:31 raspberrypi weewx[320]: engine: Starting main packet loop.
May  7 16:28:36 raspberrypi weewx[320]: vantage: LOOP try #1; error: Expected to read 99 chars; got 0 instead
May  7 16:28:44 raspberrypi weewx[320]: vantage: LOOP try #2; error: Expected to read 99 chars; got 0 instead

y ahí se paró sin dar mas lecturas.

Al final siempre acaba funcionando, no se muy bien el motivo ya que lo único que hago es, tras innumerables frases censurables, probar a enchufar y desenchufar el usb de la consola, probar con weewx stop/start/reload, etc, etc.

Pero imagino que apagar y encender la Pi debería ser algo normal para weewx, no un proceso traumático donde ya no sepa que hacer.

Algún truco para que inicie a la primera? ???.
Se agradecería.
Un saludo.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #1 en: 07 de Mayo del 2020, 19:31:41 pm »
Yo solo veo dos problemas.

1.- El reloj. 7 minutos de desfase entre consola y ordenador, son muchos minutos. Algo va mal
2.- Los otros errores, son típicos de la consola Davis (no sé si es tu estación) por el puerto USB


En cuanto al reloj desconozco lo que puede originar ese desfase en la consola. ¿Has comprobado la hora que tiene en la pantalla de la consola?

Tienes instalado el servidor ntp para mantener el reloj de la raspi en hora???

¿Tienes activada la opción de que la Raspberry espere en el arranque a tener conexión a internet?

Recuerda que la Raspi, no tiene reloj en tiempo real. La mayoría de los problemas vienen motivados por este problema.

Si no consigues que la cosa se estabilice tomando medidas con el reloj de la Raspi y la consola, pasamos al posible problema de comunicación

En cuanto al problema de comunicación solo puedo decirte que cambies de cable a ver si mejora. Pero me temo que es más un problema del chip CP2105 que lleva incluido el datalogger.

Así que los "mágicos remedios " serían:

- Comprobar primero, con otra fuente de alimentación. Las raspi son muy sensibles a fuentes con una tensión por debajo de 5V.
- Comprobar que el cable del datalogger al ordenador está bien y correctamente insertado.
- Cambiar el cable que conecta datalogger y ordenador.

El apagar a la bruto una Raspi no afecta al ordenador en si, pero la tarjeta SD puede irse a la porra. Ahora mismo estoy intentando recuperar una SD que he usado para las pruebas de Meteowee y que ha sufrido más de un apagón forzado por mi. Pero es l tarjeta de pruebas.

Igualmente si ves en el log, que hay muchos reinicios de Weewx, suelen venir motivados por el errror de comunicación que has puesto. Weewx hace varios intentos de comunicarse con la consola y, si no lo consigue, a un número determinado de veces reinicia el propio Weewx.

Con el log que has puesto, es todo lo que puedo decirte.

Post editado: Me inclino a que el problema viene por el reloj. Acabo de buscar tu problema y viene a ser el mismo: https://groups.google.com/forum/#!topic/weewx-user/3GK_fdGVRtM
« Última modificación: 07 de Mayo del 2020, 19:38:24 pm por jantoni »

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 Rubendgl

  • Jr. Member
  • **
  • Mensajes: 65
    • Ver Perfil
    • MeteoNigran
  • Estación: ESGAL3600000036350C
Re:Problemas con los reinicios de weewx
« Respuesta #2 en: 10 de Mayo del 2020, 02:05:33 am »
¿Tienes activada la opción de que la Raspberry espere en el arranque a tener conexión a internet?

Realmente creo que es eso del reloj.
La instalación de weewx fue con una de las imágenes weewx.sh asi que desconozco como ha configurado el tema del reloj.
La Pi mantiene la hora sin problema, el weewx ya no se que hace.
Probaré a buscar eso de retrasar el inicio de la Pi o ver si puedo retrasar el arranque de weewx.
Con respecto a los reinicios me referia a cuando los hago yo. No se producen solos osea que el único problema debe ser el reloj.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #3 en: 10 de Mayo del 2020, 07:07:32 am »
Pues retomemos el tema.

Un log completo desde el inicio de weewx, porque el que enviaste al principio es parcial.

Es decir, el log de weewx desde que arranca el ordenador.

A ver que vemos en las cabeceras.

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 Rubendgl

  • Jr. Member
  • **
  • Mensajes: 65
    • Ver Perfil
    • MeteoNigran
  • Estación: ESGAL3600000036350C
Re:Problemas con los reinicios de weewx
« Respuesta #4 en: 10 de Mayo del 2020, 17:59:36 pm »
Pues aquí está el log desde el arranque.



Como ha sido un reinicio, entiendo que el reloj se ha atrasado poco y en cierto modo todo ha vuelto a la nomalidad de una forma bastante rápida tambien.
Lo normal, apagando la Pi y tardando algo mas, suelen aparecer los registros:
Código: [Seleccionar]
manager: Unable to add record XXXXXXX to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime
Esta vez, todo ha ido fácil.
Podemos confirmar que el problema es el reloj ???.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #5 en: 10 de Mayo del 2020, 21:01:19 pm »
Me huelo que sigues teniendo instalado el falso reloj.

Eso no es bueno y, de hecho, en los instaladores que preparo los elimina.

Cuando la raspi arranca, toma la hora del falso reloj, y si tarda el servidor ntp tarda en sincronizar puedes estar con una hora totalmente irreal.

Al eliminar el falso reloj, la raspi arranca siempre con las 0:00 del 1 de enero de 1970.

Weewx detecta esta incidencia y espera hasta tener una hora en condiciones. Entonces, weewx sigue con el arranque.

Para eliminar el falso reloj

Código: [Seleccionar]
sudo apt-get remove fake-hwclock
sudo apt-get purge face-hwclock

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 Rubendgl

  • Jr. Member
  • **
  • Mensajes: 65
    • Ver Perfil
    • MeteoNigran
  • Estación: ESGAL3600000036350C
Re:Problemas con los reinicios de weewx
« Respuesta #6 en: 10 de Mayo del 2020, 22:56:53 pm »
La instalación está hecha con uno de tus scripts.
Y efectivamente, no tiene instalado el reloj falso.

Código: [Seleccionar]
pi@raspberrypi:~ $ sudo apt remove fake-hwclock
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete «fake-hwclock» no está instalado, no se eliminará
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 0 no actualizados.

Y no sería mas fácil hacer que weewx no arrranque de forma automática al iniciar.
Busco información pero no encuentro como deshabilitar el daemon de weewx al inicio.
Creo que lo mas práctico es que si yo apago o reinicio la Pi para hacer algún mantenimiento, pues al arrancarla de nuevo
inicie weewx yo de forma manual.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #7 en: 11 de Mayo del 2020, 00:37:49 am »
claro

Es fácil

Simplemente, quítale los permisos de ejecución a /etc/init.d/weewx

Y no arrancará solo el servidor weewx

Pero me parece más fácil meter un temporizador de 60 segundos en rc.local ya que es claramente un problema de tiempo para coger red y por tanto sincronizar.

Puedes hacer una prueba??

Reiniciar la raspi y, en cuanto puedas ejecuta el comando

date

A ver que fecha y hora aparece

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 Rubendgl

  • Jr. Member
  • **
  • Mensajes: 65
    • Ver Perfil
    • MeteoNigran
  • Estación: ESGAL3600000036350C
Re:Problemas con los reinicios de weewx
« Respuesta #8 en: 11 de Mayo del 2020, 19:15:30 pm »

Puedes hacer una prueba??

Reiniciar la raspi y, en cuanto puedas ejecuta el comando

date

A ver que fecha y hora aparece

Código: [Seleccionar]
pi@raspberrypi:~ $ date
lun may 11 16:30:31 UTC 2020
pi@raspberrypi:~ $ date
lun may 11 16:32:25 UTC 2020

En el primer date, el reloj del ordenador marcaba las 18:32 con lo que ahí ya existe un desfase de 2 minutos en la raspberry, esperé unos 5 segundos y volví a ejecutar date y entonces ya si la Pi sacó la hora correcta.
Pues efectivamente parece ser que el problema es que se carga antes weewx que la sincronización de la hora.
Pero si no tiene instalado el fake-clock, como puede ser esto ??. Por lo que me comentaste anteriormente, debería arrancar en 1970.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Problemas con los reinicios de weewx
« Respuesta #9 en: 11 de Mayo del 2020, 19:51:00 pm »
Hola Rubén

Prueba a realizar el segundo paso para quitar el falso reloj:

https://github.com/weewx/weewx/wiki/Raspberry-Pi

$ sudo systemctl stop systemd-timesyncd
$ sudo systemctl disable systemd-timesyncd


Eso quitaría la sincronización de hora que usa la raspi.

También en el enlace al foro que hay en esa página se explica que ese servicio dependería de otro llamado systemd-time-wait-sync que esperaría a que se hubiese sincronizado la hora con el servidor NTP

Qué te pone al ejecutar sudo systemctl status systemd-time-wait-sync ??


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

www.meteoarchena.es

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Problemas con los reinicios de weewx
« Respuesta #10 en: 11 de Mayo del 2020, 20:28:14 pm »
Interesantísimo lo que he encontrado en la web:

https://feeding.cloud.geek.nz/posts/time-synchronization-with-ntp-and-systemd/

Resulta que systemd-timesyncd es ahora el servicio de systemd que sincroniza la hora y que entra en conflicto con el servicio ntp.

Al hacer los pasos que ahí se indican quitando ntp se ha sincronizado la hora con este nuevo servicio.

Supuestamente systemd-time-wait-sync esperará hasta que systemd-timesyncd haya sincronizado la hora para iniciar los servicios que dependen de la sincronización de tiempo.


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

www.meteoarchena.es

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #11 en: 11 de Mayo del 2020, 23:31:55 pm »
Gracias mil.

Lo tendré en cuenta.

La verdad es que notaba cosas raras con el raspbian al utilizar la raspi zero.

Por mas que sincronizaba el reloj, weewx siempre se quejaba y decía que el reloj estaba en el 2019.

Esa puede ser la explicación.

No se que cagadas están haciendo con la raspi. Con lo bien que funcionaba hace años. Fíjate que el raspbian que elimine hace un mes era de 2014.

Y desde que empecé con los raspbian actualizados no he encontrado mas que problemas

Creo que vamos a tener que promocionar otra vez las orange Pi y el armbian

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 jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Problemas con los reinicios de weewx
« Respuesta #12 en: 12 de Mayo del 2020, 00:25:30 am »
Creo que tiene que ver con systemd jantoni… da igual que sea debian, raspbian o armbian... system lleva ya una "suite" de servicios asociados, es el servicio que maneja a los demás servicios (PID 1) y cada vez tiene más control y servicios suyos van sustituyendo a antiguos... en este caso el famoso servicio ntpd para sincronizar la hora ya ni hace falta (es más crea ya conflictos), y seguramente haya venido en el Buster de estas distribuciones basadas en Debian.


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

www.meteoarchena.es

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.640
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Problemas con los reinicios de weewx
« Respuesta #13 en: 12 de Mayo del 2020, 09:36:46 am »
No te lo niego.

Lo que digo es que controlar una Raspberry es cada vez más complicado y enrevesado, cuando siempre había sido el mecanismo de un chupete.

En cuanto al reloj, de acuerdo, pero entonces no montas ntpd porque hay otros elementos que pilotan, pero sigues manteniendo el reloj falso pero, a la vez, cada vez que arranca la raspi siempre es el mismo día y la misma hora según ese elemento.

Afortunadamente, lo que he visto en el último mes al retomar la Raspi con weewx 4.0 y el raspbian de febrero, es que la weewx tarda entre 4 y 5 minutos en arrancar esperando que “algo” ponga en hora el reloj, aunque ese reloj aparentemente está en hora.

Joder que lío están montando en las tripas.

No me extraña que, cuando haces un ps aux, te sale una lista interminable de procesos abiertos por el kernel.

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 jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.576
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Problemas con los reinicios de weewx
« Respuesta #14 en: 12 de Mayo del 2020, 11:04:45 am »
Veamos, el problema por lo que he podido ver es que weewx por defecto usa el arranque de su script /etc/init.d/weewx (antiguo sysVinit) aunque es systemD el que lo "supervisa".

Según el enlace que puse más arriba de weewx explica que rigiéndose por ese script lo mejor es quitar el falso reloj y tener instalado el servicio ntpd para tener sincronizada la hora del sistema.

Como ya he dicho anteriormente systemD utiliza el servicio systemd-timesyncd en vez de ntpd (no nativo) para sincronizar la hora.

Weewx también puede ser arrancado como servicio de systemd (con su sintaxis de servicio) en vez del script en init.d. Para ello hay que seguir estas instrucciones:

https://github.com/weewx/weewx/wiki/systemd

sobre todo la sección Debian package installation (la instalación normal desde el repositorio, no la de setup.py). Creando ese script de arranque para systemd en /etc/systemd/system/weewx

Creando ese script weewx ya no se gestiona con /etc/init.d/weewx start/stop etc etc si no por este otro por lo que se puede borrar /etc/init.d/weewx, de hecho aconsejan hacerlo.

En el script de systemD ya viene en sus primeras líneas:

Requires=time-sync.target
After=time-sync.target


O sea que requiere que el servicio de sincronización esté en marcha.

Un pequeño lío entre el sistema de arranque antiguo y el nuevo de systemd. Deberían de dejarlo todo en manos de systemD pero por compatibilidad habrán dejado el del antiguo sysVinit ya que systemd está poniendo servicios que entran en conflicto con los que hace uso weewx.


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

www.meteoarchena.es