Meteoclimatic

Software => Software de Meteoclimatic => Mensaje iniciado por: jmviper en 02 de Febrero del 2020, 17:45:48 pm

Título: Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 02 de Febrero del 2020, 17:45:48 pm
Buenas

A raíz de volver a actualizar jantoni su script de instalación de weewx  :aplaude1: yo por mi parte he conseguido hacer funcionar una nueva utilidad de envío de la plantilla de meteoclimatic hecha en Python.

Con esta nueva versión (que animo a que haya betatesters y que la probéis a ver si da fallos y corregirlos *-* *-*) no hará falta tener instalado PHP como en el script que había sino que con la versión 2.7 o 3.x funcionará, por lo que si hemos instalado weewx ya tendremos Python instalado.

En el adjunto están los dos archivos necesarios, el script que sube la plantilla meteoclimatic.py y el archivo de configuración meteoclimatic.ini que hace falta editar para introducir la contraseña de la estación en meteoclimatic y comprobar que la ruta y nombre de archivo de la plantilla son correctos.

Si ya tenéis el archivo meteoclimatic.ini de la versión de PHP es totalmente compatible ya que solo hace uso de la ruta de la plantilla y de la contraseña las cuáles habrá que poner correctamente. Aparte añade un nuevo campo Log con el cual indicamos si queremos que haga log o no del resultado del envío. Para activarlo tenemos que ponerle Log=1
Si no está lo creará por defecto con valor 0 (no creará log).

El log se creará en la misma carpeta donde tengamos meteoclimatic.py y meteoclimatic.ini en una nueva carpeta llamada log y creará archivos con el nombre de la fecha para mejor análisis si lo queremos.

Para preparar el script simplemente le damos permisos de ejecución con chmod u+x meteoclimatic.py estando en la misma ruta en la que está el script.

Lo podremos probar entonces con ./meteoclimatic.py y si pone envío aceptado es que hemos tenido éxito, si no, habrá que ver que ocurre.

Lo siguiente para automatizar la subida es editar el crontab poniendo la ruta en la que está el script. Si por ejemplo lo tenemos en una carpeta llamada meteoclimatic en /home/pi ponemos en una nueva línea con crontab -e

16,31,46,59 * * * * /home/pi/meteoclimatic/meteoclimatic.py

o la ruta en la que esté si no es esa.

A ver qué tal va. A mí tras un día de pruebas me va bien.

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 02 de Febrero del 2020, 18:25:53 pm
Eres un máquina, archenero.

De aquí a ponerlo como una extensión de Weewx y que lo cuelguen en la wiki de Weewx.

Saludos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 02 de Febrero del 2020, 20:13:47 pm
Buffff eso de crear una extensión para weewx parece harina de otro costal.... se agradecerían enlaces con algún ejemplo  *-* *-*

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 08:03:52 am
Hola, como ya comenté en otros hilos, voy a conectar la raspi por WiFi, no como hasta ahora que está con un PLC ya que éste es sospechoso de causar interferencias. Para ello ya tengo otro ordenador igual corriendo con WeeWX instalado por el nuevo script de Jantoni. Cuando termine de generarme todos los gráficos podría probar la nueva utilidad de envío.
Supongo que primero debo parar la antigua raspi y después configurar la nueva. Los datos ( contraseña) de meteoclimatic.ini son todos válidos. Ese archivo no se toca.
Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 09:30:45 am
Hola Telares

Sí, efectivamente el meteoclimatic.ini de la utilidad de PHP es totalmente compatible.

No lo dije antes por parecer obvio pero si está funcionando la utilidad PHP habría que cambiar esa línea del crontab o quitarla y poner la de Python.

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 10:13:30 am
En mi caso, al ser una raspi  y SD diferentes sólo tendría que configurar el nuevo con la utilidad Pyton, previa desconexión del ordenador que envía a Meteoclimatic actualmente. Supongo. Las pasé canutas para conectarme hace dos años, sólo fue posible con tu ayuda. Espero que esta vez vaya mejor.
Gracias.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 16:37:16 pm
Hola, estoy con ello. Veo que mi plantilla es meteoclimatic.htm, sin la "l" final. Tiene importancia?
He editado meteoclimatic.ini y he añadido  Log=0
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 16:51:58 pm
Supongo que es algo de 1º de Linux pero no sé cómo se  dan permisos de ejecución estando en la misma ruta. He buscado por internet pero no me aclaro.

root@raspberrypi:~# chmod u+x meteoclimatic.py
chmod: no se puede acceder a 'meteoclimatic.py': No existe el fichero o el directorio
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 17:07:22 pm

Hola, estoy con ello. Veo que mi plantilla es meteoclimatic.htm, sin la "l" final. Tiene importancia?


Sí, mucha... no es lo mismo en nombre de archivo aún siendo en definitiva los dos documentos HTML

Supongo que es algo de 1º de Linux pero no sé cómo se  dan permisos de ejecución estando en la misma ruta. He buscado por internet pero no me aclaro.

root@raspberrypi:~# chmod u+x meteoclimatic.py
chmod: no se puede acceder a 'meteoclimatic.py': No existe el fichero o el directorio

Está el meteoclimatic.py que te has descargado del adjunto en la misma carpeta que meteoclimatic.ini y estás en esa carpeta ? lo podrás ver con ls -l
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:10:46 pm
root@raspberrypi:~# ls -la /root/meteoclimatic
total 20
drwxr-xr-x 2 root root 4096 feb  3 15:40 .
drwx------ 5 root root 4096 feb  2 13:11 ..
-rw-r--r-- 1 root root  201 feb  3 15:40 meteoclimatic.ini
-rwxr--r-- 1 root root 6974 feb  3 15:29 meteoclimatic.py
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:15:43 pm
Acabo de instalarlo en mi vieja Raspi.....ahora cuento
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 17:19:28 pm
root@raspberrypi:~# ls -la /root/meteoclimatic
total 20
drwxr-xr-x 2 root root 4096 feb  3 15:40 .
drwx------ 5 root root 4096 feb  2 13:11 ..
-rw-r--r-- 1 root root  201 feb  3 15:40 meteoclimatic.ini
-rwxr--r-- 1 root root 6974 feb  3 15:29 meteoclimatic.py

No sé si va a dar problemas los archivos en la carpeta de root…

De todas formas ya lo tienes como ejecutable así que prueba a ejecutarlo con ./meteoclimatic.py
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:21:33 pm
root@raspiweather:~/meteoclimatic/log# cat *
2020-02-03 16:21:01
Envío aceptado

root@raspiweather:~/meteoclimatic/log#
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:24:19 pm
root@raspberrypi:~# ./meteoclimatic.py
-bash: ./meteoclimatic.py: No existe el fichero o el directorio
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:25:24 pm
Yo solo he hecho esto:

- Incluir meteoclimatic.py en el directorio donde tenía el php. Es decir, en /root
- Modificar el meteoclimatic.ini que tenía para incluir "Log=1"
- Modificar crontab sustituyendo así:

# Envía datos a Meteoclimatic cada 5 minutos, empezando en el minuto 1 de cada hora
#1-59/5 *   * * *   root    /root/meteoclimatic/meteoclimatic.sh
1-59/5 *   * * *   root    /root/meteoclimatic/meteoclimatic.py

Funcionando, de momento, perfectamente.

Lo dejaremos en producción.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:26:33 pm
root@raspberrypi:~# ./meteoclimatic.py
-bash: ./meteoclimatic.py: No existe el fichero o el directorio

Le has dado permisos de ejecución??
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:30:23 pm
Te refieres a ésto?
root@raspberrypi:~# ~# chmod u+x meteoclimatic.py
-bash: ~#: orden no encontrada
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:31:25 pm
Lo había escrito mal
root@raspberrypi:~# chmod u+x meteoclimatic.py
chmod: no se puede acceder a 'meteoclimatic.py': No existe el fichero o el directorio
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 17:34:11 pm
Estás en /root

Entra en la carpeta meteoclimatic con cd meteoclimatic y ejecuta el comando ./meteoclimatic.py
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:38:57 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 150, in <module>
    BaseConvert(str(int(intorfloat(valores['MGST']) * 10)), BASE10, BASE62) + ';' + \
  File "./meteoclimatic.py", line 67, in rsentit
    return sentit
UnboundLocalError: local variable 'sentit' referenced before assignment
root@raspberrypi:~/meteoclimatic#
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:39:26 pm
Archenero......cuando veamos que funciona sin problema......lo subimos al menos a la wiki de Meteoclimatic.

Si, esa que nadie lee.

Saludos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:46:01 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 150, in <module>
    BaseConvert(str(int(intorfloat(valores['MGST']) * 10)), BASE10, BASE62) + ';' + \
  File "./meteoclimatic.py", line 67, in rsentit
    return sentit
UnboundLocalError: local variable 'sentit' referenced before assignment
root@raspberrypi:~/meteoclimatic#

¿Has modificado de algún modo meteoclimatic.py?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:47:33 pm
No, me lo descargué al windows y mediante bitvise lo copié a la raspi.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:49:21 pm
Si no me confundo, meteoclimatic.py, lee la plantilla que tienes grabada para el envio de datos a meteoclimatic.

Es posible que, si no hay plantilla, de este error inesperado.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 17:51:32 pm
Puedes poner aquí el meteoclimatic.ini???

Quita la password, eso si.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 17:53:39 pm
Un pequeño contratiempo... no estaba una variable definida dentro de una función... vuelve a descargarte la utilidad que he corregido en el primer mensaje y cámbiala por la nueva.

Yo lo he probado con mi plantilla y por eso es bueno probarla con otras.


Archenero......cuando veamos que funciona sin problema......lo subimos al menos a la wiki de Meteoclimatic.

Si, esa que nadie lee.

Saludos.

Ok
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 17:55:21 pm
og=0
[Global]
Stations=ESCYL2400000024820A
DigestKey=

[ESCYL2400000024820A]
Path=/var/www/html/weewx/meteoclimatic.htm
Password=
StationVendor=PCE
StationModel=FWS-20
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 17:58:19 pm
No es og=0 sino Log=0 sino quieres log y Log=1 si quieres log

En cuanto a la contraseña supongo que en lo que has puesto en tu anterior respuesta la has quitado pero hay que ponerla o no funciona el script.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:03:12 pm
Efectivamente copié mal Log. La contraseña la quité.

root@raspberrypi:~/meteoclimatic# chmod u+x meteoclimatic.py
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 157, in <module>
    BaseConvert(str(int(intorfloat(valores['MSUN']) * 10)), BASE10, BASE62) + ';' + \
  File "./meteoclimatic.py", line 33, in intorfloat
    return float(number)
ValueError: could not convert string to float: N/A
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 18:09:17 pm
Eso es el viento.

Cuando la velocidad es de "Cero", Weewx pone la dirección como "N/A".

Mi script hace que en lugar de N/A, pase a ser N, es decir 360 grados o 0 grados.

Pero no puedo asegurar que funcione correctamente con Weewx 3.9 puesto que la estructura de ficheros ha cambiado ligeramente.

¿Has usado mi script?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:11:00 pm
Sí, el nuevo script: https://forum.meteoclimatic.net/index.php/topic,2606.0.html
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 18:12:16 pm
Vale, voy a mirar mi raspberry pi de prueba, a ver como ha quedado esto
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 18:12:23 pm
Ok parece ser que en los campos que esté N/A va a haber problemas....

Copia y pega tu plantilla aquí quitando el sig para probarla y luego le hecho un vistazo para subsanarlo.

Eso es el viento.

Cuando la velocidad es de "Cero", Weewx pone la dirección como "N/A".

Mi script hace que en lugar de N/A, pase a ser N, es decir 360 grados o 0 grados.

Pero no puedo asegurar que funcione correctamente con Weewx 3.9 puesto que la estructura de ficheros ha cambiado ligeramente.

¿Has usado mi script?

No no jantoni... No es el viento sino la radiación solar mensual y anual... Al no tener sensor weewx pone N/A

Hay que arreglarlo también

A ver si para esta noche lo dejo bien.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:16:38 pm
*VER=DATA2 *COD=ESCYL2400000024820A *SIG=                     *UPD=03-02-2020 17:13 *TMP=11.0 *WND=0 *AZI= N/A *BAR=1018.5 *HUM=73 *SUN= N/A *UVI= N/A *DHTM=13.6 *DLTM=1.0 *DHHM=92 *DLHM=64 *DHBR=1025.6 *DLBR=1017.1 *DGST=9 *DSUN= N/A *DHUV= N/A *DPCP=0.0 *WRUN= *MHTM=14.0 *MLTM=1.0 *MHHM=92 *MLHM=64 *MHBR=1035.7 *MLBR=1017.1 *MGST=16 *MSUN= N/A *MHUV= N/A *MPCP=2.4 *YHTM=14.0 *YLTM=-6.5 *YHHM=92 *YLHM=32 *YHBR=1047.8 *YLBR=1017.1 *YGST=44 *YSUN= N/A *YHUV= N/A *YPCP=40.2 *EOT*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:24:13 pm
Esta es la raspi de pruebas, pero es que la que envía a Meteoclimatic parece con la SD llena, datos estancados. Ya lo comenté en el otro hilo, el de PCE.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 18:24:45 pm
Vale, en cuanto al viento, efectivamente tampoco funciona el script.

La razón es que en Weewx 3.7 y anteriores, esto venía configurado en el skin.

Ahora está configurado en weewx.conf, por lo que habrá que modificar el script

De la radiación solar no puede decir nada......pero en Weewx.conf se puede decir que el valor None no sea N/A sino otra cosa (eso fue una novedad de la versión 3.8), pero tendré que mirar la documentación, no es lo mismo el viento que la radiación
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 18:35:02 pm
Prueba este comando:

Código: [Seleccionar]
sudo sed -i 's/NNW, N\/A/NNW, N/g' "/etc/weewx/weewx.conf"
No obstante, esto me dice que tengo que revisar el script para ver que se configura ahora en weewx.conf y que en cada skin.

