Autor Tema: Script PHP para contar envíos de la plantilla  (Leído 12592 veces)

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

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Script PHP para contar envíos de la plantilla
« Respuesta #15 en: 11 de Junio del 2017, 19:22:11 pm »
Bueno pues parece que está todo bien. Aunque sí que se pierde alguno de los envíos. Creo que nada preocupante.

pi@raspberrypi:~ $ sudo php contarenvios.php
07/06/2017   buenos: 22       malos o no enviados: 74
08/06/2017   buenos: 96       malos o no enviados: 0
09/06/2017   buenos: 96       malos o no enviados: 0
10/06/2017   buenos: 96       malos o no enviados: 0
11/06/2017   buenos: 68       malos o no enviados: 1

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Script PHP para contar envíos de la plantilla
« Respuesta #16 en: 12 de Junio del 2017, 11:55:27 am »
Bueno vamos a tener que ver más cosas.

Te adjunto el gráfico y la tabla del IR que sólo podemos ver los administradores.

En él se ve que a lo más alto que llegas la mayoría de días es a 4750 en el primer tramo y son 4800 el máximo posible (50 x 96) por lo que falla un envío al día. Dió la casualidad que al cambiar las horas del crontab ayer perdiste 4 envíos por lo que cuando puedas adjunta de nuevo el log para revisar el día de ayer y ver qué ha fallado en los envíos.

Hay que ir depurando cosas.



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:Script PHP para contar envíos de la plantilla
« Respuesta #17 en: 12 de Junio del 2017, 17:12:52 pm »
A mí al ejecutar tu script me da que ayer perdí 2, no 4.

pi@raspberrypi:~ $ sudo php contarenvios.php
07/06/2017   buenos: 22       malos o no enviados: 74
08/06/2017   buenos: 96       malos o no enviados: 0
09/06/2017   buenos: 96       malos o no enviados: 0
10/06/2017   buenos: 96       malos o no enviados: 0
11/06/2017   buenos: 94       malos o no enviados: 2
12/06/2017   buenos: 60       malos o no enviados: 0

te paso el log de ahora


Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Script PHP para contar envíos de la plantilla
« Respuesta #18 en: 12 de Junio del 2017, 19:10:32 pm »
Pues tenemos un serio problema entonces... no es fiable al 100% el script

Te explico. El script cuenta los envíos exitosos (202: Accepted) pero parece ser que no son leídos por el robot todos ellos por lo que no se sabe a ciencia cierta cuántos han sido exitosos en lectura.

Efectivamente ayer el script cuenta 2 malos que no están con el código 202 y 94 enviados con ese código. Y no veo manera de mejorarlo con los datos que ofrece el log.

Lo siento  ::) ::)


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

www.meteoarchena.es

EA4TN

  • Visitante
Re:Script PHP para contar envíos de la plantilla
« Respuesta #19 en: 12 de Junio del 2017, 20:04:59 pm »
Eso no lo vas a saber nunca.

Yo mando cada 5 minutos, pero el robot solo admite uno de cada 3. Aún así, a pesar de que me admita todos los envíos, algún día he terminado con algún "hueco".

Tu script puede contar cuentos envía, pero no cuantos son procesados y aceptados por el robot.

La única posibilidad sería que el script, mediante wget entrara en la ficha de la estación, leyera la última plantilla y comparara con la enviada. Pero me da la sensación que ninguno tenemos el nivel para escribir el script....aunque Google siempre ayuda

Desconectado Telares

  • Hero Member
  • *****
  • Mensajes: 699
    • Ver Perfil
  • Estación: Matueca ESCYL2400000024820A
Re:Script PHP para contar envíos de la plantilla
« Respuesta #20 en: 12 de Junio del 2017, 21:11:22 pm »
Pues tenemos un serio problema entonces... no es fiable al 100% el script

Te explico. El script cuenta los envíos exitosos (202: Accepted) pero parece ser que no son leídos por el robot todos ellos por lo que no se sabe a ciencia cierta cuántos han sido exitosos en lectura.

Efectivamente ayer el script cuenta 2 malos que no están con el código 202 y 94 enviados con ese código. Y no veo manera de mejorarlo con los datos que ofrece el log.

Lo siento  ::) ::)
Por supuesto que no hay problema. Veo que has dedicado mucho tiempo a ello y estoy muy agradecido. Creo que este tema de los envíos aceptados nos interesa a muchos de nosotros no solo por el IR. Yo pensaba que mi conexión a internet era peor de lo que estoy viendo. Me parece que perder varios diarios no afecta a la calidad de la estación meteorológica en general. Por desgracia hay otros compañeros que pierden días enteros por fallos de conexión.
Saludos
Eso no lo vas a saber nunca.

Yo mando cada 5 minutos, pero el robot solo admite uno de cada 3. Aún así, a pesar de que me admita todos los envíos, algún día he terminado con algún "hueco".

Tu script puede contar cuentos envía, pero no cuantos son procesados y aceptados por el robot.

La única posibilidad sería que el script, mediante wget entrara en la ficha de la estación, leyera la última plantilla y comparara con la enviada. Pero me da la sensación que ninguno tenemos el nivel para escribir el script....aunque Google siempre ayuda

Evidentemente​ por lo laborioso que resultaría hacer ese script, lo dejamos así. Creo que entonces volveré a enviar cada 5 minutos tal y como me recomendaste cuando me ayudaste a hacer mi instalación.
Gracias

EA4TN

  • Visitante
