Autor Tema: Posibilidad Aviso falta de subida de datos  (Leído 24429 veces)

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

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Posibilidad Aviso falta de subida de datos
« en: 16 de Junio del 2019, 13:02:45 pm »
Me gustaría saber si habría la posibilidad de implementar un servicio de avisos por email a las estaciones que no envíen tras un determinado número de envíos previstos.

En ocasiones ocurre que se cierra la aplicación Visual Star Meteoclimatic, o que el ordenador se quede colgado, o que se haya ido la luz o cualquier otra incidencia que imposibilite el envío de datos a Meteoclimatic. Si tras un determinado número de envíos fallidos (ejemplo 3 ó 4) se recibiera un aviso en forma de email, podríamos corregir dicha situación en muchos casos, pienso que podemos estar de viaje, fuera de nuestra casa, etc.

Yo estoy conectado a Weather Underground y de ahí si recibo alertas.

Espero opiniones y, en su caso, soluciones

Saldudos

Desconectado B.Santiago

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 1.979
    • Ver Perfil
  • Estación: Ávila- La Colilla [ESCYL0500000005192A]
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #1 en: 16 de Junio del 2019, 15:59:29 pm »
Es una buena idea.
El observador debe estar atento al comportamiento de su sistema, no basta con ponerlo en marcha y desentenderse de él.
Ciertamente, no siempre se puede atender de continuo, y los avisos automáticos podrían ser, como digo, una buena idea.
El principal inconveniente que veo es que, a la vez, facilitarían precisamente eso, el que el observador fiara el funcionamiento y la supervisión de todo a la vigilancia de Meteoclimatic.
No tenemos cien ojos; avisamos cuando se produce alguna incidencia reseñable. Ponemos en marcha el sistema de avisos "a mano" en función de la disponibilidad de quienes estamos al pie del cañón, que casi nunca es demasiada.
No obstante, tomamos nota de la idea, sistema de avisos automático en cuanto se interrumpen los envíos, como en otras redes (Weathercloud, que avisa al cabo de dos horas de interrupción,  Wunderground...)
Quienes podrían encargarse de ponerlo en marcha, por el momento no pueden; están en otros asuntos prioritarios.
Cuando se llegue a desarrollar, posiblemente sea sobre otro modelo de sitio web.
Ya veremos. Ten por seguro que la idea no cae en saco roto, queda bien apuntada.
« Última modificación: 16 de Junio del 2019, 16:01:20 pm por B.Santiago »
[img width=180

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #2 en: 16 de Junio del 2019, 20:22:24 pm »
Quizás en Windows con Powershell mismo se podría hacer algo... un script que se ejecutase cada cuarto de hora con el programador de tareas y almacenase las cuatro últimas plantillas en un archivo, las comparase y si fuesen iguales enviase un email.... lo cual no es impedimento para ver si se implementa en meteoclimatic en un día no muy muy lejano  *-* *-*

Haré pruebas esta semana que viene y si tengo éxito pondré aquí mismo el script y qué hacer.


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

www.meteoarchena.es

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #3 en: 16 de Junio del 2019, 20:34:30 pm »
Gracias por vuestras respuestas.

Yo procuro mirar el estado de mi estación en Meteoclimatic tres veces al dia, a primera hora, a mediodía y por la noche. Pero no siempre es posible. Seguramente habrá más gente en situaciones similares.

Yo llegué al convencimiento de que estamos gente para todo, los que están pendientes, los que de cuando en cuando y los que lo dejan días y días y sin mucha preocupación.

Pero basta con que le sirva a unos pocos de los que se preocupan, para sea útil. Y quizás hasta un aliciente para otras personas.

Reitero el agradecimiento

Desconectado nafarro

  • Full Member
  • ***
  • Mensajes: 179
    • Ver Perfil
  • Estación: Paternain [ ESNAF3100000031190A ]
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #4 en: 17 de Junio del 2019, 09:59:49 am »
Buenos días
Sería un buen avance.
A mí me va muy bien tener el widget de meteoclimatic en el móvil...cuando hay incidencia en el envío de datos dicho widget me sirve de chivato.

Un saludo

Desconectado casacota

  • Moderador Global
  • Hero Member
  • ******
  • Mensajes: 2.019
    • Ver Perfil
    • Observatori de Sant Martí de Canals
  • Estación: Sant Martí de Canals ESCAT2500000025518A
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #5 en: 17 de Junio del 2019, 12:04:11 pm »
Hace un tiempo estuve trasteando con un programa que tenía que hacer esto, pero hay tantas estaciones que existen sin mandar datos que excedía de mucho las posibilidades de mi humilde servidor, con el problema añadido de que muchos emails están abandonados, lo que comprometía mi servidor calificándolo, por los miles de errores, como fuente de spam.
Seguro que es posible hacerlo de modo profesional, pero no va a ser fácil.
Con algo parecido en weathercloud tuvieron enormes problemas con el mail hace unos meses.
Algo se hará, cuando los gurus de la programación puedan abordar la cuestión.

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #6 en: 17 de Junio del 2019, 23:23:20 pm »
Aporto alguna sugerencia más al tema. Para cuando se pueda

Podría empezarse de forma experimental, por aquellas estaciones de cierta calidad, o que tengan un mínimo índice de Roberttson, o que se apunten voluntariamente, etc. Es decir, escoger una muestra y según se vea, se sigue o no.

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #7 en: 19 de Julio del 2019, 18:38:50 pm »
Quizás en Windows con Powershell mismo se podría hacer algo... un script que se ejecutase cada cuarto de hora con el programador de tareas y almacenase las cuatro últimas plantillas en un archivo, las comparase y si fuesen iguales enviase un email.... lo cual no es impedimento para ver si se implementa en meteoclimatic en un día no muy muy lejano  *-* *-*

Haré pruebas esta semana que viene y si tengo éxito pondré aquí mismo el script y qué hacer.


¿Hay alguna novedad o avance? ¿Has podido probar algo?

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #8 en: 19 de Julio del 2019, 19:43:38 pm »

¿Hay alguna novedad o avance? ¿Has podido probar algo?


La verdad es que dejé el script a medio hacer... conseguí que enviase correos y estaba en lo de comparar plantillas... si te interesa a ti y a alguien más lo continuaré a ver si puedo hacer que funcione y no dé problemas. Posiblemente para esta semana que viene si no da mucha guerra.


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

www.meteoarchena.es

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #9 en: 21 de Julio del 2019, 12:22:56 pm »
Pues sí que me interesa. Gracias

Además creo que podría servir más adelante para más gente interesada en tener el máximo control de su estación para evitar esos tiempos prolongados sin mandar datos

De nuevo, gracias

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #10 en: 22 de Julio del 2019, 12:26:56 pm »
Bueno pues este finde me ha dado tiempo ha crearlo y a probarlo por el momento con buenos resultados por mi parte. Antes de ponerme a explicar cómo configurarlo, no obstante, voy a hacer unas consideraciones previas...

La primera es que esto es un script y tiene que configurarse "manualmente". Cada equipo tiene su configuración y tiene también sus sistemas de seguridad (antivirus, cortafuegos etc etc) que deben de ser correctamente configurados. Eso normalmente se hace dando los permisos necesarios cuando se ejecuta el script.

La segunda tiene que ver con SMTP. SMTP es el servidor de correo que enviará el email a donde queremos (en verdad es un protocolo pero también se usa para el servidor que da ese servicio). Generalmente los SMTP tienen seguridad habilitada (SSL/TLS) explícita. Por ejemplo Outlook (antiguo Hotmail) y Gmail van por el puerto 587 e inicia conexión segura con STARTTLS para cifrar la conexión. Gmail también puede ser usado por el puerto 465 el cual es implícito pero este script no admite esa clase de conexión.

La tercera concierne a Gmail. Google por defecto bloquea a las aplicaciones poco seguras de acceder a su SMTP por lo que hay que dar permisos en la cuenta de correo. Supone un riesgo si habilitamos esa opción si usamos clientes de correo de terceros (aplicaciones poco conocidas de Android por ejemplo) que pueden comprometer nuestros datos de la cuenta.
Lo mejor, si usamos una cuenta de Gmail para el script es que sea una que no usemos (podemos hacernos una nueva solo para este cometido).
Para permitir el acceso a aplicaciones menos seguras, estando logueados en Gmail en el navegador entrados a esta dirección y permitimos el acceso. Nos saltarán alertas de Google pero no es tan grave como lo pintan.

Una vez hechas las consideraciones más importantes vamos a la configuración.

Primeramente debemos de guardar la contraseña cifrada de nuestro correo en un archivo para que haga uso el script para la autenticación. Es mejor esto que poner usuario y contraseña en texto simple en nuestro script. Para ello abrimos Powershell (en W10 Inicio, clic derecho del ratón y Powershell) y copiamos esta línea:

'Password' | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File 'C:\Users\miusuario\Documents\passwd.txt'

Antes de darle a enter para que la ejecute tenemos que poner al principio en 'Password' la contraseña de nuestro correo electrónico con el que vamos a enviar los correos. Siempre entre comillas. Al final vemos que también hay unas comillas para la dirección local donde se guardará el archivo con la contraseña cifrada. En el ejemplo he puesto que sea en Documentos del usuario (hay que poner qué usuario es), pero se puede cambiar la ubicación para crear el archivo y poner el nombre de archivo que se quiera (no es obligatorio que se llame passwd.txt)

Cuando lo ejecutemos vamos a esa ruta a ver si lo ha creado. En su interior habrá una serie de números/letras muy larga.

Ahora ponemos el script que pongo en el zip adjunto donde queramos (mejor si puede ser en Mis Documentos) y lo abrimos con el bloc de notas mismo para editarlo.
Al inicio es donde salen las opciones de configuración que no son muchas. Hay unos comentarios que ya dicen de qué se trata y qué hay que ir poniendo.

Hay que poner la ruta local de la plantilla que se envía a meteoclimatic, el usuario que envía y la ruta del archivo de la contraseña anteriormente generada (en $File=)
La última línea de la configuración está comentada (#[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}). Si usamos un servidor SMTP que no dé un certificado válido como puede ser uno autofirmado) pero que es de nuestra confianza (puede ser el correo de nuestro dominio) se descomenta para que pueda estar habilitado.

Ahora vamos con el Programador de Tareas. Entramos en él y seguimos estos pasos:

Le damos en la barra de la derecha a "Crear Tarea" con lo que se nos abrirá una nueva ventana.
En nombre le ponemos el nombre que le queramos dar (por ejemplo plantilla_meteoclimatic) y en la parte de abajo marcamos Ejecutar tanto si el usuario inició sesión como si no. También marcamos la casilla siguiente No almacenar contraseña etc y la siguiente Ejecutar con los privilegios más altos.

Eso es en la primera pestaña General. Ahora vamos a la de al lado Desencadenadores y le damos a Nuevo. Veremos que hay dos cajetines arriba con fecha y hora. En la hora ponemos 0:01:30. Con eso nos aseguramos de que no leerá la plantilla siendo escrita. Después abajo marcamos Repetir cada y se activarán las opciones de su derecha. Ponemos en la de al lado cada 15 minutos y en la de más a la derecha Durante: elegimos Indefinidamente. Le damos por último a Aceptar.

Ahora vamos a la pestaña de al lado y última por configurar Acciones. Le damos a Nueva. En Acción dejamos lo de Iniciar un programa. En Programa o script ponemos Powershell y en Agregar argumentos (opcional) ponemos esto:

-ExecutionPolicy Bypass  -File "C:\ruta local donde está el script de powershell\correoplantilla.ps1"

Cambiar lo de ruta local etc  por la ruta verdadera local donde hayamos puesto el script.

Ya podemos aceptarlo todo y que se quede funcionando. Para comprobar que funciona ahí mismo en el Programador de Tareas y marcando la tarea que acabamos de crear en la parte derecha le damos a Ejecutar. Ahora nos vamos a Mis Documentos y vemos si ha creado una carpeta llamada plantilla_meteoclimatic con dos archivos en su interior (comp.txt y flag.txt). En comp.txt se irán comparando las plantillas leídas, una cada cuarto de hora, un máximo de cuatro.

Si el script detecta que las cuatro últimas plantillas leídas son exactamente iguales (no se están generando nuevas) enviará un email con el asunto "Plantilla estancada". Si lo que detecta es que hay cambio de fecha pero los demás datos son iguales enviará "Datos estancados". También adjuntará la plantilla.

El otro archivo flag.txt tendrá un número. Si es 0 es que todo marcha bien y con 1 es cuando enviará el correo. si es mayor a uno no enviará nada y significará que está la plantilla o los datos estancados. En verdad ese número es una bandera en programación para evitar que el script envíe seguidamente los correos con una plantilla estancada. Si no estamos en casa y se queda estancada en 2 horas nos habría enviado 8 emails y en un día 96 emails, así que mejor uno y vemos lo que ha pasado.

Si nos ha creado los dos archivos que he puesto podemos probar si en verdad envía el correo pulsando varias veces (hasta cuatro) en el botón Ejecutar de la tarea descrito anteriormente en el Programador de Tareas.

Las primeras veces que se ejecute el script hay que estar atentos a los antivirus o cortafuegos que podrán dar la alerta. Es en ese momento donde debemos de darle permiso al script o crear una regla de excepción.

Es un buen tocho el que he puesto y sobre todo decir que todo esto es experimental y seguirá siéndolo (así son los scripts  *+* *+*). Esto es cosa mía personal y no tiene nada que ver con meteoclimatic. Quien quiera probarlo es bajo su responsabilidad y riesgo (no me hago cargo si arde la CPU o se derrite la memoria RAM  *+* *+*).

Ya hablando en serio, no debe de ocurrir nada excepto que surjan algunos problemas de configuraciones de Windows o de cortafuegos y antivirus.

Lo mejor sería que meteoclimatic crease ese servicio pero mientras para quien quiera está este script como "workaround" como dicen los ingleses (solución alternativa).

Las dudas, problemas o comentarios se pueden seguir en este mismo hilo. Si vemos que va bien y hay una alta tasa de éxito se corta y se le pone una chincheta para tenerlo a mano.



« Última modificación: 22 de Agosto del 2019, 00:22:08 am por jmviper »


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

www.meteoarchena.es

Desconectado Panocho

  • Full Member
  • ***
  • Mensajes: 147
    • Ver Perfil
    • Meteo istan
  • Estación: Istán (ESAND2900000029611A)
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #11 en: 22 de Julio del 2019, 23:39:21 pm »
Muchas gracias.

Lo voy a intentar, cuando lo pruebe contaré
 apla3 apla3

Desconectado diegocr

  • Newbie
  • *
  • Mensajes: 17
    • Ver Perfil
  • Estación: ESARA2200000022223A
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #12 en: 23 de Julio del 2019, 10:30:04 am »
Para linux se podría crear una tarea programada con cron, este script debería funcionar.

30 * * * * /ruta/script.sh > /dev/null 2>&1

Lo añado al cron, espero que nunca me mande el mail.

Código: [Seleccionar]
#!/bin/bash

filename=/rutaalaplantilla/meteoclimatic.html
minutes=30

sender=email@quelo.envia
password=contraseña
to=aquien@lo.envia
subjet="asunto del email"

if [[ $(find "$filename" -mmin +$minutes -print) ]]; then
sendemail  \
    -f "$sender" \
    -u "$subjet" \
    -t "$to" \
    -s "smtp.gmail.com:587" \
    -o tls=yes \
    -xu "$sender" \
    -xp "$password" \
    -o message-file="$filename"
fi


Para usarlo con gmail  se necesitan estos paquetes y tener activado el acceso de aplicaciones menos seguras en la cuenta.
apt-get install sendemail libio-socket-ssl-perl  libnet-ssleay-perl
« Última modificación: 23 de Julio del 2019, 10:52:35 am por diegocr »


Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #13 en: 23 de Julio del 2019, 11:15:23 am »
Hola diegocr

Acabo de probarlo y ha ido a la primera (solo hace falta darle permisos de ejecución)  :). Fácil y sencillo. Simplemente te dirá si no se está actualizando la plantilla. El único inconveniente es que te enviará sí o sí el email cada vez que se ejecute en el cron y la plantilla esté desactualizada. Por ejemplo en un día cada media hora te puede enviar 48 emails. Estaría bien el ponerle una bandera en un archivo externo para que enviase uno o solamente x emails.

Generalmente estos script sirven para si hay problemas. Yo en mi caso y cruzo los dedos no tengo porque usarlos al igual que la mayoría pero pueden haber situaciones o equipos que den la lata y está bien tener una utilidad de estas.

Como los logs pueden avisarnos de problemas, y son como estos útiles, pero lo mejor es resolver en la medida de lo posible esos problemas para no tener que estar siendo monitorizadas y advertidas las plantillas estancadas. Repito que esto no debería ser la norma sino solo estar en casos "difíciles".



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

www.meteoarchena.es

Desconectado diegocr

  • Newbie
  • *
  • Mensajes: 17
    • Ver Perfil
  • Estación: ESARA2200000022223A
Re:Posibilidad Aviso falta de subida de datos
« Respuesta #14 en: 23 de Julio del 2019, 11:51:44 am »
Buena idea lo del flag, lo tenia cada 30 minutos pero con esto lo he bajado a 10

Editado: he añadido un tiempo para el reenvío.

No es para usarlo en la rpi que envía los datos, si hay algún problema con ella no enviaría el mail,  es para tenerlo en el server que sube los datos por ftp
Tampoco espero tener que usarlo pero la conexión a Internet no es muy buena, así por lo menos me avisará si falla.

Código: [Seleccionar]

#!/bin/bash

filename=/rutaalaplantilla/meteoclimatic.html
minutes=10
flag=~/.alertaenviada
repeatminutes=30

sender=email@quelo.envia
password=contraseña
to=aquien@lo.envia
subjet="asunto del email"

if [[ (-e $flag ) && $(find "$flag" -mmin +$repeatminutes -print) ]]; then
         rm $flag
fi

if [[ $(find "$filename" -mmin +$minutes -print) && (! -f $flag) ]]; then
cp $filename $flag
sendemail  \
    -f "$sender" \
    -u "$subjet" \
    -t "$to" \
    -s "smtp.gmail.com:587" \
    -o tls=yes \
    -xu "$sender" \
    -xp "$password" \
    -o message-file="$filename"
else
    if ! cmp $filename $flag >/dev/null 2>&1
    then
      rm $flag
    fi
fi


Editado
Hoy 31 de Julio me han dejado unas horas sin internet, llevo desde las 17:48 sin mandar datos.
Me ha avisado por mail la primera alerta a las 18:10 y repetidas a las 19:10, 20:10, 22:10 y 00:10, lo tengo que repita cada 60 minutos pero alguna hora se la ha saltado :-(
« Última modificación: 01 de Agosto del 2019, 00:14:31 am por diegocr »