En mi script los cambios se hace en /etc/weewx/skins/standard. que corresponde al skin Standard de "toda la vida"

Pero ahora el skin por defecto es el "seasons", así que habrá que mirar todo.....

Solo afecta a personalización, pero la plantilla de meteoclimatic se saca del skin.

Saludos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:47:24 pm
A mi los tamaños de letra en las imagenes me salen diferentes.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 18:49:08 pm
root@raspberrypi:~# sudo sed -i 's/NNW, N\/A/NNW, N/g' "/etc/weewx/weewx.conf"
root@raspberrypi:~#
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 03 de Febrero del 2020, 18:56:21 pm
A ver si ahora envia la plantilla
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 19:00:51 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 150, in <module>
    BaseConvert(str(int(intorfloat(valores['MGST']) * 10)), BASE10, BASE62) + ';' + \
  File "./meteoclimatic.py", line 67, in rsentit
    return sentit
UnboundLocalError: local variable 'sentit' referenced before assignment
root@raspberrypi:~/meteoclimatic#
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 20:19:54 pm
Bueno lo he vuelto a subir supuestamente corregido con la plantilla que pusiste anteriormente... me ha servido para depurar lo que iba mal... siento los inconvenientes pero ya dije que había que haber betatester  *-* *-*

Reemplaza meteoclimatic.py por el nuevo del adjunto y dale de nuevo permisos de ejecución a ver si ya quiere enviar.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 20:43:51 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py

T=w;2C;A;2G;A;2G;-13&H=1K;1U;12;1U;12;1U;W&B=2em;2fQ;2e3;2h3;2e3;2j0;2e3&W=;;;1S;2a;76&P=;O;6U&S=;;;&V=;;;&U=3a;ESCYL2400000024820A;ef5461bc64
Envio aceptado
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! YUJU!!!!!!!!!!!!!!!!!!!!!!!!!!
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 20:50:18 pm
Entonces está listo para añadir al crontab y subir la plantilla regularmente?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 20:53:23 pm
Está enviando sí, puedes ponerlo en el crontab ya.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 20:59:01 pm
Hecho, a ver si vuelve Matueca a funcionar, despues de un día atascada.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 21:26:42 pm
Parece que ha dejado de subir.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 21:58:23 pm
El cron está bien?

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#

16,31,46,59 * * * * /root/meteoclimatic/meteoclimatic.py
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 22:16:30 pm
Si lo pones en el crontab general tienes que añadirle el usuario root al igual que tienen las líneas anteriores:

16,31,46,59 * * * * root /root/meteoclimatic/meteoclimatic.py
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 22:28:11 pm
Hecho! a ver ahora.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 22:53:44 pm
Tiene pinta de que actualiza bien  :) :)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 03 de Febrero del 2020, 23:00:14 pm
Muchas gracias por la ayuda.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 03 de Febrero del 2020, 23:11:12 pm
De nada hombre.

Gracias a ti por ofrecerte a probar la utilidad y así poder corregir errores para que pueda funcionar bien para los demás que vayan a usarla  ;)

Si tienes habilitado el log puedes ir comprobando los envíos en la carpeta /root/meteoclimatic/log a ver qué tal van.

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 04 de Febrero del 2020, 16:28:24 pm
Hola de nuevo, parece que lleva un rato sin funcionar.

root@raspberrypi:~# service weewx status
● weewx.service - LSB: weewx weather system
   Loaded: loaded (/etc/init.d/weewx; generated)
   Active: active (running) since Mon 2020-02-03 15:12:48 UTC; 24h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 270 ExecStart=/etc/init.d/weewx start (code=exited, status=0/SUCCESS)
  Process: 5586 ExecReload=/etc/init.d/weewx reload (code=exited, status=0/SUCCESS)
   Memory: 59.2M
   CGroup: /system.slice/weewx.service
           └─334 python /usr/bin/weewxd --daemon --pidfile=/var/run/weewx.pid /etc/weewx/weewx.conf

feb 04 15:22:04 raspberrypi weewx[334]: restx: PWSweather: Posting not enabled.
feb 04 15:22:04 raspberrypi weewx[334]: restx: CWOP: Posting not enabled.
feb 04 15:22:04 raspberrypi weewx[334]: restx: WOW: Posting not enabled.
feb 04 15:22:04 raspberrypi weewx[334]: restx: AWEKAS: Posting not enabled.
feb 04 15:22:04 raspberrypi weewx[334]: engine: Starting up weewx version 3.9.2
feb 04 15:22:05 raspberrypi weewx[334]: fousb: synchronising to the weather station (quality=1)
feb 04 15:22:59 raspberrypi weewx[334]: manager: Added record 2020-02-04 15:22:59 UTC (1580829779) to database 'weewx.sdb'
feb 04 15:23:00 raspberrypi weewx[334]: manager: Added record 2020-02-04 15:22:59 UTC (1580829779) to daily summary in 'weewx.sdb'
feb 04 15:23:00 raspberrypi weewx[334]: engine: Starting main packet loop.
feb 04 15:23:33 raspberrypi weewx[334]: fousb: station status {'unknown': 0, 'lost_connection': 0, 'rain_overflow': 0} (0)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 04 de Febrero del 2020, 16:30:20 pm
Acabo de poner Log=1 pero de momento no ha creado la carpeta ni siquiera. No sé lo que debe tardar
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 04 de Febrero del 2020, 17:08:27 pm
Puede que no esté generando la plantilla weewx por el problema que tienes con él y el script si detecta que la plantilla tiene más de media hora no la envía pero tampoco pone nada en el log.... lo pone se si ejecuta manualmente al script...

Luego lo actualizo con esa opción de que ponga lo de la plantilla no actualizada en el log.

También me ha sugerido jantoni que ponga otro nivel de log (el 2) que sea más "verboso" (verbose en inglés) en el que da más información a costa de que los logs sean un poco más grandes y pesados.

Y por último estudiar la posibilidad de enviar un email cuando haya fallo de envío  de la plantilla o hayan datos estancados.

Habrá que ir permaneciendo atentos a los cambios para ir actualizando a nuevas versiones con correcciones de errores o mayores funcionalidades  *+*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 04 de Febrero del 2020, 17:09:12 pm
Ha estado, mas o menos, de 14:30 a 15:30 fuera de la listado y mapas. Conexión a internet no ha faltado y WeeWX funciona perfectamente.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 04 de Febrero del 2020, 17:11:04 pm
No entiendo a qué problema con WeeWX te refieres.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 04 de Febrero del 2020, 17:41:42 pm
Ok creía que no estaba generando la plantilla.

Lo mejor sería ver en esas horas si hay algo en /var/log/syslog que nos pudiera dar una pista.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 04 de Febrero del 2020, 18:06:36 pm
Feb  4 14:16:01 raspberrypi CRON[5323]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 14:16:02 raspberrypi CRON[5319]: (CRON) info (No MTA installed, discarding output)
Feb  4 14:17:01 raspberrypi CRON[5332]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Feb  4 14:23:19 raspberrypi rngd[263]: stats: bits received from HRNG source: 740064
Feb  4 14:23:19 raspberrypi rngd[263]: stats: bits sent to kernel pool: 694336
Feb  4 14:23:19 raspberrypi rngd[263]: stats: entropy added to kernel pool: 694336
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2 successes: 37
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2 failures: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Poker: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Runs: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Long run: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: HRNG source speed: (min=101.646; avg=510.431; max=739.624)Kibits/s
Feb  4 14:23:19 raspberrypi rngd[263]: stats: FIPS tests speed: (min=1.308; avg=5.435; max=6.183)Mibits/s
Feb  4 14:23:19 raspberrypi rngd[263]: stats: Lowest ready-buffers level: 2
Feb  4 14:23:19 raspberrypi rngd[263]: stats: Entropy starvations: 0
Feb  4 14:23:19 raspberrypi rngd[263]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
Feb  4 14:31:01 raspberrypi CRON[5349]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 14:31:05 raspberrypi CRON[5345]: (CRON) info (No MTA installed, discarding output)
Feb  4 14:39:01 raspberrypi CRON[5360]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessio$
Feb  4 14:39:43 raspberrypi systemd[1]: Starting Clean php session files...
Feb  4 14:39:44 raspberrypi systemd[1]: phpsessionclean.service: Succeeded.
Feb  4 14:39:44 raspberrypi systemd[1]: Started Clean php session files.
Feb  4 14:46:01 raspberrypi CRON[5420]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 14:46:02 raspberrypi CRON[5416]: (CRON) info (No MTA installed, discarding output)
Feb  4 14:59:01 raspberrypi CRON[5435]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 14:59:02 raspberrypi CRON[5431]: (CRON) info (No MTA installed, discarding output)
Feb  4 15:09:01 raspberrypi CRON[5452]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessio$
Feb  4 15:09:43 raspberrypi systemd[1]: Starting Clean php session files...
Feb  4 15:09:44 raspberrypi systemd[1]: phpsessionclean.service: Succeeded.
Feb  4 15:09:44 raspberrypi systemd[1]: Started Clean php session files.
Feb  4 15:16:01 raspberrypi CRON[5515]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 15:16:02 raspberrypi CRON[5511]: (CRON) info (No MTA installed, discarding output)
Feb  4 15:17:01 raspberrypi CRON[5524]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Feb  4 15:20:06 raspberrypi systemd[1]: Created slice User Slice of UID 0.
Feb  4 15:20:06 raspberrypi systemd[1]: Starting User Runtime Directory /run/user/0...
Feb  4 15:20:06 raspberrypi systemd[1]: Started User Runtime Directory /run/user/0.
Feb  4 15:20:06 raspberrypi systemd[1]: Starting User Manager for UID 0...
Feb  4 15:20:07 raspberrypi systemd[5538]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
Feb  4 15:20:07 raspberrypi systemd[5538]: Listening on GnuPG cryptographic agent and passphrase cache.
Feb  4 15:20:07 raspberrypi systemd[5538]: Listening on GnuPG cryptographic agent and passphrase cache (access for web browsers).
Feb  4 15:20:07 raspberrypi systemd[5538]: Listening on GnuPG network certificate management daemon.
Feb  4 15:20:07 raspberrypi systemd[5538]: Reached target Paths.
Feb  4 15:20:07 raspberrypi systemd[5538]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
Feb  4 15:20:07 raspberrypi systemd[5538]: Reached target Sockets.
Feb  4 15:20:07 raspberrypi systemd[5538]: Reached target Timers.
Feb  4 15:20:07 raspberrypi systemd[5538]: Reached target Basic System.
Feb  4 15:20:07 raspberrypi systemd[1]: Started User Manager for UID 0.
Feb  4 15:20:07 raspberrypi systemd[5538]: Reached target Default.
Feb  4 15:20:07 raspberrypi systemd[5538]: Startup finished in 712ms.
Feb  4 15:20:07 raspberrypi systemd[1]: Started Session c8 of user root.
Feb  4 15:22:02 raspberrypi systemd[1]: Reloading LSB: weewx weather system.
Feb  4 15:22:02 raspberrypi systemd[1]: Reloaded LSB: weewx weather system.
Feb  4 15:23:19 raspberrypi rngd[263]: stats: bits received from HRNG source: 780064
Feb  4 15:23:19 raspberrypi rngd[263]: stats: bits sent to kernel pool: 724096
Feb  4 15:23:19 raspberrypi rngd[263]: stats: entropy added to kernel pool: 724096
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2 successes: 39
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2 failures: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Poker: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Runs: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Long run: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: HRNG source speed: (min=101.646; avg=518.636; max=739.736)Kibits/s
Feb  4 15:23:19 raspberrypi rngd[263]: stats: FIPS tests speed: (min=1.308; avg=5.467; max=6.211)Mibits/s
Feb  4 15:23:19 raspberrypi rngd[263]: stats: Lowest ready-buffers level: 2
Feb  4 15:23:19 raspberrypi rngd[263]: stats: Entropy starvations: 0
Feb  4 15:23:19 raspberrypi rngd[263]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
Feb  4 15:31:01 raspberrypi CRON[5641]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Feb  4 15:31:03 raspberrypi CRON[5637]: (CRON) info (No MTA installed, discarding output)
Feb  4 15:39:01 raspberrypi CRON[5654]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessio$
Feb  4 15:39:43 raspberrypi systemd[1]: Starting Cleanup of Temporary Directories...
Feb  4 15:39:43 raspberrypi systemd[1]: Starting Clean php session files...
Feb  4 15:39:43 raspberrypi systemd[1]: systemd-tmpfiles-clean.service: Succeeded.
Feb  4 15:39:43 raspberrypi systemd[1]: Started Cleanup of Temporary Directories.
Feb  4 15:39:44 raspberrypi systemd[1]: phpsessionclean.service: Succeeded.
Feb  4 15:39:44 raspberrypi systemd[1]: Started Clean php session files.
Feb  4 15:46:01 raspberrypi CRON[5719]: (root) CMD ( /root/meteoclimatic/meteoclimatic.py)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 04 de Febrero del 2020, 20:58:09 pm
No, ahí no nos dice nada excepto que se está ejecutando.

Deja la línea que ejecuta el crontab así:

16,31,46,59 * * * * /root/meteoclimatic/meteoclimatic.py >> /root/meteoclimatic/errores.log 2>&1

Deberá crear una archivo llamado errores.log en el mismo directorio que está el script que recoja los errores de ejecución de Python. Ve mirando si está creado y si hay algo en su anterior y lo adjuntas.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 04 de Febrero del 2020, 21:10:05 pm
Hoy no he podido dedicar nad de tiempo a este tema, lo siento.

He tenido una mañana de locos entre varios asuntos, todos a la vez

Mañana por la tarde a ver si tengo un rato
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 06:35:03 am
Hola, acabo de cambiar el crontab, con usuario root delante. He desaparecido del listado.

Traceback (most recent call last):
  File "/root/meteoclimatic/meteoclimatic.py", line 122, in <module>
    print BaseConvert(str(int(intorfloat(rsentit(valores['AZI'])))), BASE10, BASE62)
  File "/root/meteoclimatic/meteoclimatic.py", line 30, in intorfloat
    if "." in number:
TypeError: argument of type 'int' is not iterable
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 07:04:50 am
Traceback (most recent call last):
  File "/root/meteoclimatic/meteoclimatic.py", line 122, in <module>
    print BaseConvert(str(int(intorfloat(rsentit(valores['AZI'])))), BASE10, BASE62)
  File "/root/meteoclimatic/meteoclimatic.py", line 30, in intorfloat
    if "." in number:
TypeError: argument of type 'int' is not iterable
Traceback (most recent call last):
  File "/root/meteoclimatic/meteoclimatic.py", line 122, in <module>
    print BaseConvert(str(int(intorfloat(rsentit(valores['AZI'])))), BASE10, BASE62)
  File "/root/meteoclimatic/meteoclimatic.py", line 30, in intorfloat
    if "." in number:
TypeError: argument of type 'int' is not iterable

T=6;6;-G;2G;-G;2G;-13&H=1L;1L;1I;1U;r;1U;W&B=2fB;2fe;2fB;2h3;2e3;2j0;2e3&W=;;;y;4M;76&P=;O;6U&S=;;;&V=;;;&U=3a;ESCYL2400000024820A;ef5461bc64
Envio aceptado
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 07:29:15 am
Prueba a poner la plantilla cuando te dé error.

El problema está en la conversión de tipos para la que Python es crítico... por eso estoy comprendiendo cosas que salían en el script de php...
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 07:34:07 am
Ahora se ha vuelto a ir del listado

*VER=DATA2 *COD=ESCYL2400000024820A *SIG=                            *UPD=05-02-2020 06:28 *TMP=0.9 *WND=3 *AZI=292 *BAR=1023.9 *HUM=83 *SUN= N/A *UVI= N/A *DHTM=0.9 *DLTM=-1.6 *DHHM=83 *DLHM=80 *DHBR=1027.0 *DLBR=1023.8 *DGST=6 *DSUN= N/A *DHUV= N/A *DPCP=0.0 *WRUN= *MHTM=14.0 *MLTM=-1.6 *MHHM=92 *MLHM=53 *MHBR=1035.7 *MLBR=1017.1 *MGST=27 *MSUN= N/A *MHUV= N/A *MPCP=2.4 *YHTM=14.0 *YLTM=-6.5 *YHHM=92 *YLHM=32 *YHBR=1047.8 *YLBR=1017.1 *YGST=44 *YSUN= N/A *YHUV= N/A *YPCP=40.2 *EOT*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 07:41:09 am
No me da fallo a mí esa plantilla.... pon qué te sale al ejecutar python --version
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 07:44:57 am
Python 2.7.16
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 07:55:13 am
Ok acabo de poner un nuevo adjunto en el primer mensaje en el que he modificado algunas cosas. Descárgalo y reemplaza solo meteoclimatic.py poniéndole permisos de ejecución a ver qué tal va.

A mí con la última plantilla que has puesto tanto en python2.7 que es el que utiliza weewx como con Python 3.7 que es de las últimas versiones funciona.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 08:09:33 am
Ya lo cambié.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 08:10:53 am
Prueba a ejecutarlo manualmente a ver si da algún error
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 08:13:28 am
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 149, in <module>
    BaseConvert(str(int(intorfloat(valores['MGST']) * 10)), BASE10, BASE62) + ';' + \
  File "./meteoclimatic.py", line 32, in intorfloat
    elif number.isdigit():
AttributeError: 'int' object has no attribute 'isdigit'
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 08:18:46 am
Cuando al ejecutarlo manualmente dé el fallo pon inmediatamente la plantilla que hay, a ver si la pillamos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 08:34:25 am
Nuevo adjunto... a ver si esta vez ya si es la definitiva...

El problema es que coge los valores como números y no como cadenas de texto y hay que forzar la conversión.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 11:08:59 am
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
T=H;H;-G;2G;-G;2G;-13&H=1M;1M;1I;1U;r;1U;W&B=2fA;2fe;2f7;2h3;2e3;2j0;2e3&W=5o;e;;1c;4M;76&P=;O;6U&S=;;;&V=;;;&U=3a;ESCYL2400000024820A;ef5461bc64
Envio aceptado
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 11:12:00 am
*VER=DATA2 *COD=ESCYL2400000024820A *SIG=                         *UPD=05-02-2020 10:03 *TMP=1.7 *WND=4 *AZI=0 *BAR=1024.0 *HUM=84 *SUN= N/A *UVI= N/A *DHTM=1.7 *DLTM=-1.6 *DHHM=84 *DLHM=80 *DHBR=1027.0 *DLBR=1023.7 *DGST=10 *DSUN= N/A *DHUV= N/A *DPCP=0.0 *WRUN= *MHTM=14.0 *MLTM=-1.6 *MHHM=92 *MLHM=53 *MHBR=1035.7 *MLBR=1017.1 *MGST=27 *MSUN= N/A *MHUV= N/A *MPCP=2.4 *YHTM=14.0 *YLTM=-6.5 *YHHM=92 *YLHM=32 *YHBR=1047.8 *YLBR=1017.1 *YGST=44 *YSUN= N/A *YHUV= N/A *YPCP=40.2 *EOT*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 11:39:11 am
De momento la está enviando. Cuando cambiaste el scripts por este nuevo?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 11:50:12 am
Pues como 1 minuto antes de ejecutarlo manualmente. La hora del mensaje: 11:08
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 11:53:24 am
Ok lo puse como adjunto a las 8:32 y lo has puesto hace poco. Estaba preocupado viendo que habían fallos desde esa hora *-* *-*

No debería de fallar ya y siento que hayas tenido tantos fallos de envío.... gracias por hacer de betatester  :)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 05 de Febrero del 2020, 11:54:36 am
Por si acaso te recuerdo, no sé si tendrá que ver, yo en mi infinita ignorancia quiero repetir que ahora está conectada la raspi por WIFI. Quité la "asquerosidad" de PLC hace dos días.

Respecto del agradecimiento he de decir que no se merece en absoluto. He recibido muchísima mas ayuda de esta red de la que haya podido ofrecer en los 3 años que llevo aquí. Encantado de haber podido ayudar.
Saludos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 13:33:05 pm
El PLC podría dar problemas, es cierto, pero ya has posteado dónde estaba el error y gracias a ello he podido corregirlo y los fallos de envío eran del script.
No estoy muy familiarizado con Python (mucho más con JavaScript y PHP) y cada lenguaje tiene sus propios métodos y errores y sobre todo conversión de tipos de datos y hasta que no he dado con la fórmula para subsanarlo así hemos estado.

Creo que los logs se pueden mejorar poniendo a pie de log los envíos totales y cuántos han sido buenos y cuántos malos. Ya veré el cómo hacerlo... quizás lo mejor en vez de en cada día sería mejor poner un log de mes en el que poner esos datos por días para más fácil lectura en vez de tener que estar consultando log a log diario.

Si te va mejor con wifi sigue con ello.


Respecto del agradecimiento he de decir que no se merece en absoluto.


Sí que se merece y no vamos a discutir por eso  *+* *+*  Gracias a los betatesters se logran depurar los programas para librarlos de fallos que puedan afectar a otros.
Hay tantas cantidades de datos que pueden ir en la plantilla y de formatos que hay que dejarlo preparado para total compatibilidad.

Iré actualizando aquí la info si corrijo errores y voy dándole más funcionalidades para actualizarlo.

En este mes si la cosa va bien me gustaría dejar hecha una extensión para weewx que subiese la plantilla de meteoclimatic. Solamente sería descargarla, instalarla (cosa muy fácil con wee_extension) y configurar en weewx.conf opciones como estación, contraseña o log a la manera que se configura WU o awekas por ejemplo y prescindir de crontab etc.

Abriría un nuevo hilo al respecto.

Saludos

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 05 de Febrero del 2020, 20:04:25 pm
Bueno, he mejorado el sistema de logs... ahora creará en la carpeta log otra carpeta con el nombre del año en curso y en su interior carpetas con el nombre del mes y los días con sus envíos aceptados / no aceptados. A su vez en la carpeta del año se generará una archivo del mes en curso (Febrero.log en el caso de este mes) donde irá poniendo los días además del que está en curso con los envíos totales y los aceptados / no aceptados.

Creo que me gusta más cómo se queda ya que está todo mejor organizado y se puede ver en el log del mes de un vistazo cuántos envíos se hacen cada día y cuáles son buenos / malos.

El total del día cada cuarto de hora debe de ser de 96 envíos.

Lo pongo en el adjunto para quien lo quiera probar.

Telares, si quieres antes de que termine el día puedes copiar el log que tienes del día de hoy en la carpeta del mes y ya te los va contando.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 08:18:45 am
Hola, acabo de ponerlo. Luego te comento cómo va.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Febrero del 2020, 08:45:37 am
Hola

Parece que no ha subido la plantilla de las 8:31 .... le has dado permisos de ejecución al nuevo meteoclimatic.py ??
Siempre que se actualice el scripts hay que hacerlo.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 08:49:44 am
Ya me parecía a mí que tardaba en aparecer la nueva carpeta. A ver ahora.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 08:54:46 am
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
T=-b;-B;-b;2G;-b;2G;-13&H=1H;1I;1H;1U;p;1U;W&B=2eB;2eG;2e2;2h3;2dh;2j0;2dh&W=55;A;;e;4M;76&P=;O;6U&S=;;;&V=;;;&U=3a;ESCYL2400000024820A;ef5461bc64
Envio aceptado
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 08:56:03 am
Qué hago con las carpetas de los días 4,5 y 6?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Febrero del 2020, 09:03:22 am
Esos archivos ya no van a ser procesados para sacar los envíos aceptados / no aceptados y por lo tanto no saldrán los datos en el log mensual.
Puedes poner el del día de hoy y ya sí entrará en la elaboración del mensual.

Al tener la hora de tu raspi en UTC coincidirá con el IR que calcula meteoclimatic (cada envío son 0,05 pts en el primer tramo del IR.... 0,05 * 96 envíos posibles al día = 4,8 puntos, máximo que se puede conseguir en ese tramo al día)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 09:24:47 am
Bueno, pues ésto ya está. Este Log ha quedado muy bien y muy práctico:
Día 6   Totales: 3   Aceptados: 3   No Aceptados: 0
Por fin podemos tener acceso a esos datos que han sido reclamados por muchos de nosotros en numerosas ocasiones. Imprescindible para controlar la calidad de la conexión de nuestras estaciones.
Muy buen trabajo, jmviper!!!
Saludos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Audit en 06 de Febrero del 2020, 10:29:44 am
Bueno, pues ésto ya está. Este Log ha quedado muy bien y muy práctico:
Día 6   Totales: 3   Aceptados: 3   No Aceptados: 0
Por fin podemos tener acceso a esos datos que han sido reclamados por muchos de nosotros en numerosas ocasiones. Imprescindible para controlar la calidad de la conexión de nuestras estaciones.
Muy buen trabajo, jmviper!!!
Saludos.
Tienes que tener en cuenta que puede haber envíos no aceptados por problemas de los datos o la fecha que nada tienen que ver con la conexión.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Febrero del 2020, 11:01:56 am
Los logs sólo nos indican la respuesta del servidor de meteoclimatic al envío de la plantilla por lo que no entran a valorar si los datos están fuera de madre etc etc por lo que puede darse el caso de que la plantilla haya sido aceptada y no publicada por tener un valor disparatado de por ejemplo -45ºC. Meteoclimatic aceptará la plantilla porque esa será su respuesta pero saldrá en la ficha de la estación que la temperatura está fuera de rango por lo que no se publicará.

Como se ve los logs sólo nos orientan de la conectividad y aceptación del servidor, también puede ser que haya un envío aceptado y no publicado por causas internas del servidor.

Por cierto Telares si modificaste el crontab para que generase el log de errores quita esa parte de la línea ya que se puede hacer muy grande con el tiempo. También puedes borrar ese archivo de errores.log que sólo lo pusimos para ver dónde podía estar el fallo.

Y celebro que te guste... espero que los beneficios sean mejores que los problemas que ha dado al testearlo  :)

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Audit en 06 de Febrero del 2020, 11:10:33 am
A lo que me refiero, Jmviper, es que se puede dar el caso, que se dará, que alguien vea en el log que todos los envíos han sido aceptados, pero luego le falten puntos, porque si la plantilla no se publica, tampoco se aplican todos los puntos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 06 de Febrero del 2020, 11:18:01 am
Tienes que tener en cuenta que puede haber envíos no aceptados por problemas de los datos o la fecha que nada tienen que ver con la conexión.

Entendido y gracias por la aclaración. Mi estación no ha tenido especiales problemas de conexión, a pesar de tener internet 3G. No es raro verla con los 4.8 puntos del primer tramo.

Los logs sólo nos indican la respuesta del servidor de meteoclimatic al envío de la plantilla por lo que no entran a valorar si los datos están fuera de madre etc etc por lo que puede darse el caso de que la plantilla haya sido aceptada y no publicada por tener un valor disparatado de por ejemplo -45ºC. Meteoclimatic aceptará la plantilla porque esa será su respuesta pero saldrá en la ficha de la estación que la temperatura está fuera de rango por lo que no se publicará.

Como se ve los logs sólo nos orientan de la conectividad y aceptación del servidor, también puede ser que haya un envío aceptado y no publicado por causas internas del servidor.

Por cierto Telares si modificaste el crontab para que generase el log de errores quita esa parte de la línea ya que se puede hacer muy grande con el tiempo. También puedes borrar ese archivo de errores.log que sólo lo pusimos para ver dónde podía estar el fallo.

Y celebro que te guste... espero que los beneficios sean mejores que los problemas que ha dado al testearlo  :)

Saludos


