Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - CarlosLSev

Páginas: 1 ... 3 4 [5] 6 7 ... 19
61
Hola es https://www.meteoviso.es/ajaxCUwx.js , ahora mismo está sobre el fichero final.

62

Buenas, te voy respondiendo:

Pronto pronto... a ver si para este mes y para cosas básicas en principio. Tengo que desliarme un poco con los proyectos. Por lo que veo vamos a comentar primero cosas de javascript.

Mas vale tarde que nunca



Le llamé de dos maneras diferentes en dos funciones distintas pero no altera el funcionamiento, quizás ni me di cuenta. teomaxrad es como le puse a la variable dentro de la función principal ajaxLoader que es la que se encarga de actualizar los valores con su setInterval (ahora te comentaré más adelante esto). Sin embargo teoradmax es como se llama dentro de la función condic

Así tenemos que dentro de la función ajaxLoader creamos la variable teomaxrad a la que le asignamos el valor de radiación máxima teórica del realtime.php y después la metemos en la función condic

var condiciones = condic(porcen10m, porcen1h, solar, porcen, rad1min, rad2min, teomaxrad, humidity, wind, rainratehr, diaonoche, ajaxtimeformat.split(':')[0]);

Dentro de esa función se llama teoradmax:

function condic(solar10, solar60, solar, solarpct, solar1, solar2, teoradmax, humedad, viento, intensidad, diaonoche, hora) {...

Como ves una cosa son los nombres de las variables que se meten como argumentos de la función y otra cómo son tomados dentro de la función (según la posición del argumento). Todo esto son cosas básicas de las funciones.

Entiendo mas o menos lo que me explicas, una cosa es la variable y otra función



Viendo tu código para crear lo del metar has puesto más código de la cuenta, basado seguramente en prueba/error. Te lo comento un poco:

Jeje, por supuesto google, leer y probar es lo mío.

No hace falta ponerle el 0 como string (encerrado en las comillas), lo puedes poner como número, de hecho "0" == 0 es verdadero.
Aquí estás sobrescribiendo lo que has declarado antes, puedes prescindir por lo tanto del bloque anterior. Por ejemplo le estás dando otro valor a la variable SKC que será su posición en el string (-1 si no existe), pero no uses eso para ver si existe una palabra en un texto, por ejemplo si la palabra está al principio te devolvería posición 0 que sería false. Usa match() o test() de la siguiente manera:

var SKC = Metar.match("SKC");
ó

var SKC = /SKC/.test(Metar);

Esta última es más rápida en ejecución ya que match devuelve un objeto que se evalúa a true si existe la cadena y undefined que se evalúa a false si no existe, mientras que test devuelve los boleanos true o false. O sea que no hace falta ponerle los ifs siguientes ni declararlos anteriormente.

Si realmente si el código esta al principio no funciona, lo puse con match y perfecto, corregido


Así la línea del if puede quedar así:

Código: [Seleccionar]
if (con1 != "Despejado" && teoradmax >= 30 && (SKC || CAVOK || NSC || NCD ))  con1 = " Despejado";
A veces me complico solo, mas fácil y limpio imposible




También cuando llamas a la URL con ajax no hace falta ponerle el dominio completo en la URL sino solamente la ruta relativa:

req.open('GET', 'cache/metarcache-LEZL.txt', false); // Direccion url del fichero cache, sustituir XXXX por el codigo de estacion Metar


No había caído



En cuanto al html adjunto que has puesto mejor que me pongas el enlace a su página ya que se puede ver su código fuente en el navegador y verlo en funcionamiento. Yo en local poco puedo probarlo.

Mmmm no te entiendo, lo adjunte y también puse el enlace al final del todo, entiendo que no lo viste
Condicionesmx con metar


Y ahora ya para finalizar no tienes que poner el script en la página principal sin más. En javascript si metes un setInterval dentro de otro setInterval sucede que se vuelve loca la página como a ti te pasa porque se están llamando ya alterando los intervalos. Cuidado con eso porque puede generar muchísimas peticiones al servidor hasta colapsarlo tipo ataque DOS ó DDOS aunque probablemente sea el navegador el que colapse antes.
La página llama al setInterval que hay en el ajaxCUwx.js y si le pones ese después ya viene el lío. Ese código lo deberías de combinar en el ajaxCUwx.js poniendo las funciones condic y condicicon (en las declaraciones de funciones al principio del script) y después en el interior de la función ajaxLoader donde se manejan los datos del realtime poner las líneas que llaman a las condiciones nubosas:

Código: [Seleccionar]
//Condiciones actuales

var ajaxtimeformat = realtime[1];
var porcen = realtime[59];
var rad1min = realtime[60];
var rad2min = realtime[61];
var porcen10m = realtime[62];
var porcen1h = realtime[63];
var diaonoche = realtime[49];
var teomaxrad = realtime[56];

var condiciones = condic(porcen10m, porcen1h, solar, porcen, rad1min, rad2min, teomaxrad, humidity, wind, rainratehr, diaonoche, ajaxtimeformat.split(':')[0]);

set_ajax_obs("ajaxconditionicon2", condicicon(teomaxrad, condiciones, temp));
set_ajax_obs("ajaxcurrentcond", condiciones);

Con eso no haría falta incluir el condicionesmxmetar.html en un iframe


Voy a ver si soy capaz....


Ya me vas diciendo cómo vas los cambios si quieres ir probando lo que te he dicho.

Claro que lo iré probando, ya todo corregido, salvo lo de incluirlo en la web sin iframe, creo que seré capaz, mil gracias

Edito no soy capaz, he puesto las líneas en el mismo lugar en el ajaxCUwx.js y aparentemente no da error, pero si declaro una variable para probarlo junto antes de los if , var intensidad = 10; no hace nada.... Creo que falta algo mas


Saludos

63
Buenas, antes de todo felicitar las fiestas y el año nuevo.
Saludos al mago jmviper.
Con tu permiso he añadido al script la opción que nos muestre la nubosidad durante la noche tomando los datos de la estación METAR mas cercana. Primero lo adapte en php y luego en js
Lo que hice, es aprovechar que ya tengo por la plantilla Saratoga, en la carpeta /cache un fichero .txt con cada una de las líneas Metar configuradas. Me centro en la las cercana a mi localidad LEZL. (www.tuweb.es/cache/metarcache-LEZL.txt)
Leo el fichero, lo paso a una variable y luego busco los códigos y si existen les doy el valor 1 y si no el 0.
Los asigne así:
SKC Despejado
FEW Poco Nuboso o Nubes escasas
SCT Parcialmente nuboso o Nubes dispersas
BKN Muy nuboso
OVC Cubierto
FG Niebla
BR Neblina
CAVOK Despejado
NSC Despejado
NCD Despejado
VV Oscurecido
Igual hay que añadir alguno mas...
La modificación solo se activa cuando Anochece, durante  la noche y Amaneciendo (teoradmax < 30), salvo  Niebla o Neblina que lo harán a cualquier hora si hay un  96% o mas de humedad.
La única línea a rellenar es la numero 7:
Código: [Seleccionar]
req.open('GET', 'https://www.tuweb.es/cache/metarcache-XXXX.txt', false);(Lo explico, pero vamos que es por si alguien decide usarlo, tu lo veras al vuelo)
Sobre mis cosas raras del script Poco nublado, nublado etc.. vamos la falta de la condición "Despejado" sigo mas o menos igual, entiendo que entre la sombra sobre las 14:30 y otra hora que tengo por la mañana sobre las 10:30, ya sea por mala colocación de la estación o calidad de lo sensores no comparables a una estación mas profesional finalmente he recurrido a esta solución.
Código: [Seleccionar]
if (con1 != "Despejado" && teoradmax >= 30 && (SKC === "1" || CAVOK === "1" || NSC === "1" || NCD === "1" ))  con1 = " Despejado";Básicamente es que si la condición no es "Despejado" y la estación metar indica que si lo esta imponga dicha condición. No es la mejor solución, pero funciona y puedo seguir usando tu script


Ahora quiero preguntarte una duda del script  sobre la var teomaxrad = realtime[56];
Cuando la declaras la llamas teomaxrad, pero luego en mas partes del código la llamas teoradmax
Código: [Seleccionar]
else if (teoradmax === "0") con1 = "Noche";Es cosa mía o es un error¿?

Y para terminar para añadir el script a la web la única forma que no se me vuelva loca la web es con iframe, el problema es que a veces la descripción es una simple palabra y otras son 2 filas, si lo dejo muy ajustado con el iframe luego se me corta, y si le doy mas margen se ve mucho hueco debajo del texto, sobre todo en la versión móvil. ¿alguna sugerencia?
Lo dejo adjuntado
Saludos
¿por cierto para cuando una sección php?
Condicionesmx con metar

64
Tras leerte y según te entiendo,  agregó sobre la línea 777
 // inTemp
      var intemp   = realtime[22];
      set_ajax_obs("ajaxintemp",intemp) ;

Se supone que debe darme valor de la temperatura interior.
Con un <span class="ajax" id="intemp"></span>
Pero no muestra nada. Con cualquier otro valor ya definido no tengo problema.
Eres un mago, ya lo cambie todo a ajax. Añadi las varibles y funciones que faltaban y funciona!!

<span class="ajax" id="ajaxintemp"></span>

tienes que poner el primer nombre de la función set_ajax_obs. Esa función busca la etiqueta con id con ese nombre y pone el valor de la variable (en este caso intemp) en ella.

65
Y no puedes subir la estación un poco más ?? Quizás un metro más y ya no tendrías el problema.

Hola
Otra alternativa  podría ser cambiar la estación al mismo mástil de la antena, en la punta y bajar la antena esos 60-70 cms que parece haber hasta el juego de vientos

Te resultaría posible?

Tengo que verlo, pero se me complica algo la.cosa. Sobre cambiarlo al otro mastil en este caso estaría muy alta, pero para hacerle mantenimientos sería un poco lioso para bajarla y subirla. La antena no puedo bajarla ya que tengo un árbol a lo lejos y me impediría la recepción de la TDT. Tengo que subir y ver dónde da la sombra o a qué altura podría salvarlo pero en todo caso subiendo el mastil actual. Gracias por la sugerencia.

66

Valla no sabia lo de ver las variables en acción. Pero no se por que no puedo imprimirlas en pantalla desde el propio script, aunque  eso es lo de menos.
var porcen = realtime[59];
      
Si fuese $porcen = realtime[59]; no habría problema, pero ese ya es otro tema.


Lo primero es javascript, lo segundo PHP. PHP se ejecuta en el servidor, javascript en el navegador.

Tu web está basada en Saratoga y hace ya algún tiempo (5 años) puse en esta misma sección del foro un tema con chincheta sobre el funcionamiento con Ajax de estas páginas:

https://forum.meteoclimatic.net/index.php/topic,1032.0.html

Básicamente hay que ponerle un atributo class="ajax" y un id="iddelvalorquesequierecambiar" al elemento <span> en el que queremos que se actualice la información en cada petición ajax. Luego en el script se van poniendo set_ajax_obs("iddelvalorquesequierecambiar", variableamostrar); dentro de la función llamada por Ajax.

Así puedes poner toda la info que quieras en la página en tiempo real.
Si, en su día lo leí, pero me sigue sonando a chino... Ya puestos
Tras leerte y según te entiendo,  agregó sobre la línea 777
 // inTemp
      var intemp   = realtime[22];
      set_ajax_obs("ajaxintemp",intemp) ;

Se supone que debe darme valor de la temperatura interior.
Con un <span class="ajax" id="intemp"></span>
Pero no muestra nada. Con cualquier otro valor ya definido no tengo problema.

67
Hola, tendría que verlo, pero la verdad es complicado ya que al subirla tendría que poner vientos y tampoco se si se saltaría la sombra, es que la hora a la que pasa es mu mala hora, pero todo se andará. Pero a ver que finde puedo subir y observarlo
Voy a intentar que la condición Despejado no sea tan exigente por así decirlo, por lo demás, las condiciones suelen ser correctas.
Valla no sabia lo de ver las variables en acción. Pero no se por que no puedo imprimirlas en pantalla desde el propio script, aunque  eso es lo de menos.
var porcen = realtime[59];
      
Si fuese $porcen = realtime[59]; no habría problema, pero ese ya es otro tema.
Saludos crack


68
Buenos días jmviper. La sombra la produce el mastil de la antena de TV. Sinceramente nunca pensé que estando el sol a esa altura le haría sombra. En cuanto a mover la estación lo tengo complicado. Ahora mismo está en el sitio más alto , para intentar no falsear datos. Son viviendas adosadas, y la tengo puesta casi pegada al vecino, en su caso el mastil no molesta ya que la sombra va hacia el otro lado. Es mi propio mastil el que da esa sombra. Poco que hacer a nivel de emplazamiento.

Digamos que lo que no hace bien (no por culpa del script) sobre todo horas iniciales del día hasta las 12-12:30 y horas finales desde las 16, y incluyendo los minutos de sombra (minutos sobre las 14:20) que no suele mostrar Despejado Aunque el dia si lo este
El script trabaja bien, muestra lo que le llega. Voy a indicarle que por ejemplo que no salte tan rápido ese Poco Nublado en horas centrales del día.

Entiendo que debe ser de
else if (solar10 == 100 && solar60 == 100 && (solarpn > 9 || solarpn1 > 6)) con1 = "Poco nublado";";
a
else if (solar10 == 100 && solar60 == 100 && (solarpn > 9 || solarpn1 > 26)) con1 = "Poco nublado";

Para horas iniciales y finales he añadido otra línea "Despejado";


else if (solar >= 20 && teoradmax > 20 && solarpct > 15) con1 = "Despejado";

Lo mismo es una burrada y luego si está nublado no salta la que debería, pero por probar.
Por cierto he sido incapaz de mostrar en pantalla los valores de solarpn y solarpn1
Estoy haciendo pruebas con el script teniendo el tuyo sin tocar nada y este Script para toquetearlo.
A ver de qué soy capaz...

PD.
Mi intención en conseguir Despejado desde primera hora a última hora, teniendo en cuenta que desde las 16 baja mucho la radiación. Lo ideal es que marque despejado si el cielo lo está aunque este apunto de hacerse de noche (antes de que ponga Anochecer).
Y ver si es posible."engañar" al script esos minutos de sombra aunque lo veo imposible... Además la hora de sombra va cambiando cada día que pasa y cada día puede ser distinto.
¿Alguna forma en caso de bajada drástica de radiación por la sombra que siga la línea anterior antes de la sombra?. O que tome/compare la nubosidad de la estación META y según datos muestre... Yo por pedir, a tomar viento me vas a mandar!!😂

69
Buenas, hoy hemos tenido un día esplendido, y no se por que hoy no se produjo esa sombra. En varias fases, muchas del día el script mostro "Despejado" cosa que antes casi nunca hacia pero en otras muchas "Poco Nublado", por cierto tampoco quiero darte mucho mas la lata con esto.. Que bastante te la he dado ya...

70
La estación sigue puesta exactamente en el mismo lugar. B. Santiago. Como se puede comprobar, en hora civil,  a las 12:05  pega un bajón, a las 12.20 esta abajo y a las 12:35 sigue normalmente, esta claro que debe tener una sombra, no se de que, sobre todo por que sobre esa hora el sol esta muy arriba. Este finde no estuve aquí así que no pude observarlo. Lo que si parece que sensor de UV/solar no pega esos bajones al amanecer y el día como si hacia antes, si los da al atardecer, es mas normal puede tener varias sombras. En el adjunto de hoy se observa comparándolo con otra estación (la marcada en rojo) que su campana si es perfecta. A ver si próximo finde puedo subirse a esa hora, pensándolo ahora podría ser sombra de mástil o antena de tv, que aunque esta a unos 3-4 metros lo mismo es eso. Lo que si observo es que el sensor solar siempre va muy por debajo de otros, si el mío marca 300, otros están en 400 o mas. Buena parte del día si marco hoy despejado e script. Al menos se que algún problema había y eso si se ha resuelto, evidentemente, lo que produce la sombra sigue ahí. Lo seguiré observando.
La comparación con otras estaciones es perfectamente innecesaria e inútil. El estado del cielo y la intensidad de la radiación solar podrían pueden varíar notablemente  en cortas distancias y por diferentes factores, y por no referirme a la nubosidad visible lo referiré, para empezar, al  tipo de piranómetro, al polvo en suspensión, y a otros etcéteras. No te empeñes en obtener una parábola ni unos valores idénticos a los de otra estación, ni siquiera muy parecidos; no tiene sentido.
Repito una vez más que los sensores toman sus medidas en el emplazamiento en que están dispuestos, y no en otro lugar, por cercano que esté.
En cuanto a la existencia de sombras, (cosa que ofrecía pocas dudas) tú mismo lo dices: tendrás que observarlo, y tal vez corregirlo. En mi opinión no se trataría de una sombra ligera, difusa, de un mástil o antena en alto, (aunque también podría serlo), sino de una sombra bien intensa dada la profundidad de la hendidura en la parábola. Quizá sea la propia estación la que la origine: el pluviómetro, por ejemplo.
Dado que Meteoclimatic no guarda valores de radiación solar, (solo refleja y muestra la última medición), ni mira el UVI,  tiene muy poca importancia que tú parábola salga más o menos imperfecta.
En cuanto a las horas de sol..., es otro asunto del que quizá deberíamos desentendernos, a no ser para satisfacer tu curiosidad personal. A Meteoclimatic eso no le importa.

Hola, lo que intento es comprender que es lo que ocurre, si bien las comparaciones son odiosas  veces pueden ayudar, creo. esta claro que había 2 problemas, 1.- Esos saltos en la radiación solar, cosa que parece resuelta con el cambio de estación, y el 2.- Esa sombra sobre las 12:15, que bien podría ser dicho mástil,  o a saber y que curiosamente hoy no se ha reproducido, al menos tan pronunciado.
Lo dicho es raro lo de la sombra

71
Hola, el tema del calculo, lo puse como estaba por defecto, note que los días del 11 a 16 de nov apenas tenia horas de sol con Bras
Lo acabo de poner como me indicas (Bras) y también los multiplicadores, a ver que tal se comporta...

Gracias

72
Cumulus y Cumulus MX / Re:Perdida de lluvia mensual y anual
« en: 28 de Noviembre del 2021, 21:54:54 pm »
Aham, perfecto, voy a ponerlo como indicas, gracias eres un artista!!!

73
Cumulus y Cumulus MX / Re:Perdida de lluvia mensual y anual
« en: 28 de Noviembre del 2021, 19:39:52 pm »
Hola, para tenerlo un poco mas claro, sobre la copia de seguridad, según te entendí. Lo ideal es copiar las carpetas /data y backup/daily
En data esta todo lo importante actual e históricos. Y en backup/daily hay un subcarpeta que diariamente a las 00:00 se crea con la copia diaria/mensual de todo, pero sin los log(salvo mes actual). En dicha carpeta se incluye cumulus.ini.
Dentro de backup suele crearse otra copia cada vez que iniciamos cumulus. Siendo mas útil la copia de daily. Sobre todo si no solemos reiniciarlo mucho.


Realmente solo he restaurado una vez una copia, para pasar de una raspberry pi 1b a la raspberry pi 4 que tengo ahora, y por suerte fue en el mismo día, y funciono todo.
Si es el mismo día se puede dejar tal cual, y si no es el mismo día, podemos borrar, today.ini, yesterday.ini y cumulusmx.db.

A las malas teniendo la carpeta data copiada estando en el mismo mes, aunque hayan pasados unos días desde la copia. Podemos copiar el contenido dentro de /backup/daily/ fecha mas actual a data y se supone que debemos tener la copia perfecta. Vamos la carpeta data actualizada y con los log al día. Suponiendo que lo que hay dentro de daily debe ser una copia actualizada. Siendo lo mas importante tener copia de backup.

¿mas u menos correcto?
Saludos y gracias

74
Buenas hoy he tenido un día perfectamente despejado, y muy soleado. La estación sigue puesta exactamente en el mismo lugar. B. Santiago. Como se puede comprobar, en hora civil,  a las 12:05  pega un bajón, a las 12.20 esta abajo y a las 12:35 sigue normalmente, esta claro que debe tener una sombra, no se de que, sobre todo por que sobre esa hora el sol esta muy arriba. Este finde no estuve aquí así que no pude observarlo. Lo que si parece que sensor de UV/solar no pega esos bajones al amanecer y el día como si hacia antes, si los da al atardecer, es mas normal puede tener varias sombras. En el adjunto de hoy se observa comparándolo con otra estación (la marcada en rojo) que su campana si es perfecta. A ver si próximo finde puedo subirse a esa hora, pensándolo ahora podría ser sombra de mástil o antena de tv, que aunque esta a unos 3-4 metros lo mismo es eso. Lo que si observo es que el sensor solar siempre va muy por debajo de otros, si el mío marca 300, otros están en 400 o mas. Buena parte del día si marco hoy despejado e script. Al menos se que algún problema había y eso si se ha resuelto, evidentemente, lo que produce la sombra sigue ahí. Lo seguiré observando.
El script funciona según los valores que va recibiendo del sensor, esta claro que esta estación sobre os 100€, no es comparable con una Davis bastante mas caras y con mayor calidad.

Jmviper comentaste algo de ponerle un offset a MX, no se exactamente que es, si es alguna configuración de cumulusmx o una modificación del script. Entiendo que es subirle el valor real con algún tipo de porcentaje. Si marca 20, que de 30 o si marca 500 que de 600 o algo así.
Gracias!!

75
Buenas de nuevo, desde ayer tengo montada la nueva estación. Tras una metedura de pata con la BBDD de cumulus que jmviper me ha resuelto, voy a seguir con esto.
Cierto es que estos días están nublados, y con mal tiempo. Pero lo que he podido observar desde ayer es que el sensor ya no  tiene  esas caidas.
A ver si tenemos unos días soleados y puedo decir que ya va.

Páginas: 1 ... 3 4 [5] 6 7 ... 19