Meteoclimatic

Software => Software de Meteoclimatic => Mensaje iniciado por: Panocho en 16 de Junio del 2019, 13:02:45 pm

Título: Posibilidad Aviso falta de subida de datos
Publicado por: Panocho 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
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: B.Santiago 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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper 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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho 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
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: nafarro 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
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: casacota 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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho 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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho 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?
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper 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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho 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
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper 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 (https://myaccount.google.com/lesssecureapps?utm_source=google-account&utm_medium=web) 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.



Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 22 de Julio del 2019, 23:39:21 pm
Muchas gracias.

Lo voy a intentar, cuando lo pruebe contaré
 apla3 apla3
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: diegocr 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
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper 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".

Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: diegocr 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 :-(
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 19 de Agosto del 2019, 23:10:27 pm
Siento no haber podido probarlo aún.

Cuando me he puesto me ha entrado una duda, supongo que la línea que hay que poner en PowerShell, donde tú has puesto "Password" | …., habría que poner la contraseña que tenemos. ¿Es correcto?

Saludos



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.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 19 de Agosto del 2019, 23:48:46 pm
Pues funcionar, según las instrucciones, funciona  plau2 plau2  apla3 apla3

Espero que cuando no mande reciba el correo, y lo vea.

Muchas gracias una vez más

Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 00:26:09 am
Perfecto  :)

Has probado a ejecutarlo 4 veces seguidas en el Programador de tareas para ver si te envía el correo ?
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 11:25:05 am
Sí, lo he probado tras decírmelo tú, pero lamentablemente no me envía el correo.
De hecho, antes de ver tu mensaje he desactivado Visual Star Meteoclimatic durante más de una hora y tampoco funcionó. Es más creo que si Visual se "desconecta" tampoco funcionaria ya que viendo el archivo que genera "comp.txt" tenía guardados valores diferentes. Lo veo lógico porque toma los valores directamente de WeatherDisplay y no de Visual Star Meteoclimatic, que era lo que yo pensaba.

Saludos
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 11:39:20 am
Puedes poner el contenido del archivo comp.txt ?
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 11:42:57 am
¿Por aquí o por privado?
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 11:48:17 am
Aquí lo llevas
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 11:54:54 am
Y ahora con 4 ejecuciones seguidas
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 12:04:17 pm
Con esa última prueba te debería de haber enviado el email. Mira a ver si falla algo en la configuración del correo.

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

Cambiaste en este paso la palabra Password por la contraseña de tu correo ?
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 12:07:24 pm
También decir que esto solo detecta fallo en la plantilla generada localmente... de Visual no va a detectar nada. Para ver si los datos de tu estación están actualizados en meteoclimatic habría que ir mirando el RSS (que es un XML) de tu estación periódicamente en ese mismo script o en otro.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 12:12:54 pm
Sí, cambié la "Password" por la clave propia y me generó el archivo que he llamado "passwd2.txt"

Ahora te envío el archivo de plantilla de correo
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 12:51:45 pm
Mira en ese script en la configuración el campo $EmailFrom = ".....". Has puesto outllok y es outlook.

Lo demás lo veo bien
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 13:29:08 pm
¡Qué despiste! Lo siento

He revisado y no veo nada más, pero sigue sin mandar el correo. He vuelto a realizar lo de la contraseña y he probado y sigue sin mandar. No lo entiendo.

Seguramente hay algo que se me escapa.

Unas preguntas, ¿tengo que tener abierto la aplicación de correo? ¿Debería ver en la bandeja de salida el correo si se mandara? ¿Es rápido, instantáneo desde que doy a ejecutar (4 veces) la tarea?

He probado a ejecutar con la aplicación de correo abierta y cerrada y en ningún caso veo el correo de salida, ni tampoco en el correo de destino
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 15:18:59 pm
Ok se me ha olvidado comentarte antes que cada vez que pruebes tienes que poner la bandera del archivo flag.txt a 0 ya que sólo enviará el correo con la bandera a 1 (cuando falle la primera vez). Si no encuentra mal la comparación de plantillas se pondrá ella sola a 0.

Si quieres probarlo explícitamente con powershell ve a la carpeta donde tienes el script correoplantilla.ps1 y abres en ella una ventana de powershell (mantienes presionada una de las dos teclas de Mayúsculas del teclado y le das al botón derecho del ratón y entre las opciones pondrá Abrir la ventana de Powershell aquí)

Una vez en powershell ejecutas:

powershell -ExecutionPolicy Bypass -F correoplantilla.ps1

Si hay algún fallo te saldrá en letras rojas. Ponlo para ver qué falla. También mira si te bloquea la salida del correo algún cortafuegos.

Y no hace falta tener un cliente de correo abierto para que lo envíe, eso va a nivel de servidor, el cliente que lo envía en este caso es el script. El cliente de correo lo usarás para ver si te ha llegado al email de destino.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 18:13:25 pm
Fichero Flag.txt
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 19:37:56 pm
Quizás me expresé mal. Tienes que abrir ese archivo flag.txt y cambiar el número que haya por un 0 (si no es ya 0) y entonces probar las 4 veces seguidas a ejecutar el script para que te envíe el correo.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 20 de Agosto del 2019, 22:44:00 pm
Sigue sin enviar correo.
He probado a enviarlo al mismo correo desde el que se envía y tampoco
Solo me quedaría probar con una cuenta de Gmail
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 20 de Agosto del 2019, 23:55:31 pm
Si ejecutas el script en la ventana de powershell como te indiqué en la respuesta anterior a la cuarta vez debería de detenerse unos pocos segundos (síntoma de que está enviando el correo) y pone otra vez el símbolo del sistema.

Yo lo he probado con el mío y va bien.

Si quieres que lo pruebe yo quedamos por TeamViewer e intento hacértelo funcionar mañana.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 21 de Agosto del 2019, 00:08:42 am
He creado una cuenta de Gmail.

Probado y me da error: Excepción al llamar a "Send" con los argumentos "1": "El servidor SMTP requiere una conexión segura o el cliente no se
autenticó. La respuesta del servidor fue: 5.5.1 Authentication Required. Learn more at"
En C:\Users\Soameteo\Documents\correoplantilla.ps1: 51 Carácter: 5
+     $SMTPClient.Send($SMTPMessage)
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : SmtpException

Si me dices una hora, te lo agradeceré
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 21 de Agosto del 2019, 00:12:07 am
Ok seguimos por privado
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 21 de Agosto del 2019, 19:58:03 pm
Bueno pues tras haber visto por TeamViewer dónde estaba el fallo lo corrijo en el tutorial para que no le pase a nadie.

El problema estaba en la línea para encriptar de la contraseña.

En powershell (como en PHP y algún lenguaje más) las cadenas de texto encerradas entre comillas dobles pueden tener conflictos con caracteres especiales al interpretarlos dando resultados no deseados (y la contraseña contenía un signo de dólar) por lo que lo mejor es encerrar la contraseña entre comillas simples para que no ocurra eso.
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: Panocho en 21 de Agosto del 2019, 23:20:37 pm
 apla3  plau2

Gracias a Jmviper por su tenacidad y buen hacer, ya me funciona

Es un crack estupendo
Título: Re:Posibilidad Aviso falta de subida de datos
Publicado por: jmviper en 22 de Agosto del 2019, 12:11:09 pm
Ok perfecto  :)

Se puede rizar más el rizo y se puede comprobar el RSS de meteoclimatic de nuestra estación para ver si las dos fechas que contiene (la de publicación del RSS aunque también se podría tomar la del sistema y la de la última actualización de la plantilla) se diferencian entre ellas digamos 1 ó 2 horas y que envíe un correo por estar desactualizados nuestros datos en meteoclimatic.

Lo probaré en los próximos días.

También lo haré para Linux para los usuarios de Raspberry.