Software > WeatherLink
Lluvia 48 horas
jmviper:
Bueno veamos, script en pruebas
Sacará la lluvia de las últimas 24h, 48h y de ayer:
--- Código: ---<?php
$direccionlocal = '/fotos/MESES%20PASADOS/downld08.txt';
$contenido = array_reverse(file($direccionlocal));
$lineas = count($contenido);
$ultimas24h = 0; $ultimas48h = 0; $ayer = 0;
$fecha_act = time();
for ($i = 0; $i < $lineas; $i++){
$linea = preg_split('/\s+/ ',trim($contenido[$i]));
$fecha = explode('/',$linea[0]);
$fecha = $fecha[0].'-'.$fecha[1].'-20'.$fecha[2];
$fecha = strtotime($fecha.' '.$linea[1]);
$lluvia = $linea[16];
if ($fecha_act - $fecha < 172800) {
$ultimas48h += $lluvia;
if ($fecha_act - $fecha < 86400) $ultimas24h += $lluvia;
if (date('d/m/y',strtotime('-1 day',$fecha_act)) == $linea[0]) $ayer += $lluvia;
}
else break;
}
$ultimas24h = number_format($ultimas24h, 1);
$ultimas48h = number_format($ultimas48h, 1);
$ayer = number_format($ayer, 1);
if (isset($_GET['valores'])) echo 'Últimas 24 horas = ',$ultimas24h,' mm<br/>Últimas 48 horas = ',$ultimas48h,' mm<br/>Ayer = ',$ayer,' mm';
?>
--- Fin del código ---
Lo he puesto con la dirección local del archivo downld08.txt del servidor de PIN así que habría que poner la ruta en que cada uno lo tuviese.
Si ejecutamos el script vía web no saldrá nada en el navegador (buen síntoma, no habrían errores) y para ver el resultado pondríamos la dirección + ?valores
Con eso podríamos ver los valores, tipo http://miweb/lluvia48h.php?valores (no lleva a ningún sitio esta dirección, es sólo un ejemplo)
Lo de meterlo con PHP en cualquier página quedaría así (ejemplo anterior del código de PIN):
--- Código: ---<table width="100%" border="1">
<tbody>
<tr>
<td><?php include '/lluvia48h.php'; echo 'Últimas 24 horas = ',$ultimas24h,' mm'; ?></td>
</tr>
<tr>
<td><?php echo 'Últimas 48 horas = ',$ultimas48h,' mm'; ?></td>
</tr>
<tr>
<td><?php echo 'Ayer = ',$ayer,' mm'; ?></td>
</tr>
</tbody>
</table>
--- Fin del código ---
kocher:
--- Cita de: jmviper en 21 de Abril de 2020, 00:26:18 ---No hay nada que perdonar kocher ;)
Quizás no has visto que he dicho en un anterior mensaje que el archivo downld02.txt no es exactamente de las últimas 48 horas sino del día actual y el anterior por lo que ya no son esas últimas 48 horas y que para extraer esas 48 horas hay que trabajar con el otro archivo más largo de WL llamado downld08.txt
De ahí ya sí podemos sacar las últimas 48 e incluso la última semana *+* *+*
Como ya he dicho ese archivo lo tienes en tu servidor pero lo tienes desactualizado:
http://kocher.es/downld08.txt
--- Fin de la cita ---
Ufff, no he dado ni una; ahora ya está actualizado el archivo:
http://kocher.es/downld08.txt
http://kocher.es/lluvia48h.php?valores
jmviper:
Tranquilo tranquilo kocher… a veces pasa al perder el hilo *+* *+*
Perfecto, ya he visto tu script y está sumando los valores del barómetro y por eso salen una burrada de cifras...
Cambia el índice de la línea $lluvia = $linea[16]; de 16 a 17 y saldrá la lluvia.
Ocurre porque tu downld08.txt tiene otro campo anterior que no tiene el de PIN, concretamente el THSW Index ya que tendrás sensor de radiación solar y WL pone ese campo "extra".
kocher:
--- Cita de: jmviper en 21 de Abril de 2020, 10:25:44 ---
Perfecto, ya he visto tu script y está sumando los valores del barómetro y por eso salen una burrada de cifras...
Cambia el índice de la línea $lluvia = $linea[16]; de 16 a 17 y saldrá la lluvia.
Ocurre porque tu downld08.txt tiene otro campo anterior que no tiene el de PIN, concretamente el THSW Index ya que tendrás sensor de radiación solar y WL pone ese campo "extra".
--- Fin de la cita ---
Efectivamente, lo has solucionado (como de costumbre) je je
apla3
jmviper:
Perfecto :) :)
Veo que las cantidades que recoge el script son las correctas, 1 mm ayer y 8.8 mm de las últimas 24 h y 9.8 mm de las últimas 48 h.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa