Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Displays de Signal k: cambiar unidades y títulos a mostrar
#1

Bueno, por fin me he puesto en serio con la Raspberry.

Sin muchas historias, voy a usar los displays que trae SignalK por defecto, los "Instrumentpanel".

[Imagen: Screenshot_20230509_233318.png]

Pero no me gusta nada cómo salen los títulos de los displays (carajo, no sé cómo se dice eso en castellano; ¿cuadros?)

[Imagen: Screenshot_20230509_233700.png]
También estaba el tema de cambiar unidades: hay magnitudes que vienen expresadas en una unidad (por ejemplo, la temperatura en grados Kelvin) y en la configuración de los displays se puede cambiar la unidad en la que se expresa, poniendo por ejemplo grados Celsius en lugar de Kelvin.

[Imagen: Screenshot_20230509_233923.png]

Pero otros, sin embargo, no se pueden cambiar, aunque se refieran, como en este caso, también a temperatura, porque, al parecer, no aparece definida ninguna magnitud.

[Imagen: Screenshot_20230509_234113.png]

En esta imagen se ve que la magnitud environment.inside.salon.temperature se expresa en una unidad definida (en sistema internacional, en grados Kelvin, pero luego se puede cambiar, como se ha visto, en la configuración del Display), mientras que la magnitud environment.inside.salon.dewPointTemperature no tiene ninguna magnitud asignada, si bien su valor se recoge en grados Kelvin, y por eso no permite cambiar.

[Imagen: Screenshot-20230509-234417.png]


Bueno, buscando en Internet cómo se pueden cambiar unidades en SignalK (cuando la magnitud no lo ofrece), me he encontrado con esta web, FAQs de SignalK donde se explica cómo forzar a que aparezcan unidades y otras cuestiones como, por fin, cómo cambiar la forma en que se muestran:
https://github.com/SignalK/signalk-serve...umentpanel

El tema radica en modificar el archivo baseDeltas.json, que lo podemos encontrar en el home del usuario (que puede ser pi por defecto u otro, según cómo se haya instalado el sistema operativo de la raspi), en la ruta: /home/pi/.signalk/baseDeltas.json
No estoy seguro si la sangría (indentation) es obligatoria en los archivos json. Creo que es recomendable pero no obligatoria, pero por si acaso, manténla

Este es el contenido original que traía por defecto el archivo, en mi caso:

Código:
[
  {
    "context": "vessels.self",
    "updates": [
      {
        "values": [
          {
            "path": "",
            "value": {
              "uuid": "urn:mrn:signalk:uuid:2dded646-6322-4a96-8337-4e3f767ea1d7",
              "name": "Sausalito Tercero"
            }
          }
        ]
      }
    ]
  }
]

Sausalito Tercero es el nombre del barco; viene de la instalación de SignalK y su configuración.

Vamos a asignarle una magnitud al path environment.inside.salon.dewPointTemperature. Lo he hecho siguiendo el ejemplo que encontraba en los FAQs. Así, le he asignado magnitud ("units": "K") y he aprovechado para cambiar su descripción (aunque no sé dónde se ve) y también para cambiar cómo se muestra en el display ("displayName": "Temp rocío",).

Importante, fijaros en la coma junto a la última '}' del primer bloque, que separa  los dos bloques; sólo se pone para separar bloques, no tras el último; lo mismo para los valores; la coma separa valores pero no se pone tras el último valor. Es importante fijarte en eso, porque si no el json no es válido y no conseguiréis que haga efecto.

Código:
[
  {
    "context": "vessels.self",
    "updates": [
      {
        "values": [
          {
            "path": "",
            "value": {
              "uuid": "urn:mrn:signalk:uuid:2dded646-6322-4a96-8337-4e3f767ea1d7",
              "name": "Sausalito Tercero"
            }
          }
        ]
      }
    ]
  },
  {
    "context": "vessels.self",
    "updates": [
      {
        "meta": [
          {
            "path": "environment.inside.salon.dewPointTemperature",
            "value": {
              "description": "Temperatura de rocío",
              "units": "K",
              "displayName": "Temp rocío",
              "timeout": 30
            }
          }
        ]
      }
    ]
  }
]

Viendo que funciona, me he venido arriba y he empezado a cambiar los títulos de los displays, añadiendo valores, pero esta vez sólo títulos de displays. Así por ejemplo, cambio el título de environment.inside.salon.temperature por Temp. cabina, más corto y significativo para mí.

Código:
[
  {
    "context": "vessels.self",
    "updates": [
      {
        "values": [
          {
            "path": "",
            "value": {
              "uuid": "urn:mrn:signalk:uuid:2dded646-6322-4a96-8337-4e3f767ea1d7",
              "name": "Sausalito Tercero"
            }
          }
        ]
      }
    ]
  },
  {
    "context": "vessels.self",
    "updates": [
      {
        "meta": [
          {
            "path": "environment.inside.salon.dewPointTemperature",
            "value": {
              "description": "Temperatura de rocío",
              "units": "K",
              "displayName": "Temp rocío",
              "timeout": 30
            }
          }
        ]
      }
    ]
  },
  {
    "context": "vessels.self",
    "updates": [
      {
        "meta": [
          {
            "path": "environment.inside.salon.temperature",
            "value": {
              "displayName": "Temp. cabina"
            }
          }
        ]
      }
    ]
  }
]

Y así, conseguimos que la temperatura de rocío se pueda cambiar la unidad y mostrar en Celsius en lugar de en Kelvin y además cambiamos los títulos de los Displays, para hacerlos más inteligibles (y en castellano o en el idioma que quieras):

[Imagen: Screenshot_20230510_000728.png]

[Imagen: Screenshot-20230510-003021.png]

Espero que os sirva y que me disculpéis el tocho.

Bier

Sausalito III (Puma 26)
Pumeros: http://clubpuma.ning.com/

Responder
Agradecido por: Parazoa, Martin Iut, onilum, 0tilio
#2

Como se puede incrementar en el panel , nivel de batería y consumo de la misma . No puedo/se como cambiar o añadir cosas al panel.
Responder
Agradecido por:
#3

(10-05-2023, 07:51 PM)Nere ametsa escribió:  Como se puede incrementar en el panel , nivel de batería y consumo de la misma . No puedo/se como cambiar o añadir cosas al panel.

Cuando dices incrementar, ¿te refieres a aumentar tamaño de un display? o ¿a aumentar el número de indicadores?

Me confieso un aprendiz; todavía estoy aprendiendo con esto. Pero me parece que SignalK muestra aquello que se haya definido como contenido (conexiones o bien se extraigan de plugins) y le llegue contenido.

De todas formas, habrás visto que la pantalla de instrumentos tiene una llave inglesa que sirve para editar displays. Y allí te puedes encontrar con displays que no se muestran, tengan o no contenido actualmente.

Lo muestro con un vídeo.


Si no es eso a lo que te refieres, lo siento, Nere Ametsa. Quizás otros con más experiencia...
Brindis

Sausalito III (Puma 26)
Pumeros: http://clubpuma.ning.com/

Responder
Agradecido por:


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por Nere ametsa
28-12-2022, 07:49 PM
Último mensaje por Sailoog
25-06-2019, 09:33 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)