Meteoclimatic

Software => WeeWX => Mensaje iniciado por: Samal en 03 de Abril del 2021, 17:58:14 pm

Título: Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 03 de Abril del 2021, 17:58:14 pm
Hola a todos,
Estoy configurando poco a poco el skin belchertown pero lo pongo aquí porque imagino que en los demás skins seria lo mismo.

Querría poder agregar a continuación de donde pone la fecha y la hora de la ultima actualización la hora local.
Como yo de código no se, por eso pregunto aquí.
Creo que el código es el siguiente:

Código: [Seleccionar]
// Update the Last Updated timestamp with moment.js,
            updated = moment.unix( $current.dateTime.raw ).utcOffset($moment_js_utc_offset).format("$obs.label.time_last_updated");
            updated_text = "$obs.label.header_last_updated " + updated;
            jQuery(".updated").html( updated_text );
           
            #end if

Me gustaría poder poner lo de hora local y no me importa si después de un cambio de horario lo tengo que cambiar manualmente. Solo querría un código que en estos momentos me sumara las dos horas actuales. O bien, sumar las dos horas directamente y listos.

Y si no es mucho pedir, me estoy mareando buscando por donde poner el calendario en catalán. Si alguien me lo puede decir. No tengo claro si es buscar donde pone es_ES y cambiarlo por ca_ES. Si fuera eso ya buscare donde esta el código es_ES y realizare el cambio.

Muchas gracias de antemano.

Saludos!
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 03 de Abril del 2021, 18:05:51 pm
El tema de la hora local ya lo comentó Jmviper aquí:

https://forum.meteoclimatic.net/index.php/topic,3306.msg26063.html#msg26063

En cuanto al tema del calendario en Catalán no acabo de entenderlo. Si es para el nombre de los días y los meses, efectivamente hay que tocar el locale.

Yo siempre he preferido pasar de puntillas por los locale, je je je.....

Pero, no.....no es solo cambiar es_ES, hay que generar el locale.

Advierto, que a mi no me gusta tocar los locale.....mala experiencia.....es tan caótico como los códigos de codificación de páginas web.

Sería algo como:

Código: [Seleccionar]
sudo dpkg-reconfigure locales
Saludos.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 03 de Abril del 2021, 18:15:25 pm
Si jantoni, es para poner los dias y los meses en catalan.

Jolinnnn, ya me has asustado con lo de locale.

Lo mirare y cuando tengo que tocar algo que veo chungo primero hago una copia entera de la sd.

