Autor Tema: Scripts para web  (Leído 13103 veces)

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

Desconectado chve

  • Jr. Member
  • **
  • Mensajes: 72
    • Ver Perfil
    • Meteo Moncofa
  • Estación: Moncofa ESPVA1200000012593A
Scripts para web
« en: 15 de Noviembre del 2016, 20:04:41 pm »
Nunca esta de mas tener scripts a mano. Este lo he modificado de la web de http://blackhold.nusepas.com

Para gif animado de secuencia del radar de preci del aemet. Debemos contar con los paquetes graphicsmagick y graphicsmagick-imagemagick instalados en nuestra maquina.
Crear en la carpeta del weewx un archivo radar_aemet.sh con el siguiente código:

Código: [Seleccionar]
#!/bin/bash
### CREATED BY: Blackhold
### DATE: 2014-12-12
### MODIFIED: 2016-02-07
### http://blackhold.nusepas.com

YEAR=`date +"%Y"`
MONTH=`date +"%m"`

cd /var/www/weewx/ ###AQUÍ PONER RUTA DE LA CARPETA DONDE CREASTE radar_aemet.sh

curl "http://www.aemet.es/es/eltiempo/observacion/radar?w=1&p=ba" > radar.html
IMG=(`cat radar.html |grep ${YEAR}${MONTH} |grep gif |awk '{ gsub("src=","",$0); gsub("data-\"","",$0); gsub("\"","",$0); print $3}'`)

for item in ${IMG[*]}
do
    GIF=`printf "http://www.aemet.es%s\n" $item`
    wget ${GIF}
done

/usr/bin/convert -delay 40 -loop 0 ./*r8va.gif ./radar.gif
rm ./*r8va.gif
rm ./radar.html

Ahora le damos permisos de ejecución al archivo desde las propiedades en modo gráfico o por consola.
Código: [Seleccionar]
jose@jose-desktop:/var/www/weewx$ chmod +x radar_aemet.sh

Seguidamente lo añadimos al cron para que se ejecute cada 10 min. Lo podemos hacer con el gnome scheduled en modo grafico o por consola.
Código: [Seleccionar]
jose@jose-desktop:~$ vi /etc/crontab
*/10 * * * * root /var/www/weewx/radar_aemet.sh


Este script crea un gif animado en tu carpeta weewx del radar de aemet pa que lo puedas añadir en la web de weewx. Para cambiar la zona geográfica hay que cambiar la terminación de la url del aemet /radar?w=1&p=ba" > ba Barcelona, va Valencia etc...

Un saludo.
« Última modificación: 15 de Noviembre del 2016, 20:17:32 pm por chve »

Desconectado chve

  • Jr. Member
  • **
  • Mensajes: 72
    • Ver Perfil
    • Meteo Moncofa
  • Estación: Moncofa ESPVA1200000012593A
Re:Scripts para web
« Respuesta #1 en: 19 de Noviembre del 2016, 18:44:19 pm »
¿Como seria para mostrar determinado contenido dependiendo la hora? Este código me genera un error de sintaxis cuando weewx genera los archivos web.

var ahora = new Date
if  (ahora.getHours > 18 && ahora.getHours < 06)

else

end if

Quisiera mostrar de 6 de la tarde a 7 de la mañana el sat infrarrojo y de 7 de la mañana a 6 de la tarde el sat visible.

Un saludo.


Desconectado Wlarues

  • Full Member
  • ***
  • Mensajes: 174
  • Estudiante de Física en la Universidad de Zaragoza
    • Ver Perfil
    • El tiempo en Larués
  • Estación: ESARA2200000022761B
Re:Scripts para web
« Respuesta #2 en: 20 de Noviembre del 2016, 09:36:16 am »
Buenos días

No tengo ni idea sobre los scripts de Weewx, pero por lo pronto yo esa condicional no la haría así, sino al revés, es decir:

var ahora = new Date
if  (ahora.getHours < 18 && ahora.getHours > 06)

else

end if

De lo contrario, yo creo que siempre te saltaría al else, ya que por ejemplo si "ahora.getHours" vale 20, se cumpliría sólo la primera condición, pero no la segunda.

Aún así, no creo que sea el problema, ya que no es un error sintáctico.

Saludos

Estación ESARA2200000022761B

Web Weewx: http://tiempo-larues.eu5.org

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.303
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:Scripts para web
« Respuesta #3 en: 20 de Noviembre del 2016, 10:15:52 am »
Yo, de scripts, ni papa.....a base de google  *+* *+* *+* *+*

Pero lo primero, para que alguien te pueda ayudar, es saber en que lenguaje estás programando el script

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

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

Desconectado chve

  • Jr. Member
  • **
  • Mensajes: 72
    • Ver Perfil
    • Meteo Moncofa
  • Estación: Moncofa ESPVA1200000012593A