Bien, en todo caso este Log es una herramienta muy buena para ayudar a mejorar la comunicación de nuestras estaciones, la cual, en principio tiene vocación de ser automática y en tiempo real.
Ya rehice el cron y borré errores.log
Beneficios todos, problemas ninguno, por mi parte.
Saludos y muchas gracias de nuevo.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Febrero del 2020, 11:22:01 am
Sí Audit, eso es algo que no estoy 100% seguro y que habrá que ir viendo (si estos 10 años hubiera estado usando Visual ya lo sabría  *+* *+*). Supongo que será como tú dices.

Lo que sí veo al poner un valor fuera de madre y probar a enviar la plantilla es que meteoclimatic responde con un campo *ERR= en el que sale los valores que no son aceptados y que nos salen en la lectura de la plantilla en la ficha de nuestra estación, por ejemplo: *ERR=TMP > DHTM;DLTM < MLTM;DLTM < YLTM;-30 < DLTM < 55

Esta tarde lo modificaré nuevamente para que salgan esos errores en el log y también ver la posibilidad de que nos puedan ser informados por correo aparte de que también nos sea informado si la plantilla no ha sido aceptada a partir de un número determinado de veces (por ejemplo 5 veces).

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Audit en 06 de Febrero del 2020, 13:20:05 pm
De la wiki (esa que nadie leemos):

"Tramo 1a

    Tramo 1a (máx. 4,8 puntos): Este tramo se actualiza cada vez que Meteoclimatic recibe una lectura de los datos de la estación.

Cada día se calcula este tramo:

            Si los datos se leen correctamente y son validados como correctos a nivel de servidor de Meteoclimatic, se acumulan 0,05 puntos.
            Si los datos se pueden leer, son actuales pero contienen algún error que provoca que el servidor los rechace (como valores fuera de rangos tolerables), se acumulan 0,025 puntos.
            Si no se han enviado datos nuevos o no se han podido leer, se acumularán 0 puntos.

Como es evidente, podemos ver en el log que tenemos todos los envíos, pero si nos está rechazando la plantilla por datos malos, no va a sumar lo que debe

El valor final, que es el usado para el cálculo diario del IR es la media de los últimos 30 días."
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Febrero del 2020, 15:05:42 pm

De la wiki (esa que nadie leemos):


+1
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 00:03:20 am
Bueno pues lo prometido es deuda y tras pelearme con Python durante un día creo que he hecho que funcione más o menos como yo quiero... falta que tras ir probándolo en el día a día vaya también bien.

He puesto en el primer mensaje de este hilo los dos zip de la utilidad, el que había hasta ahora sin correo por si hay que ponerlo porque el que lleva lo del correo vaya mal.

El del correo lleva al principio del script meteoclimatic.py unas opciones de configuración comentadas para ir rellenándolas.

La primera y  más importante es MANDAR_CORREO = False y con False no enviará correos y si le ponemos True sí que lo hará si hay plantilla no actualizada más de media hora, si hay errores (cada 8 plantillas que se tengan en el día) y si hay fallos de envíos (se pueden configurar en las opciones cada cuantos fallos se enviaría).

Las siguientes opciones son referentes a la configuración del correo electrónico que ya se explica en  el comentario de cada línea para lo que sirven.

Una consideración muy importante es que si utilizamos nuestra cuenta de Gmail para enviar los correos por defecto no podremos ya que Gmail bloquea el acceso a aplicaciones menos seguras, tendremos que desactivar esa característica y no tener la verificación en dos pasos tampoco.

Recomiendo que lo hagamos con una cuenta de Outlook o de Gmail o de cualquier otro que no usemos como email habitual (se puede hacer uno solamente para el caso).
Gmail tiene dos servidores smtp, uno implícito (puerto 465) y otro explícito con STARTTLS (puerto 587) que viene configurado por defecto. Se puede usar cualquiera de los dos poniendo el puerto correspondiente en ese campo.

La opción fallos_envio es el múltiplo de fallos de envío de la plantilla en la que recibiremos un email, por defecto es 5, así que cada 5 fallos de envío nos mandará un email. Se puede cambiar ese múltiplo.

La última línea es la de test_correo. Está por defecto con False y si le ponemos True nos servirá para probar manualmente (ejecutando directamente en el terminal meteoclimatic.py) si envía un correo de prueba con la configuración que le hayamos puesto. No se enviará la plantilla con él activado y tendremos que ponerlo en False para que la envíe y funcione normalmente el script.

Las últimas consideraciones es que lo he probado tanto en Python 2.7 como en Python 3.7 con éxito por lo que es compatible con esas versiones (será también con todas las versiones 3.x)

Y lo último es que irá todo en UTC, los logs etc menos la plantilla que si está en hora local la enviará en hora local. Yo de hecho lo he probado en local y creo que funcionará también con el sistema en UTC (con plantilla también en UTC).
Falta que lo probéis en UTC a ver si va bien o hay que retocarlo... lo de las fechas en Python es un poco lioso para el que no sepa manejarlas  ::) ::)

Como siempre hay que darle permisos de ejecución al nuevo meteoclimatic.py

A ver qué tal va para quien quiera probarlo.

saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:27:33 am
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 133, in <module>
    enviar_correo('Esto es una prueba del correo python de meteoclimatic','')
  File "./meteoclimatic.py", line 124, in enviar_correo
    server.login(msg['From'], password)
  File "/usr/lib/python2.7/smtplib.py", line 623, in login
    raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, '5.7.8 Username and Password not accepted. Learn more at\n5.7.8  https://support.google.com/mail/?p=BadCredentials u8sm6384491wmm.15 - gsmtp')
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 08:34:06 am
Hola Guillermo

Has concedido permiso en Gmail a o de las aplicaciones menos seguras ?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:36:37 am
Estoy con ello ahora, ya está. Lo que no veo es lo de la verificación en dos pasos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:39:53 am
El mensaje de prueba llegó ahora. Tenía también el puerto mal puesto.
Esto es una prueba del correo python de meteoclimatic
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:43:08 am
Ya he puesto lo de correo de prueba en False otra vez. Se supone que ahora lo dejo y a ver qué pasa con el tiempo?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 08:43:23 am
https://myaccount.google.com/security

Entre estas opciones de seguridad está lo de la verificación en dos pasos y lo de las aplicaciones menos seguras.

Qué puerto te ha ido mal ?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 08:45:37 am
Ya he puesto lo de correo de prueba en False otra vez. Se supone que ahora lo dejo y a ver qué pasa con el tiempo?

Una vez que has probado que los envía sí, ponlo en False y ya enviará el correo en una de las tres situaciones que puse anteriormente.
Lo que más me interesa es saber si con tu raspi en horario UTC funciona bien esta versión del script ya que maneja todas las fechas en UTC.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:50:35 am
Puse al principio puerto 587 pero busqué en la configuración del Tunderbird y allí pone que es el 465. De seguridad sólo he cambiado lo de permitir aplicaciones menos seguras, lo de verificación en dos pasos lo busco ahora, pero sin ello ha funcionado (dos pruebas hice)
Yo no sé si dió fallo el puerto o lo de las aplicaciones seguras que entonces no había activado. En el galimatías que te puse, tu qué entiendes?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:51:33 am
Ya he puesto lo de correo de prueba en False otra vez. Se supone que ahora lo dejo y a ver qué pasa con el tiempo?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 08:56:23 am
Lo de verificación en dos pasos ya estaba deshabilitado, no he tenido que hacer nada.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 09:01:29 am
Si no habías activado lo de las solicitudes menos seguras no te deja enviar ni por puerto 465 ni por el puerto 587.

Yo hice la prueba por los dos puertos (habiendo activado antes lo de las aplicaciones menos seguras) y envío el correo por los que por los dos puertos debería ir bien.
La diferencia es que en el puerto 465 ya empieza la conexión cifrada desde el inicio de la conexión (implícito) y por el 587 el servidor le pide al cliente que tiene que habilitar una conexión segura (STARTTLS). Los dos son seguros porque van cifrados, la diferencia es la negociación de la seguridad.

Y no actives lo de la verificación en dos pasos o no enviará el correo tampoco.

Como dije lo mejor es crear una cuenta al caso pero se puede usar la que usemos normalmente.

Lo de verificación en dos pasos ya estaba deshabilitado, no he tenido que hacer nada.

Ok entonces déjalo todo así.

También decirte que en los logs si hay errores de los valores de la plantilla quedarán registrados también.


Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 09:03:37 am
Parece que tienes la plantilla sin actualizar desde las 8:00 ...

Algún problema ? Si ves que no la sube ejecútalo manualmente y pon el fallo que pueda dar
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 09:07:09 am
Estoy con un correo que tenía pero que no uso.

Parece que tienes la plantilla sin actualizar desde las 8:00 ...

Algún problema ? Si ves que no la sube ejecútalo manualmente y pon el fallo que pueda dar


Supongo que será porque paré WeeWX antes de ponerme con todo. Alguna vez por no pararlo la he liado, así que ahora doy al stop a la mínima. Exceso de prudencia?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 09:08:50 am
La opción fallos_envio la puse en 1, por probar... Si me marea a enviar correos ,lo cambio.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 09:15:24 am
Para que otros usuarios vean lo que se pierden.... En Febrero.log va saliendo:
Día 6   Totales: 66   Aceptados: 66   No Aceptados: 0
Día 7   Totales: 96   Aceptados: 96   No Aceptados: 0
Día 8   Totales: 29   Aceptados: 29   No Aceptados: 0
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 09:16:54 am
Toda prudencia es poca jejeje no sólo con weewx sino con todos los programas en general.

Si pones esa opción a uno te mandaría un correo con cada fallo. Si hay alguno suelto puede que no moleste pero si se produce una caída de meteoclimatic sí que molestaría.

Mira a ver si van los logs y todo eso bien y me dices si ves algo raro.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 09:20:53 am
Bueno, ahora paradójicamente estoy deseando que haya algún fallo de envío. De momento "no hay un mensaje para mí"....
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 10:29:45 am
Bueno pues hay otra nueva actualización.

Hay dos clases de "Plantilla no aceptada", la que responde el servidor de meteoclimatic porque no es válido el envío (plantilla mal formada por ejemplo) o porque no se puede acceder al servidor de meteoclimatic porque está caído o porque la raspi no tenga acceso a internet.

Quedará registrado de las dos formas como envío no aceptado en el log mensual pero en el correo se explicitará si ha sido por fallo de conexión así como en el log del día.

Pongo nuevo adjunto y habrá que volver a configurar la sección de correo y darle permisos de ejecución nuevamente al script.

Con esto creo que ya lo dejaré como está a menos que haya algún fallo que salga y que haya que resolver.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 08 de Febrero del 2020, 10:35:33 am
Ya cambié el archivo .py  No hay que configurar nada? Lo ejecuto a ver?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 08 de Febrero del 2020, 11:33:52 am
Solamente poner los datos del correo.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 09 de Febrero del 2020, 12:58:27 pm
Hola, a las 10:30 hubo un envío no aceptado (2020-02-09 09:31:02 Envío no aceptado) No me ha llegado ningún correo. He revisado meteoclimatic.py y he visto que escribí mal smtp.gmail.com sin la m del final. Un copia-pega defectuoso. Ahora, bien escrito, quiero comprobar si envía el mensaje de prueba poniendo True en "test_correo" pero no me lo manda. No sé qué he hecho mal.

root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 133, in <module>
    enviar_correo('Esto es una prueba del correo python de meteoclimatic','')
  File "./meteoclimatic.py", line 110, in enviar_correo
    msg = MIMEMultipart()
NameError: global name 'MIMEMultipart' is not defined
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 09 de Febrero del 2020, 13:07:10 pm
Perdón ,había otro error de sintáxis. Ahora creo que está bien.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 09 de Febrero del 2020, 14:56:22 pm
Hola Telares

Dónde pusiste mal el segundo error de sintaxis ?? Te envió el de prueba ya bien ?

Es para ver porqué sale ese mensaje del mime
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 09 de Febrero del 2020, 15:54:13 pm
Quizá no sea correcto lo de error de sintaxis. Al principio de meteoclimatic.py pone algo así como "permitir mensajes". Había escrito Tru en vez de True. Después hice la prueba y sí me mandó el mensaje de prueba.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 09 de Febrero del 2020, 16:54:23 pm
Sí, generalmente un error de sintaxis es algo escrito en el script que el intérprete (en este caso de Python) al leerlo no entiende.

Se puede poner True o el número 1 que son booleanos para dar permiso o activar algo y False o el número 0 para decir que no, aunque pueden entrar más cosas en juego básicamente son esas las opciones para decir que sí o que no.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 08:51:01 am
Hola de nuevo, despues de infinitos intentos de instalación con nuevo script parece que tengo una que funciona. Ahora lo que ocurre es que ejecutando manualmente  meteoclimatic.py me dice que el formato de fecha no coincide. Tengo la última versión lite de raspbian.

root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Traceback (most recent call last):
  File "./meteoclimatic.py", line 127, in <module>
    fechaformat = datetime.strptime(fecha, '%d-%m-' + anho + ' %H:%M')
  File "/usr/lib/python2.7/_strptime.py", line 332, in _strptime
    (data_string, format))
ValueError: time data '$current.dateTime.format("%d-%m-%Y %H:%M")' does not match format '%d-%m-%y %H:%M'
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 09:46:02 am
Hola Telares

$current.dateTime.format("%d-%m-%Y %H:%M")

Ese es el valor de la plantilla sin rellenar... Qué plantilla has puesto en el Path de meteoclimatic.ini ?? Le tienes que poner la ya rellenada por weewx ... acaso /var/www/html/weewx/meteoclimatic.htm está sin los valores rellenados ?

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 11:43:40 am
nano /var/www/html/weewx/meteoclimatic.htm ( el SIG lo he borrado yo)

