Autor Tema: skin Belchertown ha dejado de actualizar  (Leído 83 veces)

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

Desconectado jmsolher

  • Full Member
  • ***
  • Mensajes: 121
    • Ver Perfil
    • meteoBezana
  • Estación: ESCTB3900000039108A
skin Belchertown ha dejado de actualizar
« en: 11 de Octubre del 2024, 12:27:34 pm »
hola
a ver si alguien puede ayudarme con este tema. Tengo un skin Belchertown que hasta hace unos días funcionaba a la perfección hasta que dejó de actualizarse sin motivo aparente. Podía crear páginas nuevas y visualizarlas desde un menú convenientemente creado para ello desde el 'header' de la plantilla. Creaba la página que me interesaba y la plantilla en el siguiente ciclo subía las modificaciones al servidor (y aquí viene el tema). No sé si puede ser problema de Belchertown o de WeeWX. Utilizo RSYNC para hacer copias incrementales.  SI alguien tiene experiencia con Belchertown o WeeWX y puede darme algún consejo se lo agradecería.

saludos.

Desconectado jantoni

  • Investigación
  • Hero Member
  • ******
  • Mensajes: 5.112
    • Ver Perfil
  • Estación: ESMAD2800000028522A
Re:skin Belchertown ha dejado de actualizar
« Respuesta #1 en: 11 de Octubre del 2024, 12:43:33 pm »
Pues es difícil, a veces casi imposible, ayudar cuando se trata de solucionar problemas de personalización.

La premisa número 1. Las cosas no ocurren porque sí. Algo hace de desencadenante.

Premisa 2. Mirar el log de Weewx para ver que ocurre.

Premisa 3. Si quieres ayuda, debes ayudar a ayudarte.

- ¿qué ocurre?
- ¿qué mensajes de error hay en el log?
- ¿qué tocaste?
- ¿qué sistema usas, versión de weewx y tipo de instalación utilizas?
- ¿qué tipo de log usas, el viejo o el nuevo de journalctl?

Saludos

Davis Vantage Vue (sin datalogger) + Orange Pi PC + Weewx