Re:Scripts para web
« Respuesta #4 en: 20 de Noviembre del 2016, 19:30:27 pm »
Probare lo que me indicas wlarues, pero como bien dices eso no genera un error de sintaxis. Sigo probando.

Jantoni el lenguaje es Javascript. http://www.w3schools.com/jsref/jsref_gethours.asp

Un saludo.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.402
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Scripts para web
« Respuesta #5 en: 20 de Noviembre del 2016, 20:39:26 pm »
Hombre JavaScript es sencillico...

Con esa sintaxis te va a dar error con los if

La debes de hacer más o menos así:

var ahora = new Date().getHours(); // Se obtiene la hora actual del sistema

if (ahora < 18 && ahora > 6) {.... código a ejecutar entre llaves }

else {.... código a ejecutar con el else}

Y no hace falta poner ni end if ni nada de eso

Saludos


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

www.meteoarchena.es

Desconectado chve

  • Jr. Member
  • **
  • Mensajes: 72
    • Ver Perfil
    • Meteo Moncofa
  • Estación: Moncofa ESPVA1200000012593A
Re:Scripts para web
« Respuesta #6 en: 21 de Noviembre del 2016, 19:47:36 pm »
Gracias jmviper. Pues también genera error de sintaxi  ;D ;D ;D

Voy a probar en un documento independiente hasta dar con el codigo exacto y luego lo probaremos en el weewx. ¿Que tipo de lenguaje utiliza weewx para los script que muestran los extras y el almanaque extendido o básico?

Un saludo

Desconectado Xavi-EA5ZF

  • Full Member
  • ***
  • Mensajes: 214
  • Ham Radio Operator EA5ZF
    • Ver Perfil
    • MeteoLaVall
  • Estación: ESPVA1200000012600A
Re:Scripts para web
« Respuesta #7 en: 27 de Noviembre del 2016, 20:40:48 pm »
El script va bien, ya estoy probándolo en mi máquina, estaría bien ponerle una imagen en negro o blanco para inducir un flickeo que indique el inicio del loop, ya que si no no sabes bien donde está el final o el inicio.
Pero como al final va buscando todos los GIF que baja con la fecha y hora, no sé bien como insertárselo.
Creo que lo mejor sería modificar el comando CONVERT para añadir el nombre del GIF negro o blanco para que la linea posterior lo genere el final. Pero no lo controlo bien y me pierdo en eso.

YO mismo me autocontesto:
He creado una imagen del mismo tamaño en blanco o con un logotipo de la estación y fondo blanco y luego se modifica el comando CONVERT para añadirla al loop.
/usr/bin/convert -delay 40 -loop 0 ./*r8va.gif ./blanco.gif ./radar.gif
Y fichero creado con el loop y el blanco o lo que se quiera.
Xavi
« Última modificación: 27 de Noviembre del 2016, 21:14:21 pm por Xavi-EA5ZF »

Desconectado chve

  • Jr. Member
  • **
  • Mensajes: 72
    • Ver Perfil
    • Meteo Moncofa
  • Estación: Moncofa ESPVA1200000012593A
Re:Scripts para web
« Respuesta #8 en: 02 de Diciembre del 2016, 21:54:03 pm »
 apla3 apla3 apla3

No había caído yo en eso Xavi. Excelente aporte compañero, lo voy a poner en practica pero ya.

Un saludo.

Desconectado meteozgz

  • Newbie
  • *
  • Mensajes: 16
    • Ver Perfil
  • Estación: ESARA5000000050014B
Re:Scripts para web
« Respuesta #9 en: 27 de Enero del 2017, 14:20:12 pm »
Buenas,

He intentado añadir la imagen de radar para el skin 'Adaptativo' usando el script pero cuando doy a que corra el script me sale un error en la línea 21 diciendo esto:

Código: [Seleccionar]
./radar_aemet.sh: linea 21: /usr/bin/convert: no existe el fichero o el directorio
También he de decir que solo he podido instalar el paquete graphicsmagick, pero el otro paquete (graphicsmagick-imagemagick) no me ha dejado.

Muchas gracias de antemano.

Carlos C.

Desconectado Xavi-EA5ZF

  • Full Member
  • ***
  • Mensajes: 214
  • Ham Radio Operator EA5ZF
    • Ver Perfil
    • MeteoLaVall
  • Estación: ESPVA1200000012600A
Re:Scripts para web
« Respuesta #10 en: 27 de Enero del 2017, 19:11:08 pm »
Hombre, te falta poner lo que pone tu linea 21.
En mi script es el borrado del fichero radar.html, pero creo que en tu fichero es el comando convert, y te dará error si no has instalado todos los paquetes previos, sobre todo si te falta el que lleva el comando convert.
Citar
/usr/bin/convert -delay 40 -loop 0 ./*r8va.gif ./radar.gif