*VER=DATA2
*COD=ESCYL2400000024820A
*SIG=xxxxxxxxxxx
*UPD=$current.dateTime.format("%d-%m-%Y %H:%M")
*TMP=$current.outTemp.formatted
*WND=$current.windSpeed.formatted
*AZI=$current.windDir.formatted
*BAR=$current.barometer.formatted
*HUM=$current.outHumidity.formatted
*SUN=$current.radiation.formatted
*UVI=$current.UV.formatted
*DHTM=$day.outTemp.max.formatted
*DLTM=$day.outTemp.min.formatted
*DHHM=$day.outHumidity.max.formatted
*DLHM=$day.outHumidity.min.formatted
*DHBR=$day.barometer.max.formatted
*DLBR=$day.barometer.min.formatted
*DGST=$day.windGust.max.formatted
*DSUN=$day.radiation.max.formatted
*DHUV=$day.UV.max.formatted
*DPCP=$day.rain.sum.formatted
*WRUN=
*MHTM=$month.outTemp.max.formatted
*MLTM=$month.outTemp.min.formatted
*MHHM=$month.outHumidity.max.formatted
*MLHM=$month.outHumidity.min.formatted
*MHBR=$month.barometer.max.formatted
*MLBR=$month.barometer.min.formatted
*MGST=$month.windGust.max.formatted
*MSUN=$month.radiation.max.formatted
*MHUV=$month.UV.max.formatted
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 11:59:30 am
Como ves la plantilla está sin rellenar. Esa es la plantilla que te bajas de meteoclimatic sin los valores rellenados y que debería llamarse meteoclimatic.htm.tmpl y estar en el skin Seasons para convertirse en ese meteoclimatic.htm que sube la utilidad de envío.

Revisa los pasos para configurar la plantilla con weewx:

http://wiki.meteoclimatic.net/wiki/WeeWX_y_Meteoclimatic
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 13:28:40 pm
Perdona pero seguramente lo tenga delante y no lo veo. Lo he repasado todo 20 veces y no entiendo qué pasa.

root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py

Ruta o nombre de la plantilla incorrectos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 13:44:59 pm
root@raspberrypi:~# ls /etc/weewx/skins/Seasons
about.inc            current.inc  identifier.inc          NOAA           seasons.css  statistics.html.tmpl  telemetry.html.tmpl
analytics.inc        favicon.ico  index.html.tmpl         radar.inc      seasons.js   statistics.inc        titlebar.inc
celestial.html.tmpl  font         map.inc                 rss.xml.tmpl   sensors.inc  sunmoon.inc
celestial.inc        hilo.inc     meteoclimatic.htm.tmpl  satellite.inc  skin.conf    tabular.html.tmpl


Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 13:47:06 pm
Pregunta tonta: la contraseña de meteoclimatic.ini es el SIG?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 14:50:49 pm
Pregunta tonta: la contraseña de meteoclimatic.ini es el SIG?

Es la contraseña con la que entras a tu estación en meteoclimatic.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 14:55:16 pm
Veamos, si tienes meteoclimatic.htm.tmpl en el skin y tienes configurado skin.conf para que genere la plantilla debería estar creándote la plantilla en /var/www/html/weewx/meteoclimatic.htm con los valores de la estación en su interior.

Qué ruta que le tienes puesto a Path= en meteoclimatic.ini para que diga Ruta o nombre de la plantilla incorrectos ?

Si dice eso y está puesto /var/www/html/weewx/meteoclimatic.htm es que entonces no está la plantilla ahí.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 15:36:02 pm
Otra cosa que puede que suceda es que si tienes el weewx.conf antiguo el skin que tengas activo sea el Standard. Tendrás que ver qué skin te está generando weewx para poner en él la plantilla y configurarla.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 16:19:33 pm
Voy a intentar hacer un repaso de lo que creo que necesito para volver a subir datos a Meteoclimatic:

 -WeeWX corriendo libremente en un ordenador con conexión a internet

 -una plantilla llamada tpl.php (descargada de mi página de la estación ) que renombro a meteoclimatic.htm.tmpl y sitúo en
    /etc/weewx/skins/Seasons :

            root@raspberrypi:~# ls /etc/weewx/skins/Seasons
            about.inc            current.inc  identifier.inc          NOAA           seasons.css  statistics.html.tmpl  telemetry.html.tmpl
            analytics.inc        favicon.ico  index.html.tmpl         radar.inc      seasons.js   statistics.inc        titlebar.inc
            celestial.html.tmpl  font         map.inc                 rss.xml.tmpl   sensors.inc  sunmoon.inc
            celestial.inc        hilo.inc     meteoclimatic.htm.tmpl  satellite.inc  skin.conf    tabular.html.tmpl

 -skin.conf (/etc/weewx/skins/Seasons) con estas líneas añadidas:
     [[[MeteoClimatic]]]
                template = meteoclimatic.htm.tmpl

 -meteoclimatic.py  y meteoclimatic.ini en una carpeta llamada meteoclimatic cuya ruta es : /root/meteoclimatic

 -meteoclimatic.ini lo edito:     Log=1
                                             Path=/var/www/html/weewx/meteoclimatic.htm
                                             Password=Contraseña de entrar el la página de Matueca

 -meteoclimatic.py le doy permisos de ejecución: root@raspberrypi:~/meteoclimatic# chmod u+x meteoclimatic.py

 -ejecuto manualmente:                         root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py

                                                            Ruta o nombre de la plantilla incorrectos


Otra cosa que puede que suceda es que si tienes el weewx.conf antiguo el skin que tengas activo sea el Standard. Tendrás que ver qué skin te está generando weewx para poner en él la plantilla y configurarla.

