Autor Tema: Utilidad de envío de la plantilla en Python  (Leído 247441 veces)

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

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.935
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #150 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.
No respondo consultas por mensajería personal.

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

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado PacoJavi

  • Jr. Member
  • **
  • Mensajes: 87
    • Ver Perfil
  • Estación: La Nava de Jadraque - ESCLM1900000019238A Palancares - ESCLM1900000019225A Valverde de los Arroyos - ESCLM1900000019224A Tamajón - ESCLM1900000019222A Semillas - ESCLM1900000019237A Campillo de Ranas - ESCLM1900000019223A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #151 en: 19 de Agosto del 2020, 19:13:20 pm »
Genial. Gracias Jantoni :)

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.935
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #152 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.
No respondo consultas por mensajería personal.

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

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #153 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


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

www.meteoarchena.es

Desconectado PacoJavi

  • Jr. Member
  • **
  • Mensajes: 87
    • Ver Perfil
  • Estación: La Nava de Jadraque - ESCLM1900000019238A Palancares - ESCLM1900000019225A Valverde de los Arroyos - ESCLM1900000019224A Tamajón - ESCLM1900000019222A Semillas - ESCLM1900000019237A Campillo de Ranas - ESCLM1900000019223A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #154 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.

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #155 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!

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #156 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

« Última modificación: 20 de Febrero del 2021, 22:41:25 pm por jmviper »


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

www.meteoarchena.es

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #157 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!.

Conectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 3.935
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #158 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.
No respondo consultas por mensajería personal.

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

Home Assistant + GW1000 + WH2650
Sensores: WH32P + WS65 + WH31 (3) + WH41 + WH32

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #159 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

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #160 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  :-[
« Última modificación: 21 de Febrero del 2021, 00:10:12 am por Samal »

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #161 en: 21 de Febrero del 2021, 07:02:39 am »
Editaste el crontab y le pusiste los intervalos de subida de la plantilla ?


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

www.meteoarchena.es

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #162 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  :;

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Utilidad de envío de la plantilla en Python
« Respuesta #163 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.



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

www.meteoarchena.es

Samal

  • Visitante
Re:Utilidad de envío de la plantilla en Python
« Respuesta #164 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!!.