GW2000 + WS90 con Weewx (https://www.ecowitt.net/home/index?id=199315)
WH2650 con WH65 con Home Assistant y Weewx (https://www.ecowitt.net/home/index?id=40387)
GW1000 con WH32 y Home Assistant (https://www.ecowitt.net/home/index?id=17080)
Sensores adicionales: WH31 (3) + WH41

Desconectado jmsolher

  • Full Member
  • ***
  • Mensajes: 121
    • Ver Perfil
    • meteoBezana
  • Estación: ESCTB3900000039108A
Re:skin Belchertown ha dejado de actualizar
« Respuesta #2 en: 11 de Octubre del 2024, 15:40:56 pm »
resumo los pasos que he realizado para añadir una página nueva en el skin Belchertown. Omito otras expicaciones porque no hay nada en el log ni 'cosas' que haya tocado distintas a lo que expongo a continuación.


Modificar el menú principal de Belchertown para añadir un item nuevo
.

Supongamos que queremos añadir el item denominado *satellite* (como archivo dentro del skin) y que en el menú se lea *satélite* (como enlace que llame al archivo *satellite*).

Para poder añadir nuevos items al  menú de *Belchertown* he seguido los siguientes pasos:

1. Añadir una carpeta dentro del skin Belchertown denominada **satellite** (repito este es el ejemplo para realizar el proceso)

2. En la carpeta anterior crear un archivo llamado **index.html.tmpl**

3. Abrir el archivo creado y añadir el siguiente código,se puede uno fijar en el archivo **/about/index.html.tmpl**.
Código: [Seleccionar]
#[[errorCatcher]] Echo
#[[encoding]] UTF-8
#[[set]] global $page = "satellite"
    #[[include]] "header.html.tmpl"
    <div class="site-inner">
        <main class="content"> 
            <article class="weewx satellite" itemscope itemtype="https://schema.org/CreativeWork">
                    #[[include]] "page-header.inc"
                    #[[if]] os.path.exists("satellite.inc")
                    #[[include]] "satellite.inc"
                    #[[else]]
                    #[[include]] "satellite.inc.example"
                    #[[end]] if
            </article>
        </main>
    </div>
   # [[include]] "footer.html.tmpl"

4. Crear el archivo denominado **satellite.inc** dentro de la carpeta Belchertown y añadir en html el código necesario de lo que quiero mostrar.

5. Editar la línea necesaria del archivo **header.html.tmpl** para contemplar el nuevo item del menú


Código: [Seleccionar]
<li class="menu-item menu-item-5"><a href="$relative_url/satellite/" itemprop="url"><span itemprop="name">$obs.label.nav_satellite</span>[/url]</li>

6. Modificar el archivo **skin.conf** y añadir las siguientes líneas donde corresponda.


Código: [Seleccionar]
Navigation Menu

        nav_satellite   = Satélite

Default page headers

        satellite_page_header = "Satélite meteorológico"

[[ToDate]]

        [[[Satellite]]]

             template = satellite/index.html.tmpl


7. Modificar el archivo **page-header.inc** añadiendo las siguientes líneas donde corresponda:


Código: [Seleccionar]
[[else]] if $page == "satellite"

        <h1>$obs.label.satellite_page_header</h1>


8. Editar el archivo **/js/belchertown.js.tmpl** añadiendo **satellite"** comillas incluídas.

Código: [Seleccionar]
var pages = ["graphs", "records", "reports", "about", "pi", "satellite"];

9. Tras los pasos anteriores se debería poder visualizar correctamente el nuevo item del menú y la página creada a la que apunta.
Tras la creación de *satellite.inc* se puede añadir el código que se quiera (en mi caso html, css y javascript) para que se muestre la información que se necesite. Ese archivo es el único con el que 'cacharreo' y cada vez que se edita, en el siguiente ciclo se sube al servidor las modificaciones. En el servidor WeeWX habrá creado una copia de la carpeta *satellite* y en su interior aparecerá otra copia de *index.html.tmpl* junto con un archvio 'ex novo' denominado index.html que contiene las modificaciones hechas en *satellite.inc* junto con el resto de parámetros de la plantilla Belchertown para que se integre sin problemas.

Yo sólo toco *satellite.inc* y el problema es que en una de las veces, WeeWX o Belchertown (por eso pregunto en mi primer post) dejan de actualizarlo en el servidor.

Versiones

 WeeWX 4.9Belchertown 1.3
« Última modificación: 11 de Octubre del 2024, 16:25:53 pm por jmsolher »

Desconectado jmsolher

  • Full Member
  • ***
  • Mensajes: 121
    • Ver Perfil
    • meteoBezana
  • Estación: ESCTB3900000039108A
Re:skin Belchertown ha dejado de actualizar
« Respuesta #3 en: 13 de Octubre del 2024, 15:34:20 pm »
Finalmente he podido solucionar este pequeño problema. Explico un poco lo que ha ocurrido.

En el post anterior expuse los pasos que había dado y comentaba que todo iba bien hasta que de un momento a otro dejó de actualizarse y el log no aportaba información relevante o, al menos, que pudiera dar pistas claras. Una vez tras otra consultaba el log hasta que una de las veces apareció este mensaje que muestro en la captura de pantalla:

En log habla de la plantilla index.html.tmpl y en las líneas siguientes comenta la razón de que no pueda ser añadido;  al parecer no encuentra SpeedInMps que no es otra cosa que una variable utilizada en otro archivo pero no en la plantilla (recordemos que según el post anterior, la plantilla lo que hace es utilizar el encabezado y el pie de página del skin y añade en el cuerpo el contenido creado en el archivo con extensión .inc). Para su solución propone agregar al comienzo del archivo #ErrorCatcher Echo.
Viendo dicha solución acudí rápidamente a mi index.html.tmpl creyendo que el log me enviaba ahí para solucionar el problema, pero nada más lejos de la realidad, porque en la plantilla ya había incluído el tal #ErrorCatcher Echo y la cosa seguía igual. Consulté otras plantillas y estaban exactamente igual a la mía así que me encontraba en un punto en el que no sabía continuar.
Cuando ya no sabía qué más hacer consulté mi archivo *.inc y repasé todo el código pensando en el SpeedInMps y ahí estaba el problema. El script tenía un pequeño error que hacía que el resto del código no funcinaria apropiadamente. Coloqué al principio de todo el código el #ErrorCatcher Echo y todo volvió al orden.

Hasta aquí mi pequeña odisea con este tema y realizadas las copias de seguridad oportunas...




« Última modificación: 13 de Octubre del 2024, 15:41:18 pm por jmsolher »