El weewx.conf es nuevo, todo es lo nuevo menos la sdb. Estaba ahora mirando precisamente cómo es ahora el weewx.conf y veo que lo de la skin viene diferente. Por una parte:
[[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true

Y por otra:
 [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = false
Mientras que el antiguo:
  [[StandardReport]]
        # See the customizing guide to change the units, plot types and line
        # colors, modify the fonts, display additional sensor data, and other
        # customizations. Many of those changes can be made here by overriding
        # parameters, or by modifying templates within the skin itself.

        # The StandardReport uses the 'Standard' skin, which contains the
        # images, templates and plots for the report.
        skin = Standardmia



Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 16:45:30 pm
Parece todo correcto pero parece ser que no está generando /var/www/html/weewx/meteoclimatic.htm

Puedes adjuntar en un zip el skin.conf de Seasons ? Está hecho con la sangría de Python y ya se ha dado el caso de que si se pone mal no se genera la plantilla.

Así le hecho un vistazo y veo si hay algo mal.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 17:07:11 pm
No, no se ve nada raro, se ve correcto.

Pon el resultado de ejecutar ls -l /var/www/html/weewx
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 17:10:12 pm
root@raspberrypi:~# ls -l /var/www/html/weewx
total 636
-rw-r--r-- 1 root root  3865 feb 12 16:05 celestial.html
-rw-r--r-- 1 root root  7294 feb 12 16:05 daybarometer.png
-rw-r--r-- 1 root root  6072 feb 12 16:05 dayhum.png
-rw-r--r-- 1 root root  5935 feb 12 16:05 dayradiation.png
-rw-r--r-- 1 root root  6132 feb 12 16:05 dayrain.png
-rw-r--r-- 1 root root  5894 feb 12 16:05 dayrx.png
-rw-r--r-- 1 root root  8842 feb 12 16:05 daytempdew.png
-rw-r--r-- 1 root root  6846 feb 12 16:05 daytempfeel.png
-rw-r--r-- 1 root root  7352 feb 12 16:05 daytempin.png
-rw-r--r-- 1 root root  8233 feb 12 16:05 daytemp.png
-rw-r--r-- 1 root root  5269 feb 12 16:05 dayuv.png
-rw-r--r-- 1 root root 11168 feb 12 16:05 dayvolt.png
-rw-r--r-- 1 root root  8349 feb 12 16:05 daywinddir.png
-rw-r--r-- 1 root root  9568 feb 12 16:05 daywind.png
-rw-r--r-- 1 root root  8048 feb 12 16:05 daywindvec.png
-rw-r--r-- 1 root root  1150 feb 12 15:06 favicon.ico
drwxr-xr-x 2 root root  4096 feb 11 23:25 font
-rw-r--r-- 1 root root 21272 feb 12 16:05 index.html
-rw-r--r-- 1 root root   513 feb 12 16:05 meteoclimatic.htm
-rw-r--r-- 1 root root  7795 feb 12 15:06 monthbarometer.png
-rw-r--r-- 1 root root  7687 feb 12 15:06 monthhum.png
-rw-r--r-- 1 root root  5649 feb 12 15:06 monthradiation.png
-rw-r--r-- 1 root root  6064 feb 12 15:06 monthrain.png
-rw-r--r-- 1 root root  5719 feb 12 15:06 monthrx.png
-rw-r--r-- 1 root root 10340 feb 12 15:06 monthtempdew.png
-rw-r--r-- 1 root root  9198 feb 12 15:06 monthtempfeel.png
-rw-r--r-- 1 root root  7533 feb 12 15:06 monthtempin.png
-rw-r--r-- 1 root root  7943 feb 12 15:06 monthtemp.png
-rw-r--r-- 1 root root  4976 feb 12 15:06 monthuv.png
-rw-r--r-- 1 root root 10877 feb 12 15:06 monthvolt.png
-rw-r--r-- 1 root root  9079 feb 12 15:06 monthwinddir.png
-rw-r--r-- 1 root root 10640 feb 12 15:06 monthwind.png
-rw-r--r-- 1 root root  7766 feb 12 15:06 monthwindvec.png
drwxr-xr-x 2 root root  4096 feb 12 16:05 NOAA
-rw-r--r-- 1 root root  6111 feb 12 16:05 rss.xml
-rw-r--r-- 1 root root  5106 feb 12 15:06 seasons.css
-rw-r--r-- 1 root root  6232 feb 12 15:06 seasons.js
-rw-r--r-- 1 root root 14892 feb 12 16:05 statistics.html
-rw-r--r-- 1 root root  3024 feb 12 16:05 tabular.html
-rw-r--r-- 1 root root  5200 feb 12 16:05 telemetry.html
-rw-r--r-- 1 root root  8766 feb 12 16:00 weekbarometer.png
-rw-r--r-- 1 root root  7557 feb 12 16:00 weekhum.png
-rw-r--r-- 1 root root  5884 feb 12 16:00 weekradiation.png
-rw-r--r-- 1 root root  5884 feb 12 16:00 weekrain.png
-rw-r--r-- 1 root root  5810 feb 12 16:01 weekrx.png
-rw-r--r-- 1 root root 11320 feb 12 16:00 weektempdew.png
-rw-r--r-- 1 root root  8720 feb 12 16:00 weektempfeel.png
-rw-r--r-- 1 root root  8155 feb 12 16:00 weektempin.png
-rw-r--r-- 1 root root  8175 feb 12 16:00 weektemp.png
-rw-r--r-- 1 root root  5225 feb 12 16:00 weekuv.png
-rw-r--r-- 1 root root 11091 feb 12 16:01 weekvolt.png
-rw-r--r-- 1 root root  8857 feb 12 16:00 weekwinddir.png
-rw-r--r-- 1 root root 10799 feb 12 16:00 weekwind.png
-rw-r--r-- 1 root root  8055 feb 12 16:00 weekwindvec.png
-rw-r--r-- 1 root root  7211 feb 12 00:01 yearbarometer.png
-rw-r--r-- 1 root root 10116 feb 12 00:02 yearhilow.png
-rw-r--r-- 1 root root  8101 feb 12 00:01 yearhum.png
-rw-r--r-- 1 root root  5114 feb 12 00:02 yearradiation.png
-rw-r--r-- 1 root root  6409 feb 12 00:01 yearrain.png
-rw-r--r-- 1 root root  5224 feb 12 00:02 yearrx.png
-rw-r--r-- 1 root root 10533 feb 12 00:01 yeartempdew.png
-rw-r--r-- 1 root root  8154 feb 12 00:01 yeartempfeel.png
-rw-r--r-- 1 root root  8099 feb 12 00:01 yeartempin.png
-rw-r--r-- 1 root root  7417 feb 12 00:01 yeartemp.png
-rw-r--r-- 1 root root  4436 feb 12 00:02 yearuv.png
-rw-r--r-- 1 root root 10353 feb 12 00:02 yearvolt.png
-rw-r--r-- 1 root root  8712 feb 12 00:02 yearwinddir.png
-rw-r--r-- 1 root root 11285 feb 12 00:02 yearwind.png
-rw-r--r-- 1 root root  7733 feb 12 00:02 yearwindvec.png
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 17:26:47 pm
No, lo de abrir puertos es una de las cosas que me han traído de cabeza estos días. No tengo claro ningún concepto y además en el router no veo nada que diga claramente "abrir puertos" aunque fuese en inglés. Puedo decirte que me ha costado un huevo conectarla por wifi y que la asigné una IP fija.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 17:30:52 pm
Ok he modificado el script

Edita meteoclimatic.py con nano meteoclimatic.py y desciende hasta las líneas donde pone esto:

for i in inicont:
   if '=' in i:
      valor = i.strip().split('=')
      values[valor[0]] = valor[1]


y déjalas así:

for i in inicont:
   if '=' in i:
      valor = i.split('=')
      values[valor[0].strip()] = valor[1].strip()


No copies y pegues

De todas formas lo pondré en un nuevo adjunto pero no tendrá configuradas las opciones del correo.

En cuanto a lo de abrir el puerto de momento lo dejamos.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 17:38:25 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
T=25;2E;8;2d;-c;2d;-13&H=u;1O;q;1U;o;1U;W&B=2cc;2eA;2cc;2h3;2cc;2j0;2cc&W=3d;;;1w;4M;76&P=;y;74&S=;;;&V=;;;&U=3a;ESCYL2400000024820A;fffb94d8f2
Envio aceptado
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 12 de Febrero del 2020, 17:44:35 pm
Perfecto

En el meteoclimatic.ini habría algún espacio alrededor de los valores. Con la modificación que le hemos hecho no deberá ya haber problema.

Siento el mal rato que has pasado  ;)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 12 de Febrero del 2020, 17:55:16 pm
Desde mi punto de vista lo que haces está muy próximo a la magia. No te preocupes porque me ofrecí voluntariamente a hacer de conejillo de indias y me emperré a la vez, y sin tener ni idea, a conectarla por WIFI. Ahora voy con lo del crontab.
Saludos y muchísimas gracias.

P.D.: en cuanto pasen unos días, llevo varios dedicados a ésto, vuelvo a poner lo de envío de mensajes. Ahora hay 23 en la bandeja de entrada con aviso de plantilla no actualizada.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 14 de Febrero del 2020, 17:17:39 pm
Hola, vuelve Matueca a estar fuera del mapa. Es problema mío o del .py?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 14 de Febrero del 2020, 17:26:18 pm
Hola, vaya.... qué te pone al ejecutar meteoclimatic.py manualmente ?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 14 de Febrero del 2020, 17:33:12 pm
root@raspberrypi:~/meteoclimatic# ./meteoclimatic.py
Plantilla no actualizada
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 14 de Febrero del 2020, 17:34:35 pm
Has mirado que esté actualizada la plantilla ? Es para ir descartando cosas.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 14 de Febrero del 2020, 17:42:37 pm
Fue lo primero que miré (14-02-2020 13:16 UTC: No actualizada) pero como veo que WeeWX sí actualiza pensé en el script.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 14 de Febrero del 2020, 17:53:48 pm
Pues no sé así como de buenas a primeras ha dejado de actualizar.

Adjunta la plantilla quitando el sig y meteoclimatic.ini quitando la contraseña. Adjuntos, no copiados y pegados y los pruebo yo.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Telares en 14 de Febrero del 2020, 18:37:03 pm
Fui yo. Pido un millón de disculpas. Esta mañana me puse a toquetear la skin. Como nada me gustó, me bajé una nueva de la web de WeeWX y la sustituí. Olvidé añadir la plantilla. No vuelvo a tocar nada, no es lo mío.
Perdón por las molestias.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 14 de Febrero del 2020, 18:43:49 pm
Ok tranquilo, a veces ocurre cuando lo ponemos todo en marcha y estamos probando cosas que queremos poner que nos ocurran estas cosas.

Mejor que haya sido solo eso.

saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 19 de Agosto del 2020, 17:58:01 pm
Buenas,

Primero, felicitar al autor del script por su gran trabajo, y al conejillo de indias que ha hecho posible su mejora.  :aplaude1:

Tras leer todo el hilo me surgen un par de dudas, ahí van:

   - ¿Es compatible con Wview (Sí, aún quedamos usuarios de wview a fecha de hoy  *-*) si cambiamos la ruta que se especifica en el archivo .ini para adecuarla a wview?

   - ¿Cómo funciona realmente el envío de la plantilla con el script, es mediante ftp o algún otro protocolo de envío de archivos? Estoy muy pez con el tema ftp, por eso pregunto...

   - ¿Es necesario tener algún puerto del router abierto para que el envío sea efectivo, o basta con tener (en mi caso) la raspberry conectada a internet de manera convencional (sin ip fija)?

Un saludo y gracias
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 19 de Agosto del 2020, 19:08:20 pm
Buenas,

   - ¿Es compatible con Wview (Sí, aún quedamos usuarios de wview a fecha de hoy  *-*) si cambiamos la ruta que se especifica en el archivo .ini para adecuarla a wview?

Claro, es compatible siempre que tengas instalado Python en el ordenador que vaya a encargarse de la rutina.

Citar
   - ¿Cómo funciona realmente el envío de la plantilla con el script, es mediante ftp o algún otro protocolo de envío de archivos? Estoy muy pez con el tema ftp, por eso pregunto...

Eso lo tendrá que decir el autor, pero creo que es la apertura de una sesión HTTP normal y corriente.

Citar
   - ¿Es necesario tener algún puerto del router abierto para que el envío sea efectivo, o basta con tener (en mi caso) la raspberry conectada a internet de manera convencional (sin ip fija)?

Solo es necesaria la conexión a internet.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 19 de Agosto del 2020, 19:13:20 pm
Genial. Gracias Jantoni :)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 19 de Agosto del 2020, 19:23:50 pm
Ah, en la misma medida sería compatible con WeatherDisplay Console, y otros tantos programas meteorológicos escritos para Linux.

Y también, como no, de CumulusMX si se ejecuta en Linux con la ayuda de Mono.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 19 de Agosto del 2020, 20:16:02 pm
Hola PacoJavi

Ya ha respondido jantoni a todo y él también me ayudó probándolo cuando estaba en fase beta..... bueno.... quizás todavía pueda seguir estándolo porque poca gente lo probó, el único que conozco es Telares que gentilmente  *-* *-* se ofreció en este mismo hilo y gracias a él se pudieron depurar varios fallos.

No hace falta abrir puertos en el router ni tocar nada del cortafuegos. El envío como dice jantoni es un simple GET por http al servidor de meteoclimatic con un query de datos en una formato especial, nada de FTP.

Funciona tanto en Python 2 como en el 3 por lo que si lo tienes instalado en el sistema que tienes Wview y éste genera la plantilla para meteoclimatic es simplemente ejecutarlo. Como dice jantoni simplemente sube la plantilla a meteoclimatic independientemente del programa que la genere. Incluso podría funcionar en Windows con solo cambiar rutas.

Si lo pruebas y te surge algún problema puedes ponerlo en un nuevo hilo.

saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 19 de Agosto del 2020, 20:40:56 pm
Gracias jmviper.

Estoy ayudando en lo que puedo a colocar una estación nueva, y probablemente funcione con Wview por un tiempo, hasta que me familiarice con Weewx.

El proveedor de Internet que hay disponible en la zona parece ser wimax, y francamente, no se si será posible la apertura del puerto 80 del router para que el robot coja la plantilla directamente del servidor que es como yo lo tengo en mis 2 estaciones, de modo que estoy explorando opciones.

Me quedo más tranquilo sabiendo que esta utilidad parece funcionar sin problemas simplemente con tener el sistema conectado a internet.

Un saludo.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 20 de Febrero del 2021, 21:48:33 pm

Lo podremos probar entonces con ./meteoclimatic.py y si pone envío aceptado es que hemos tenido éxito, si no, habrá que ver que ocurre.

Lo siguiente para automatizar la subida es editar el crontab poniendo la ruta en la que está el script. Si por ejemplo lo tenemos en una carpeta llamada meteoclimatic en /home/pi ponemos en una nueva línea con crontab -e

16,31,46,59 * * * * /home/pi/meteoclimatic/meteoclimatic.py


Hola a todos,

Pues lo he intentado y me he quedado en lo de crontab.
He puesto log=1 y el password de mi estación en meteoclimatic. He probado ./meteoclimatic.py y..., ok. Envio aceptado.
Tengo la carpeta log creada. pero no ser donde o que es eso de crontab.
A parte, hay que editar alguna cosa en el archivo meteoclimatic.py?. En algún otro lugar?.
Una vez terminado el proceso (si lo consigo), cual seria la dirección que tengo que poner en el panel de mi estación de meteoclimatic?.

Gracias y saludos!
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 20 de Febrero del 2021, 22:38:17 pm
Hola de nuevo Samal

El crontab es el equivalente al Programador de tareas de Windows. En Linux es un servicio llamado cron el que lee entre otras cosas ese crontab (pestaña del cron) para ir ejecutando lo que le hayamos puesto que ejecute en sus intervalos de tiempo.

Concretamente lo que le has puesto es que envíe la plantilla los minutos 16, 31, 46 y 59 de cada hora, los necesarios para que suba todas las plantillas posibles.

No tienes que hacer nada más. El log irá creando carpetas con fechas donde se vean los que han subido con éxito y los que no y no, no tienes que poner nada en la ficha de tu estación. En meteoclimatic.py si lo editas en la parte superior están las opciones. Entre ellas que te avise por email de si no se actualiza la plantilla porque weewx o la estación se han quedado pillados.

En cuanto a lo de recargarse la página index.htm que lo he visto en otro hilo puedes poner un sencillo JavaScript en /etc/weewx/skins/Seasons/index.html.tmpl

Tras la etiqueta <head> pones esto:

Código: [Seleccionar]
<script>

setInterval(function(){var d = new Date(); if (d.getMinutes() % 5 == 0 && d.getSeconds() > 30) location.reload();}, 30000);

</script>

Ese script hará que cada minuto múltiplo de 5 se recargue la página. Vendrá bien si se te genera el index.html cada cinco minutos

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 20 de Febrero del 2021, 23:22:44 pm
No tienes que hacer nada más. El log irá creando carpetas con fechas donde se vean los que han subido con éxito y los que no y no, no tienes que poner nada en la ficha de tu estación.

Ok, perfecto pero estare mas tranquilo cuando vea que me sube los datos a la estación de meteoclimatic. y..., me falta este apartado:
cual seria la dirección que tengo que poner en el panel de mi estación de meteoclimatic?.

Y lo de refrescar la pagina..., a por ello que voy. Muchas gracias!.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 20 de Febrero del 2021, 23:36:42 pm
Usando la utilidad de envío no tienes que poner nada en esa dirección.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 20 de Febrero del 2021, 23:52:09 pm

En cuanto a lo de recargarse la página index.htm que lo he visto en otro hilo puedes poner un sencillo JavaScript en /etc/weewx/skins/Seasons/index.html.tmpl

Tras la etiqueta <head> pones esto:

Código: [Seleccionar]
<script>

setInterval(function(){var d = new Date(); if (d.getMinutes() % 5 == 0 && d.getSeconds() > 30) location.reload();}, 30000);

</script>

Ese script hará que cada minuto múltiplo de 5 se recargue la página. Vendrá bien si se te genera el index.html cada cinco minutos

Sin mas comentarios. Probado y.....  plau2 apla3
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 21 de Febrero del 2021, 00:04:02 am
Ok, perfecto pero estare mas tranquilo cuando vea que me sube los datos a la estación de meteoclimatic. y..., me falta este apartado:
cual seria la dirección que tengo que poner en el panel de mi estación de meteoclimatic?.

Anda  :; si ya esta subiendo datos  *-* *-*. Haber ahora como soluciono o por donde el desfase de los 13 hPa que me pone weewx de mas.
Edito: ufff, no, se be que ha enviado datos a las 20:25 y allí se ha quedado  :-[
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 21 de Febrero del 2021, 07:02:39 am
Editaste el crontab y le pusiste los intervalos de subida de la plantilla ?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 21 de Febrero del 2021, 10:35:48 am
Editaste el crontab y le pusiste los intervalos de subida de la plantilla ?

Pues claro que NO. Seria extraño que hiciera alguna cosa bien a la primera.

Pero como aun no lo tengo claro. Ya dije que no lo entendía.

Si por ejemplo lo tenemos en una carpeta llamada meteoclimatic en /home/pi ponemos en una nueva línea con crontab -e

16,31,46,59 * * * * /home/pi/meteoclimatic/meteoclimatic.py


Osea, yo puse lo siguiente y me dijo que el envio estaba aceptado: /home/pi/Meteoclimatic/meteoclimatic.py

Pero no acabo de entender que tengo que poner:

16,31,46,59/home/pi/Meteoclimatic/meteoclimatic.py

Lo siento, estoy ciego en este tema, no me entero  :;
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 21 de Febrero del 2021, 16:06:17 pm
crontab es un fichero especial donde ponemos líneas con intervalos de tiempo y órdenes a ser ejecutadas en esos intervalos.

Para entrar a editarlo en el terminal ponemos crontab -e y si simplemente queremos ver lo que pone ponemos crontab -l

Lo que tienes que hacer es entrar en él con crontab -e para editarlo y añadir al final en una nueva línea lo que dice de ponerse:

16,31,46,59 * * * * /home/pi/meteoclimatic/meteoclimatic.py

Como ves en la parte izquierda está el intervalo de tiempo. En los minutos 16, 31, 46 y 59 de cada hora ejecutará la orden de la derecha que es el script que sube la plantilla a meteoclimatic.

Hay espacio a ambos lados de cada asterisco, tenlo presente.

Tras poner esa línea guardas con CTRL + o (letra o) y le das a enter y sales con CTRL + x. Pondrá installing new crontab al salir de nuevo al terminal.

Si todo va bien irá ejecutándose el script en los intervalos establecidos en el crontab.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 21 de Febrero del 2021, 16:59:54 pm
Hola,
Aquí pongo el contenido de crontab -l :
Código: [Seleccionar]
pi@raspberrypi:~ $ sudo su
root@raspberrypi:/home/pi# crontab -l
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h  dom mon dow   command
16,31,46,59 * * * * /home/pi/Meteoclimatic/meteoclimatic.py
root@raspberrypi:/home/pi#
He puesto Meteoclimatic en mayuscula porque asi tengo el nombre de la carpeta.

Y si, cuando lo he puesto me ha respondido lo siguiente:
Código: [Seleccionar]
crontab: installing new crontab
root@raspberrypi:/home/pi#

Ahora supongo que tardara un ratito en ir actualizando

Hay cosas que si no se me explican como a un niño de cuna, no me entran. LO siento.
Gracias!!.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 21 de Febrero del 2021, 21:30:28 pm
Bueno, lleva toda la tarde actualizando bien.
Llevo ya un buen rato intentando estabilizar el Barómetro.
He bajado de 133 metros de altitud que tenia puestos a 24.
Me lo miro sobre todo con una estación que imagino es muy fiable : https://www.meteoclimatic.net/perfil/ESCAT0800000008100C
Estará a unos 5 km de la mía. Luego también comparo con las de alrededor con vuestro mapa y el de awekas.
Si hay alguna variación (que seguro que la hay), tiene que ser de como mucho 0.5 hPa. Lo que pasa es que al no salir los decimales a veces una estación puede estar a diferencia de la otra a 1hPa.
Lo que me tocaría poder hacer seria poder resetear datos de weewx. Y poder empezar de cero. Como me leía la presión a 1030 o 1040 hPa, cuando envía datos me pone esas máximas. He intentado aquí en meteoclimatic modificarlo manualmente y me lo vuelve a machacar.

Imagino hay que hacerlo por la base de datos. Cuando accedía a bases de datos lo hacia desde paneles de host.
Haber si averiguo como hacerlo por aquí.

Y de momento..., pues si veis que he dicho alguna cosa incoherente agradecería me lo dijerais. Mi intención es poderlo tener todo correcto.

Muchas gracias por todo. Saludos!
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 21 de Febrero del 2021, 22:43:57 pm
Dónde has cambiado la altitud ? En la estación o en weewx ?

Borrar la BBDD de weewx es fácil.

Detienes weewx con sudo service weewx stop y después la borras con sudo rm /var/lib/weewx/weewx.sdb y luego vuelves a poner en marcha weewx con sudo service weewx start

En esa ruta está la BBDD y en ella hay diferentes tablas, una llamada archive para los registros cincominutales o en el intervalo que tengamos y los diarios.

Todos los valores máximos/mínimos que rellena weewx en la plantilla son de los diarios, incluida la lluvia que es la suma de las cantidades totales diarias.

De todas formas el cálculo de la presión no es un simple offset, hay fórmulas para ella algo complejas en las que interviene además de la presión del aire, la temperatura e incluso la humedad por lo que no siempre se tiene el mismo offset.

Ya sabes que si borras BBDD de weewx las máximas/mínimas que envíe al haberla reseteado pueden no coincidir con las que tengas en tu BBDD en meteoclimatic.

Mira primero el tema de la altitud en tu estación, es mucha diferencia de 133 a 24 m, eso equivale a unos 11 hPa, aunque yo tenía la Oregon WMR100 que le tenía que poner 100 metros más de altitud de los que tengo.


Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 21 de Febrero del 2021, 23:30:12 pm
Hola campeón!.

La altitud la he cambiado en weewx.conf. He ido modificando hasta llegar a esa altitud para ajustar lo máximo posible a las estaciones mas cercanas. En concreto la que te he puesto el enlace. Incluso con ella he podido ajustar un poco mas ya que en awekas si salen las decimas:
https://www.awekas.at/es/instrument.php?id=18401 (la mía)
https://www.awekas.at/es/instrument.php?id=2060 (la otra, a unos 5 km si llega).
En concreto, como awekas si me fue fácil configurar en weewx para subir allí los datos, tuve que ajustar a -13 en el panel de la estación para que no se vieran las burradas hPa que daba. Se acercaba a 1050 +/-. Y aquí en meteoclimatic también, desde que conecte desde weewx aunque no subieran los datos paulatinamente pero a la que subieron una vez ya dejaron estas barbaridades en vuestra base de datos.
De todas formas, yo no se si tiene algo que ver el que la otra estación este casi en centro ciudad y la mia como se puede ver en las fotos esta en una parte bastante alta en comparación a la otra y también se puede ver en una de las fotos el Montseny a unos 24 kilómetros al norte así como a unos 2,5 kilómetros el circuito de Barcelona-Cataluña. No tengo ni idea de si eso puede influir en los Pha.

La verdad, no ser si coger, volver a borrar la estación de aquí y resetear los datos de weewx.

Haber si a vosotros os parece bien esta opción. Aunque yo esperaría unos días y que se pueda estar seguro que weewx esta lo mas ajustado que pueda. Prefiero que si empiezo una estación nueva ya no hayan inconsistencias. Podría empezar el día 01/03 que es dentro de una semana justa.

Preferiría vuestro consejo en esto ya que vosotros tenéis muchísimo mas claro la mejor manera de proceder en estas cosas.

Yo, de mientras puedo ir mirando de que los datos sean todos lo mas correctos posibles e ir traduciendo un poco el weewx porque el ingles y yo no nos entendemos  *-*.

También mañana me llega un nuevo juguete llamado raspberry. Con ese quiero hacer pruebas con windows etc. Y....., la he pillado igual que la que tengo. O sea, la que hace correr el weewx. Ya que estoy aquí, no ser si vosotros lo sabéis seguro, pero yo imagino que cambiando la sd de una raspberry a la otra debería funcionar igual. De paso, si un día se me estropeara la placa tendría una de recambio.

Bien, una vez mas, muchas gracias por todo y también, saludos de nuevo.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 22 de Febrero del 2021, 00:33:34 am
No conozco tu estación (como casi ninguna de la hornada moderna de wifi... uno que se hace viejo  *+* *+*) pero lo mejor sería ver si tiene la opción en su configuración de ponerle la altitud para compensar el barómetro. Si transmite a weewx la absoluta entonces es weewx el que calculará la relativa en base a la altitud que se le haya puesto.

En cuanto a lo de borrar la estación, muchos lo han hecho por lo que te ha pasado a ti, han probado con ella, se les han quedado malos datos por las pruebas iniciales de puesta en marcha y han optado por borrarla y crear una nueva.

Puedes hacerlo perfectamente afinando weewx con la estación anteriormente como estás haciendo.

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 08 de Marzo del 2021, 13:19:50 pm
Hola, ya estoy aquí de nuevo.

He ido controlando la estación y la presión la marca bien comparándola con los valores del enlace que me paso jantoni: https://xcweather.co.uk/ES/observations . Por lo tanto, creo ha llegado la hora de poner los datos de meteoclimatic en orden. Ya resetee los datos de la base datos de weewx. Por lo tanto, ahora el único problema es que en la base de datos de meteoclimatic hay datos antiguos erróneos.

Quisiera borrar esta estación y crearla de nuevo. Aquí vienen mis dudas:
Tendré que volver a realizar todos los pasos para que meteoclimatic reciba otra vez los datos de weewx?.
Con el faenón que me dio  :;. Por no saber claro.

Gracias y saludos!
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 08 de Marzo del 2021, 13:27:14 pm
La pregunta es

¿Son tan disparatados los datos antiguos que justifican un borrado de estación?

Yo me lo pensaría *+* *+* *+* *+*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 08 de Marzo del 2021, 13:30:57 pm
Es más, yo no veo datos que lo justifiquen.

Yo lo dejaría tal como está  *-*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 08 de Marzo del 2021, 13:44:47 pm
Es más, yo no veo datos que lo justifiquen.

Yo lo dejaría tal como está  *-*

Pues como tengo tu permiso lo dejo tal cual esta  *-* *-* *-*

No vaya a liarla ahora que funciona  :;

Gracias jantoni. Un saludo!
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 08 de Marzo del 2021, 14:34:48 pm
A mandar O0 O0 O0
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Ubik en 08 de Marzo del 2021, 19:02:53 pm
Es más, yo no veo datos que lo justifiquen.

Yo lo dejaría tal como está  *-*

Pues como tengo tu permiso lo dejo tal cual esta  *-* *-* *-*

No vaya a liarla ahora que funciona  :;



Gracias jantoni. Un saludo!

Lo que sí tienes que hacer es completar los datos de tu perfil con al menos el indicativo de tu estación: https://forum.meteoclimatic.net/index.php/topic,250.msg1419.html#msg1419
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Samal en 09 de Marzo del 2021, 12:11:20 pm

Lo que sí tienes que hacer es completar los datos de tu perfil con al menos el indicativo de tu estación: https://forum.meteoclimatic.net/index.php/topic,250.msg1419.html#msg1419

Hecho!. Y no te enfades Ubik que se me había pasado por alto. A la que otro usuario me lo advirtió ayer ya lo modifique. Me trae mas de cabeza raspbian y weewx que modificar eso que por lo menos se como hacerlo.  :D. Lo dicho, hecho!.

Saludos!!.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 00:03:07 am
Hola,

Llevo un par de días volviéndome loco. Tengo una estación PCE-FWS 20N funcionando con CumulusMx. Está subiendo los datos a Weather Underground sin problemas. Estoy intentando conseguirlo con Meteoclimatic. Llevo ya tiempo dándole vueltas, y unos días con algunas soluciones que van dando algo de luz al final del tunel. De momento he bajado la plantilla correctamente y se actualiza cada cinco minutos, sin problema (Acabo de leerme todo el hilo y darme cuenta de que más de una vez cada cuarto de hora es absurdo). He bajado el script, que segun el hilo entiendo que vale también para cumulus, pero al pasarlo manualmente me sale este error.

Traceback (most recent call last):
  File "./meteoclimatic.py", line 186, in <module>
    fechaanho = (fecha.split(' ')[0]).split('-')[2]
IndexError: list index out of range

Y dándole vueltas, todavía no he llegado a ninguna conclusión. Supongo que es por un error en como está poniendo los datos en la plantilla respecto a lo que espera el script, pero no logro solucionarlo.

Lo que sale en la plantilla rellena es lo siguiente:
*VER=DATA2
*COD=ESMAD2800000028025A
*SIG=xxxxxxxxxxxxxxxxxxxxxxxxxxxx
*UPD=05/04/2021 23:55
*TMP=15,3
*WND=0,0
*AZI=NW
*BAR=1025,9
*HUM=40
*SUN=0
*UVI=0,0
*DHTM=23,1
*DLTM=8,5
*DHHM=65
*DLHM=27
*DHBR=1028,7
*DLBR=1024,9
*DGST=11,2
*DSUN=
*DHUV=
*DPCP=0,0
*WRUN=24,2
*MHTM=23,5
*MLTM=7,7
*MHHM=95
*MLHM=26
*MHBR=1028,7
*MLBR=1021,3
*MGST=28,1
*MSUN=
*MHUV=
*MPCP=12,3
*YHTM=26,6
*YLTM=1,1
*YHHM=95
*YLHM=15
*YHBR=1066,3
*YLBR=955,7
*YGST=35,6
*YSUN=
*YHUV=
*YPCP=19,2

y en la plantilla bajada de Meteoclimatic, es lo siguiente:

*VER=DATA2
*COD=ESMAD2800000028025A
*SIG=xxxxxxxxxxxxxxxxxxxxx
*UPD=<#date> <#hour>:<#minute>
*TMP=<#temp>
*WND=<#wspeed>
*AZI=<#wdir>
*BAR=<#press>
*HUM=<#hum>
*SUN=<#SolarRad>
*UVI=<#UV>
*DHTM=<#tempTH>
*DLTM=<#tempTL>
*DHHM=<#humTH>
*DLHM=<#humTL>
*DHBR=<#pressTH>
*DLBR=<#pressTL>
*DGST=<#wgustTM>
*DSUN=
*DHUV=
*DPCP=<#rfall>
*WRUN=<#windrun>
*MHTM=<#MonthTempH>
*MLTM=<#MonthTempL>
*MHHM=<#MonthHumH>
*MLHM=<#MonthHumL>
*MHBR=<#MonthPressH>
*MLBR=<#MonthPressL>
*MGST=<#MonthGustH>
*MSUN=
*MHUV=
*MPCP=<#rmonth>
*YHTM=<#YearTempH>
*YLTM=<#YearTempL>
*YHHM=<#YearHumH>
*YLHM=<#YearHumL>
*YHBR=<#YearPressH>
*YLBR=<#YearPressL>
*YGST=<#YearGustH>
*YSUN=
*YHUV=
*YPCP=<#ryear>
*EOT*

El meteoclimatic.ini lo tengo así (es la versión que me bajé del adjunto, entiendo que la última)
log=0
Path=/opt/CumulusMX/web/meteoclimatic.htm
Password=?????????

La ruta es correcta y es la del archivo que tiene los datos y se actualiza cada cinco minutos (creo que lo cambiaré a 15).

Estoy con una Raspberry pi 3 y mi versión de Python es la 2.7.16


Alguien me puede echar una mano u orientar un poco.

Muchísimas gracias a todos.....
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Abril del 2021, 00:59:04 am
Hola jaimedcp

Si el script da ese error es por la fecha. Sospecho que le estás poniendo la plantilla sin rellenar.

Pon el resultado de ejecutar cat /opt/CumulusMX/web/meteoclimatic.htm
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 01:37:18 am
Hola Javier,

Está incluido en el mensaje anterior, de todos modos, es este:

*VER=DATA2
*COD=ESMAD2800000028025A
*SIG=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*UPD=06/04/2021 01:30
*TMP=13,7
*WND=1,1
*AZI=NW
*BAR=1026,2
*HUM=39
*SUN=0
*UVI=0,0
*DHTM=15,3
*DLTM=13,7
*DHHM=42
*DLHM=38
*DHBR=1026,2
*DLBR=1025,7
*DGST=6,1
*DSUN=
*DHUV=
*DPCP=0,0
*WRUN=1,7
*MHTM=23,5
*MLTM=7,7
*MHHM=95
*MLHM=26
*MHBR=1028,7
*MLBR=1021,3
*MGST=28,1
*MSUN=
*MHUV=
*MPCP=12,3
*YHTM=26,6
*YLTM=1,1
*YHHM=95
*YLHM=15
*YHBR=1066,3
*YLBR=955,7
*YGST=35,6
*YSUN=
*YHUV=
*YPCP=19,2
*EOT*

Por cierto, he visto tu página de MeteoArchena y está muy chula. Los gauges me suenan a los de mi CumulusMX....

Un saludo
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Abril del 2021, 11:20:46 am
Sí, había un error en el script para las fechas con barras como separador. Ya está arreglado. Puedes descargarte otra vez el zip adjunto del principio del hilo y no olvides darle otra vez permisos de ejecución.


Los gauges me suenan a los de mi CumulusMX....


Es que son los mismos, un copia y pega y modificados para mi página. Al estar la web en local (mismo PC que la estación) aprovecho los json del servidor web de Cumulus MX.

Saludos
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 22:35:59 pm
Sí, había un error en el script para las fechas con barras como separador. Ya está arreglado. Puedes descargarte otra vez el zip adjunto del principio del hilo y no olvides darle otra vez permisos de ejecución.


Los gauges me suenan a los de mi CumulusMX....


Es que son los mismos, un copia y pega y modificados para mi página. Al estar la web en local (mismo PC que la estación) aprovecho los json del servidor web de Cumulus MX.

Saludos


Geniaaaaaallllll

T=2l;46;1K;46;1F;4I;B&H=W;14;K;1X;K;1X;F&B=2es;2fX;2eT;2fv;2eT;2lz;2U9&W=4j;B;83;3x;4X;5k&P=;1z;36&S=;;;&V=;;;&U=3a;ESMAD2800000028025A;608e220c45
Envio aceptado

¡¡¡¡Eres un CRAAACK!!!!!

Ya he entendido el cambio que has hecho. Ayer, la verdad, la cabeza no me daba ni para eso. Ahora a probar a ver si soy capaz de que me envíe correo avisando de errores de subida y a ponerlo en el crontab


Muuuuuchiiiiiiisimas graaaaciaaaas



Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 23:04:22 pm
Al hacer el test de correo y configurar mi cuenta, me sale lo siguente:

Traceback (most recent call last):
  File "./meteoclimatic.py", line 133, in <module>
    enviar_correo('Esto es una prueba del correo python de meteoclimatic','')
  File "./meteoclimatic.py", line 110, in enviar_correo
    msg = MIMEMultipart()
NameError: global name 'MIMEMultipart' is not defined

Estoy investigando sobre este error. De todas formas, si sabes por qué puede ser, pues genial.

Un saludo

Jaime
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Abril del 2021, 23:11:23 pm
Has puesto MANDAR_CORREO = True en la primera línea ??
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 23:14:23 pm
Has puesto MANDAR_CORREO = True en la primera línea ??

Ah, pues, ahora que lo dices, no. He puesto True solo abajo, en el test. Voy a probar......
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: Jaime en 06 de Abril del 2021, 23:16:57 pm
Has puesto MANDAR_CORREO = True en la primera línea ??


Era eso..... Listo. Va perfecto..... Otra estación arriba gracias a tu maravillosa labor..... Muchíiiiiisimas gracias....


Un saludo


Jaime
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 06 de Abril del 2021, 23:21:25 pm
Ok perfecto  :)

Y gracias por reportar esos fallos. Se nota que lo ha utilizado poca gente ya que aún sigue teniendo que ser depurado.

Lo he subido otra vez poniendo en el comentario de la prueba de correo que hay que habilitar MANDAR_CORREO para probarlo.

Saludos y que vayan bien las subidas  ;)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 06 de Abril del 2021, 23:22:54 pm
Mañana intentaré modificarlo en el meteowee
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 07 de Abril del 2021, 00:27:38 am
Mañana intentaré modificarlo en el meteowee

