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

0 Usuarios y 2 Visitantes están viendo este tema.

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 #90 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


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

www.meteoarchena.es

Desconectado Audit

  • Moderador Global
  • Sr. Member
  • ******
  • Mensajes: 331
    • Ver Perfil
  • Estación: Auditorías
Re:Utilidad de envío de la plantilla en Python
« Respuesta #91 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.

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #92 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.

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 #93 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).



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

www.meteoarchena.es

Desconectado Audit

  • Moderador Global
  • Sr. Member
  • ******
  • Mensajes: 331
    • Ver Perfil
  • Estación: Auditorías
Re:Utilidad de envío de la plantilla en Python
« Respuesta #94 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."

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 #95 en: 06 de Febrero del 2020, 15:05:42 pm »

De la wiki (esa que nadie leemos):


+1


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

www.meteoarchena.es

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 #96 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


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

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #97 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')

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 #98 en: 08 de Febrero del 2020, 08:34:06 am »
Hola Guillermo

Has concedido permiso en Gmail a o de las aplicaciones menos seguras ?


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

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #99 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.

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #100 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

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #101 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?

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 #102 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 ?


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

www.meteoarchena.es

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 #103 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.


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

www.meteoarchena.es

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Utilidad de envío de la plantilla en Python
« Respuesta #104 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?