Re:Script PHP para contar envíos de la plantilla
« Respuesta #21 en: 12 de Junio del 2017, 21:36:03 pm »
Veamos, lo ideal sería que, alguien con conocimientos de Python creara un uploader como hay para otros muchas páginas meteorológicas.

El problema es que yo no tengo esos conocimientos de python.....en realidad, de python no sé nada de nada.

Mientras tanto, ahora mismo lo óptimo es mandar la plantilla, con el script, cada 5 minutos. Sabiendo que el robot los admitirá todos o casi todos y que solo procesará uno cada quince minutos. Es decir, procesará 1 de cada 3 por la programación interna de Meteoclimatic.

Pero aunque te admita todos los envíos realizados cada 5 minutos, siempre puede haber algún fallo, aunque no es habitual.

Si alguien sabe de Python, que lo diga, Weewx tiene muy buena documentación para crear extensiones.

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Script PHP para contar envíos de la plantilla
« Respuesta #22 en: 12 de Junio del 2017, 22:42:36 pm »

Si alguien sabe de Python, que lo diga, Weewx tiene muy buena documentación para crear extensiones.


Python.... creo que solo sé utilizar el comando print  *+* *+*. Bueno miento... sé lo básico nada del otro mundo para crear pequeños scripts por lo que claro está que si alguien sabe serán bienvenidos sus conocimientos.

Telares como sabrás y dada mi torpeza aún con Linux del que EA4TN es un maestro hemos tratado el tema del script PHP para la subida de datos a meteoclimatic:

http://forum.meteoclimatic.net/index.php/topic,1418.0.html

Yo te ayudé como pude en este otro hilo:

http://forum.meteoclimatic.net/index.php/topic,1313.0.html

Puedes tratar de poner la instalación como se debe de poner. Pero si ya no vas a contar los envíos con el script de este hilo mejor que en el crontab quites que te cree el log y más si lo pones cada 5 minutos como indica EA4TN para que no se te llene poco a poco el log quitándote espacio en la Raspi.

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:Script PHP para contar envíos de la plantilla
« Respuesta #23 en: 13 de Junio del 2017, 07:39:08 am »
Efectivamente ambos me llevásteis en volandas durante la instalación de mi sistema. Gracias de nuevo. De momento voy a volver a la situación anterior hasta que a través del IR detecte un bajón en los envíos. Gracias a vuestro trabajo podré poner el log  e intentar averiguar qué pasa.
Saludos.

EA4TN

  • Visitante
Re:Script PHP para contar envíos de la plantilla
« Respuesta #24 en: 13 de Junio del 2017, 09:44:48 am »
Por continuar el tema.....se me ocurre algo como esto.

Me conecto a mi plantilla, mediante RSS Feed y busco la actualización

Citar
#!/bin/bash
cd ~
act=$(wget -q -O- http://www.meteoclimatic.net/feed/rss/ESMAD2800000028522A | grep Actualizado)
echo $act

A partir de aquí volcar en fichero y manejar los textos, es cosa de paciencia y googlear.





EA4TN

  • Visitante
Re:Script PHP para contar envíos de la plantilla
« Respuesta #25 en: 13 de Junio del 2017, 10:07:53 am »
Un paso más

Citar
#!/bin/bash
cd ~

act=$(wget -q -O- http://www.meteoclimatic.net/feed/rss/ESMAD2800000028522A | grep Actualizado | \
sed 's/<li> //g' | sed 's/<\/li>//g')
echo $act

Resultado
Citar
jantoni@Elite-8300:~$ ./prueba.sh
Actualizado: 13-06-2017 07:51 UTC

Desconectado jmviper

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 4.403
  • "Vortex Complex"
    • Ver Perfil
    • www.meteoarchena.es
  • Estación: Archena - ESMUR3000000030600B
Re:Script PHP para contar envíos de la plantilla
« Respuesta #26 en: 13 de Junio del 2017, 20:26:54 pm »
Interesante....

Puede servir sí. Como yo soy más de PHP que del "difícil" bash he creado un pequeño código que va añadiendo las fechas de la actualización a un archivo cada 15 minutos con el crontab:

Código: [Seleccionar]
<?php

$datos 
file_get_contents('http://www.meteoclimatic.net/feed/rss/ESMUR3000000030600B');

$fecha =  substr(explode('Actualizado: ',$datos)[1],0,20).PHP_EOL;

$fichero fopen('/var/www/weewx/dias.txt','a');

fwrite($fichero,$fecha);

fclose($fichero);

?>


resultado en /var/www/weewx/dias.txt

Código: [Seleccionar]
root@orangepipc:~# cat /var/www/weewx/dias.txt
13-06-2017 16:15 UTC
13-06-2017 16:30 UTC
13-06-2017 16:45 UTC
13-06-2017 17:00 UTC
13-06-2017 17:15 UTC
13-06-2017 17:30 UTC
13-06-2017 17:45 UTC
13-06-2017 18:00 UTC

Lo siguiente sería contar las actualizaciones del día y que no sean repetidas e ir truncando el archivo :D


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

www.meteoarchena.es

EA4TN

  • Visitante
Re:Script PHP para contar envíos de la plantilla
« Respuesta #27 en: 13 de Junio del 2017, 21:20:47 pm »
Solo lo ponía a título didáctico. Evidentemente, habría que hacer lo que has hecho tu, volcar en un fichero y luego manejarlo a tu antojo.

La ventaja de Python es la portabilidad, pero vale cualquier sistema