Ok

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 07 de Abril del 2021, 09:06:41 am
Actualizado en Meteowee

https://github.com/jantoni/meteowee
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: coconut223 en 25 de Abril del 2021, 01:19:10 am
Hola. Hasta hoy la aplicacion me ha ido bien pero esta tarde no se que ha pasado y aunque envia me da este error y no hace los log. En meteoclimatic.ini tengo puesto Log=1
Código: [Seleccionar]
sudo  /home/pi/meteoclimatic/meteoclimatic.py
T=1p;1w;1n;3s;X;44;-g&H=1C;1C;1C;1U;U;1Z;L&B=2dF;2dN;2dD;2f0;2cl;2gh;2b3&W=;;;y;76;8i&P=;8W;gL&S=;;;&V=;;;&U=3a;ESAND4100000041380A;9ebedd4d7f
Envio aceptado

Traceback (most recent call last):
  File "/home/pi/meteoclimatic/meteoclimatic.py", line 310, in <module>
    res = logmes.readlines()
  File "/usr/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 1303: invalid continuation byte
Que puede estar pasando.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 25 de Abril del 2021, 08:44:34 am
Hola coconut

Puedes adjuntar en un zip el log de este mes ?? Parece que es problema de codificación de caracteres. Alguna respuesta del servidor de meteoclimatic o alguna corrupción del log.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: coconut223 en 25 de Abril del 2021, 13:06:09 pm
Hola coconut