En cuanto a lo de la hora...., mira que he dado vueltas para encontrar solución tendré de hacer un cursillo de búsqueda por google  :(

Muchas gracias jantoni.

Saludos!
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 03 de Abril del 2021, 18:36:18 pm
Jolinnnn, ya me has asustado con lo de locale.

Lo mirare y cuando tengo que tocar algo que veo chungo primero hago una copia entera de la sd.

Es una buena práctica, que a mi se me olvida a veces.......y siempre que se te olvida, zas, catástrofe. *+* *+* *+* *+* *+*

En cuanto al locale, no es que asuste.....es que no hay de verdad un manual que lo explique correctamente.

A los scripts automáticos, generados por el dpkg-reconfigure siempre se le quedan cosas fuera del tintero.

Y mi experiencia de los locale con Weewx no es buena.......en cuanto te descuidas, zas, error en la generación y se queja la "chita" esa (cheeta o como se escriba), aunque creo que en las últimas versiones de weewx ya había solucionado tanta incidencia con ese tema.

Bueno.....un poco te he engañado.....este es mi fichero /etc/environment (para cuando termines de generar el locale en catalán)

Citar
-e LANG="es_ES.UTF-8"
LANGUAGE="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"
-e LANG="es_ES.UTF-8"
LANGUAGE="es_ES.UTF-8"
LC_ALL="es_ES.UTF-8"

Lo del -e no tengo ni idea....es la primera vez que me fijo.

Como ves, las entradas están duplicadas......y es que el dpkg-reconfigure no funciona fino.......DE NUNCA
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 03 de Abril del 2021, 20:08:53 pm
Gracias jantoni, ahora estoy realizando la copia de la sd y luego me lio.

En cuanto a lo antes dicho de la hora (perdona pero todo lo que veo de código me suena a chino), No tengo claro que la solución sea la de ese enlace que me has puesto.
Yo no tengo que enviar ningún dato. Tengo la raspberry y weewx en horario UTC y por fin me envía los datos correctamente a meteoclimatic. Yo solo quiero que en la hora de actualización del que sale en el skin me sume las dos horas que ahora mismo tenemos como hora local aquí en España.

Quizás me orientas bien pero yo no se verlo  :-[.

Gracias de nuevo!.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 03 de Abril del 2021, 20:11:43 pm
Bueno.....la plantilla de Meteoclimatic no deja de ser una página web, con formato texto.

Por ello tendrás que configurarlo de igual manera.

Yo lo tengo pendiente de hacer......en unos días me voy a poner con ello......con el proyecto de Raspi que estoy haciendo.

A ver si te puedo ayudar, porque ahora mismo, mi web está en formato UTC desde hace años......
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jmviper en 03 de Abril del 2021, 23:34:01 pm
Lo de la fecha está controlado por los JavaScript del skin de belchertown.

Ve adonde está el skin en weewx y busca en su carpeta js el archivo belchertown.js.tmpl , es una plantilla que crea el script con esa información.

Tiene varias funciones para funcionar con el MQTT, con websockets o con página estática que se recarga, así que tendrás que buscar todas las líneas que ponga

updated = moment.unix( epoch ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );

y cambiarlas por estas otras

updated = moment.unix(epoch).utcOffset($moment_js_utc_offset).format("$obs.label.time_last_updated") + " (" + moment.unix(epoch).tz('Europe/Madrid').format( "LL, LTS" ) + " Hora local)";

Eso pone a continuación de la hora de actualización la misma hora con la hora local española.

También utiliza una extensión de la librería moment.js que hay que enlazar para que funcione.

Ve al archivo header.html.tmpl del skin y busca los enlaces a los scripts y busca la línea que tenga

<script type='text/javascript' src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>

(la versión que he puesto es la 2.24.0 pero en la tuya puede ser otra) y pones a continuación en una nueva línea

<script type='text/javascript' src="//cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.33/moment-timezone-with-data.js"></script>

Comprueba en la siguiente actualización si ya sale lo que quieres. Ya digo que hay varias trozos del código en funciones donde sale eso y algunas incluso difieren entre sí con valores de weewx.



Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 04 de Abril del 2021, 09:44:44 am
Anoche lo leía y me surgían dudas.

Yo iba a utilizar el procedimiento que indicabas en Python, y me sorprendiste con este otro sistema. Aunque escucho JavaScript y corro como un perro por el ruido de los petardos *+*

Pero, la duda....si alteras la variable updated de este modo, tienes ambas horas en la página generada. Pero afectará también a la hora plasmada en la plantilla de envío a Meteoclimatic.

Y lo digo sin ver el código, porque ahora no lo tengo disponible.

¿No sería mejor tener dos variables separadas?
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jmviper en 04 de Abril del 2021, 10:10:39 am
Jajajajaja con lo que me gusta a mí JavaScript, caótico, impredecible, anárquico  *+* *+* *+* de verdad me gusta mucho usarlo porque es todo un objeto y se puede hacer lo que se quiera con él sabiendo manejarse con sus métodos, prototipos y propiedades o construirte los tuyos propios.

Esa variable es solo para poner ese trozo en la hora de la actualización, no afecta a nada más. JavaScript solo se ejecuta en el navegador, no afecta al skin ni nada de lo que genere y en este caso sólo afectará al index del skin de belchertown.

Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 04 de Abril del 2021, 10:54:12 am
Pues lo probaremos *+* *+* *+*
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 04 de Abril del 2021, 13:22:04 pm
Pues lo probaremos *+* *+* *+*

En eso estoy. de momento..., sin éxito. como dice jmviper, hay mas lineas de código donde sale parte de ese código. Como yo soy un especialista en eso  *-* *-*. Pero bueno... ayer copia de sd y hoy copia de esos dos archivos  :;

De todas formas.... muy agradecido a los dos y haber haber, al igual suena la flauta  :D

Saludos
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 04 de Abril del 2021, 13:36:12 pm
Estas son las lineas que he encontrado en el archivo belchertown.js.tmpl realizando la búsqueda de:
Código: [Seleccionar]
$obs.label.time_last_updated. A parte tres que ya he cambiado porque eran exactas a las que me ha dicho jmviper:
Código: [Seleccionar]
updated = moment.unix( epoch ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
Código: [Seleccionar]
    almanac_updated = "$obs.label.header_last_updated " + moment.unix( data["current"]["datetime_raw"] ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
        updated = moment.unix( inactive_timestamp ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
    updated = moment.unix( "$current.dateTime.raw" ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
        updated = moment.unix( inactive_timestamp ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
updated = moment.unix( "$current.dateTime.raw" ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
  updated = moment.unix( "$current.dateTime.raw" ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
        updated = moment.unix( "$current.dateTime.raw" ).utcOffset( $moment_js_utc_offset ).format( "$obs.label.time_last_updated" );
        updated = moment.unix(epoch).utcOffset($moment_js_utc_offset).format("$obs.label.time_last_updated");

Por mi parte..., cualquiera se atreve a tocar nada  :; :; :;

EDITO: Si la búsqueda la realizo de este código:
Código: [Seleccionar]
moment_js_utc_offset. Incluido las 3 que he cambiado hay 33 lineas.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 04 de Abril del 2021, 21:46:32 pm
Por fin he conseguido alguna cosa.

jantoni, me he liado con el locale y trasteando trasteando primero me ha quedado el calendario en Ingles. He visto que alguna cosa no funcionaba bien. He googleado y al final he encontrado como se tenia que seleccionar el idioma que uno quiere instalar. Yo seleccionaba el idioma y le daba o bien a intro o a aceptar. Para variar lo hacia mal. Una vez seleccionado se le tiene que dar a la barra espaciadora y entonces si, lo selecciona y se puede instalar. Ahora la raspi ya me dice que el idioma es el catalán y el país España. Naturalmente, también me sale el calendario en el belchertown en catalán  :D

Por lo demás, locale no me ha dado problema. Por lo menos, de momento que yo sepa, veremos...  :;

Saludos.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 04 de Abril del 2021, 23:21:38 pm
Puedes usar el procedimiento que pongo en el nuevo hilo de weewx.

Bueno....yo soy siempre un poco exagerado, ja ja ja

Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 04 de Abril del 2021, 23:22:56 pm
Esto funciona si o si con los locale

https://forum.meteoclimatic.net/index.php/topic,3486.msg27523.html#msg27523
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: Samal en 04 de Abril del 2021, 23:33:49 pm
Vaya hombre, te podías haber pegado la currada del enlace que has puesto una semana antes  *-*.
Es broma eh!. Así he trasteado y aprendido alguna cosilla mas.
Felicidades por la currada  :aplaude1:. Como te gusta el weewx  *+* *+* *+*

Un saludo campeón y gracias!!.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 04 de Abril del 2021, 23:37:43 pm
Bueno...el procedimiento lo publiqué con el meteowee.....

Hará más de un año *+* *+* *+* *+* *+*
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: edlmeteo en 09 de Marzo del 2022, 10:46:10 am
Finalmente, ¿conseguiste poner la hora de "ultima actualización" con la hora local?
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 11 de Marzo del 2022, 20:22:47 pm
Yo no lo he intentado siquiera.....

De hecho he anulado el alojamiento que tenía contratado para temas meteorológicos.

Pero recuerdo que Jmviper puso un script, o un código en javascript para poner la hora local.

Saludos.
Título: Re:Añadir Hora local al lado "Ultima actualización"
Publicado por: jantoni en 11 de Marzo del 2022, 20:23:57 pm
Ah....el procedimiento que puse en el meteowee era para cambiar la hora a local y no la UTC......la verdad es que el hilo es muy antiguo y estoy un poco perdido hoy *+* *+* *+* *+* *+*