Puedes adjuntar en un zip el log de este mes ?? Parece que es problema de codificación de caracteres. Alguna respuesta del servidor de meteoclimatic o alguna corrupción del log.
Lo he solucionado borrando las carpetas de log. Se ve que los archivos de log estaban mal. Ya no da el error y el log lo hace perfectamente. De todas formas muchas gracias.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 25 de Abril del 2021, 14:34:43 pm
Bueno has optado por lo drástico.... si puede ser y si vuelve a ocurrir estaría bien que adjuntases el log por si hay que depurar algo en la utilidad de envío para que no le vaya ocurriendo a la gente que lo utiliza.  :)

Gracias.

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 10 de Mayo del 2021, 14:33:52 pm
Buenas,

Estoy intentando enviar la plantilla de una nueva estación a Meteoclimatic con esta utilidad Python.

Creía que al ejecutar el script, la plantilla se enviaría al servidor de Meteoclimatic y acto seguido podrías ver tu plantilla con los datos en la seccion "Mis estaciones", pero la dirección de la URL sigue vacía y en rojo.

La plantilla se envía correctamente a priori, de modo que hay algo que me falta por hacer.

Código: [Seleccionar]
T=1w;25;;25;;25;&H=w;1b;o;1b;o;1b;o&B=2cU;2da;2cQ;2da;2cK;2da;2cK&W=2d;B;;f;f;f&P=3;3;3&S=;;;&V=;;;&U=3a;ESCLM1900000019238B;cdeb3e2bdf
Envio aceptado

¿Me echáis un cable por favor?
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jantoni en 10 de Mayo del 2021, 15:20:30 pm
¿Has mirado en la ficha de la estación?

Es el primer sitio donde buscar respuestas

https://www.meteoclimatic.net/index/pg.0.plantilles.html?station_id=ESCLM1900000019238B

Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 10 de Mayo del 2021, 15:39:48 pm
Estaba dentro antes de postear sí, y no había mensajes de error porque no había plantilla que mostrar  *-*

Ahora como bien indicas el problema es otro...que no me cuadra, ya que la plantilla la está generando con la hora correcta:

Código: [Seleccionar]
pi@raspberrypi:~ $ cat /var/www/html/weewx/meteoclimatic.htm
*VER=DATA2
*COD=ESCLM1900000019238B
*SIG=
*UPD=10-05-2021 15:30
*TMP=12,9
*WND=1,4
*AZI=201
*BAR=1006,7
*HUM=55
*SUN=   N/A
*UVI=   N/A
*DHTM=13,8
*DLTM=0,0
*DHHM=99
*DLHM=50
*DHBR=1014,2
*DLBR=1006,2
*DGST=4,8
*DSUN=   N/A
*DHUV=   N/A
*DPCP=0,3
*WRUN=
*MHTM=13,8
*MLTM=0,0
*MHHM=99
*MLHM=50
*MHBR=1014,2
*MLBR=1006,2
*MGST=4,8
*MSUN=   N/A
*MHUV=   N/A
*MPCP=0,3
*YHTM=13,8
*YLTM=0,0
*YHHM=99
*YLHM=50
*YHBR=1014,2
*YLBR=1006,2
*YGST=4,8
*YSUN=   N/A
*YHUV=   N/A
*YPCP=0,3
*EOT*

y los envíos siguen siendo correctos:

Código: [Seleccionar]
T=25;2E;;2E;;2E;&H=t;1b;o;1b;o;1b;o&B=2cN;2da;2cI;2da;2cI;2da;2cI&W=3F;E;;m;m;m&P=3;3;3&S=;;;&V=;;;&U=3a;ESCLM1900000019238B;cdeb3e2bdf
Envio aceptado
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 10 de Mayo del 2021, 17:43:22 pm
Hola Pacojavi

La plantilla parece estar actualizándose correctamente 10-05-2021 15:29 UTC: No se ha detectado ningún error

Cómo tienes la línea de crontab para los envíos ?? Puede que no suba cada cuarto de hora y por eso salgan a veces desactualizados los datos. Ten en cuenta que pasan unos pocos minutos desde que se envía la plantilla hasta que aparece en meteoclimatic.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 10 de Mayo del 2021, 21:48:40 pm
Parece que ya actualiza... A ver como se va comportando estos días.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: gonchoCT en 21 de Noviembre del 2021, 01:01:28 am
Buenas, tras un corte de luz sucedido el día 17, meteoclimatic.htm no se me ha vuelto a actualizar, a pesar de que index.html sí que se actualiza (y en wunderground la estación está operativa). La última línea del log generada, que fue el día 17, muestra el siguiente error: *ERR=TMP < DLTM;TMP < MLTM;TMP < YLTM;HUM < DLHM;HUM < MLHM;HUM < YLHM;1 < HUM < 100. El error se mostró dos veces, a las 20:46:01 y a las 20:59:02, y a partir de ahí no ha vuelto a generar ninguna línea más en el log. He hecho un clear_memory, que tuve que hacer tras el corte de luz para que volviera a funcionar weewx, pero no he tocado nada más. No sé cuál puede ser el fallo. Un saludo y gracias
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: gonchoCT en 21 de Noviembre del 2021, 01:08:08 am
Ah, se me ha olvidado comentar que en mi página de meteoclimatic de envío de datos aparece un error por enviar datos de humedad inferiores al 1% o superiores al 100%. Durante el corte de luz, que se debió a la caída de un rayo, los sensores de la estación dejaron de funcionar por media hora, y puede que en ese momento se enviara una plantilla con humedad no definida (porque la consola no recibía datos del higrómetro). Sin embargo, ya vuelve a funcionar perfectamente y la plantilla sigue sin actualizarse
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 21 de Noviembre del 2021, 08:58:34 am
Hola

Parece que has tocado donde tenías que tocar y ya actualiza  8)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: gonchoCT en 21 de Noviembre del 2021, 11:14:47 am
Buenos días, sin haber tocado absolutamente nada acabo de ver que la estación ya manda datos, creo que desde las.2:45. Ha sido.muy oportuno, porque ya llevaba cuatro días sin mandar y al poco tiempo de enviar el mensaje ha vuelto a funcionar. Igual ha sido que se ha ido la.luz y se ha reiniciado la.raspberry, otra cosa no se me.ocurre
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 31 de Marzo del 2022, 14:03:50 pm
Buenas tardes,

Tras dar de alta una nueva estacion y hacer toda la parafernalia de envio de datos con esta utilidad, al ejecutarla me aparece lo siguiente:

Código: [Seleccionar]
T=17;18;3;18;3;18;3&H=y;1I;w;1I;w;1I;w&B=2cK;2js;2cH;2js;2cH;2js;2cH&W=4f;9;;V;V;V&P=;;&S=;2R8;2R8;2R8&V=;27;27;27&U=3a;ESCLM1900000019223A;ae7e79adea
Conexión no establecida
Envio no aceptado

Alguna idea de por donde pueden ir los tiros? La raspberry esta conectada a internet, este mensaje lo estoy escribiendo desde ella. El codigo de la estacion es correcto, lo he verificado varias veces.

Muchas gracias
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 31 de Marzo del 2022, 16:03:43 pm
Puedes poner aquí la plantilla que intentas enviar para poder probarla ??

Copia y pégala y quítale el campo SIG, luego se lo pongo yo.


Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 31 de Marzo del 2022, 16:21:40 pm
Ahí va:

*VER=DATA2
*COD=ESCLM1900000019223A
*SIG=
*UPD=31-03-2022 16:15
*TMP=7,9
*WND=0,7
*AZI=292
*BAR=1005,2
*HUM=54
*SUN=   N/A
*UVI=   N/A
*DHTM=8,2
*DLTM=6,2
*DHHM=68
*DLHM=54
*DHBR=1006,9
*DLBR=1005,0
*DGST=3,1
*DSUN=   N/A
*DHUV=   N/A
*DPCP=0,0
*WRUN=
*MHTM=8,2
*MLTM=6,2
*MHHM=68
*MLHM=54
*MHBR=1006,9
*MLBR=1005,0
*MGST=3,1
*MSUN=   N/A
*MHUV=   N/A
*MPCP=0,0
*YHTM=8,2
*YLTM=6,2
*YHHM=68
*YLHM=54
*YHBR=1006,9
*YLBR=1005,0
*YGST=3,1
*YSUN=   N/A
*YHUV=   N/A
*YPCP=0,0
*EOT*
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: jmviper en 31 de Marzo del 2022, 20:10:37 pm
Raro, a mí me ha aceptado la plantilla

Código: [Seleccionar]
T=1H;1K;10;1K;10;1K;10&H=s;16;s;16;s;16;s&B=2c8;2cP;2c6;2cP;2c6;2cP;2c6&W=4i;7;;V;V;V&P=;;&S=;;;&V=;;;&U=3a;ESCLM1900000019223A;4eae35f1b3
Envio aceptado

prueba a ejecutar en el terminal el siguiente comando a ver si tiene conexión al servidor de meteoclimatic:

Código: [Seleccionar]
ping -c4 pool.meteoclimatic.com
si la tiene habrá que ver otras cosas.
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: PacoJavi en 08 de Junio del 2022, 13:08:36 pm

prueba a ejecutar en el terminal el siguiente comando a ver si tiene conexión al servidor de meteoclimatic:

Código: [Seleccionar]
ping -c4 pool.meteoclimatic.com
si la tiene habrá que ver otras cosas.


Ayer probé y hacía ping a esa dirección, pero seguía sin poder enviar la plantilla...No se qué pasará.
Finalmente opté por enviarla a mi servidor e indicar al robot que la lea ahí.

Muchas gracias por la ayuda  :)
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: el_chito en 10 de Julio del 2023, 17:16:23 pm
buenas tardes, estado subuendo a meteoclimatic la plantilla atraves de mi servidor web, debido a problemas con este lo voy a retirar y quisiera subir la plantilla a traves del script, lo puesto todo tal cual viene, al ejecutar a mano el script se queda pensando y despues de un tiempo me tira, plantilla no actualizada, lo revisado todo y no veo nada extraño, tambien decir que active el log y este no se crea .
Título: Re:Utilidad de envío de la plantilla en Python
Publicado por: el_chito en 10 de Julio del 2023, 18:35:55 pm
encontre el problema, weewx esta en docker y esta tiene la hora utc , pero raspberry no tenia la hora en utc, la puesto y a ya me dice plantilla enviada, ahora a poner el cron.
muchas gracias