Lorawan-stack: Resumen de puerta de enlace única

Creado en 6 mar. 2019  ·  7Comentarios  ·  Fuente: TheThingsNetwork/lorawan-stack

Resumen:
La consola necesita una página de descripción general para puertas de enlace, complementaria a nuestras páginas de descripción general para aplicaciones y dispositivos. Véase también #26.

La página de resumen debe contener:

  • información básica como identificación, nombre, descripción, fecha de creación
  • información de estado (visto por última vez)
  • la ubicación de las puertas de enlace (antena)
  • número de mensajes enviados/recibidos
  • plan de frecuencia
  • información de hardware (marca, modelo, intensidad de la señal, firmware)
  • privacidad (puerta de enlace pública/privada)

Implícitamente, trabajar en la descripción general también contendrá:

  • vista principal de la puerta de enlace (con barra lateral, contenedor de migas de pan)

¿Porqué necesitamos esto?
Las páginas de resumen de nuestras entidades sirven como acceso rápido a la información más importante con poca profundidad de clic.

¿Qué ya hay?
Los puntos finales de la API correspondientes. Como referencia, un ejemplo de respuesta GET /gateways/{gateway_ids.gateway_id} del registro de la puerta de enlace:

{
  "ids": {
    "gateway_id": "string",
    "eui": "string"
  },
  "created_at": "2019-03-06T08:55:43.727Z",
  "updated_at": "2019-03-06T08:55:43.727Z",
  "name": "string",
  "description": "string",
  "attributes": {
    "additionalProp1": "string",
    "additionalProp2": "string",
    "additionalProp3": "string"
  },
  "contact_info": [
    {
      "contact_type": "CONTACT_TYPE_OTHER",
      "contact_method": "CONTACT_METHOD_OTHER",
      "value": "string",
      "public": true,
      "validated_at": "2019-03-06T08:55:43.727Z"
    }
  ],
  "version_ids": {
    "brand_id": "string",
    "model_id": "string",
    "hardware_version": "string",
    "firmware_version": "string"
  },
  "gateway_server_address": "string",
  "auto_update": true,
  "update_channel": "string",
  "frequency_plan_id": "string",
  "antennas": [
    {
      "gain": 0,
      "location": {
        "latitude": 0,
        "longitude": 0,
        "altitude": 0,
        "accuracy": 0,
        "source": "SOURCE_UNKNOWN"
      },
      "attributes": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      }
    }
  ],
  "status_public": true,
  "location_public": true,
  "schedule_downlink_late": true,
  "enforce_duty_cycle": true,
  "downlink_path_constraint": "DOWNLINK_PATH_CONSTRAINT_NONE"
}

¿Lo que falta?

  • Discusión rápida sobre lo que debe estar allí (¿nos falta algo?)
  • Wireframes y/o screendesigns
  • Implementación

¿Cómo propone implementar esto?
Complementario a la implementación de nuestra aplicación.

¿Qué puede hacer usted mismo y con qué necesita ayuda?
Me gustaría hacer un seguimiento con un wireframe rápido, una vez que tenga alguna información sobre los requisitos.

console discuss in progress

Comentario más útil

Lo mantendría simple; DNI, EUI, nombre, descripción y plan de frecuencias.

Sería bueno mostrar un indicador en línea presionando el GS y verificando las estadísticas de conexión. Si 200 <= estado < 300 está conectado, si 404 no está conectado y todo lo demás es un error. Esta es una llamada por entrada que se muestra, pero vale la pena y es barata de servir desde GS, ya que viene de la memoria.

Todos 7 comentarios

Creo que pronto necesitamos algunos comentarios sobre qué mostrar en la página de descripción general de la puerta de enlace.
cc @htdvisser @johanstokking

Lo mantendría simple; DNI, EUI, nombre, descripción y plan de frecuencias.

Sería bueno mostrar un indicador en línea presionando el GS y verificando las estadísticas de conexión. Si 200 <= estado < 300 está conectado, si 404 no está conectado y todo lo demás es un error. Esta es una llamada por entrada que se muestra, pero vale la pena y es barata de servir desde GS, ya que viene de la memoria.

de https://github.com/TheThingsNetwork/lorawan-stack/issues/26#issue -404416151

mostrar las estadísticas de conexión por puerta de enlace (si gateway_server_address coincide con la configuración de la API del servidor de puerta de enlace de la consola actual)

y

Sería bueno mostrar un indicador en línea presionando el GS y verificando las estadísticas de conexión. Si 200 <= estado < 300 está conectado, si 404 no está conectado y todo lo demás es un error.

Debemos estar de acuerdo en lo que mostramos al usuario.

dejar
gtw_gs_address ser la dirección del servidor de puerta de enlace configurado para la puerta de enlace
console_gs_address sea ​​la dirección del servidor de puerta de enlace del clúster actual pasado a la consola

  1. Si es mayor o igual a 200 y menor a 300, entonces es connected
  2. si 404
    2.1 si gtw_gs_address o console_gs_address == empty -> estado unknown . esto puede suceder si la dirección del servidor de la puerta de enlace no está presente en el clúster actual o si la dirección no se agregó al crear la puerta de enlace, o ambas cosas.
    2.2 si gtw_gs_address == console_gs_address -> estado disconnected
    2.3 si gtw_gs_address != console_gs_address -> la puerta de enlace is not managed by this console
  3. cualquier otra cosa -> el estado de la puerta de enlace es unknown , la página Descripción general de la puerta de enlace muestra un error

interfaz de usuario:
connected (1)
Screenshot 2019-05-06 at 11 46 17

unknown (2.1)
Screenshot 2019-05-06 at 11 46 52

disconnected (2.2)
Screenshot 2019-05-06 at 11 44 50

not this console (2.3)
Screenshot 2019-05-06 at 11 53 11

@johanstokking @htdvisser @kschiffer

Usaría una lógica diferente para el indicador de conectividad. Debe comenzar con la dirección del servidor de la puerta de enlace, y no con la solicitud al GS (porque no tiene sentido llamar a un GS que ya sabemos que no sirve a la puerta de enlace):

  • Si console.gateway_server_address está vacío, entonces la función está deshabilitada por completo
  • Si gateway.gateway_server_address está vacío, entonces:

    1. asume console.gateway_server_address pero también muestra el mensaje

    2. la función está deshabilitada para esta puerta de enlace y muestra el mensaje

  • Si gateway.gateway_server_address no es igual a console.gateway_server_address , entonces la función está deshabilitada para esta puerta de enlace y muestra el mensaje

También cambiaría un poco el mensaje. Estamos tratando de decirle al usuario que la puerta de enlace seleccionada no está asignada al servidor de puerta de enlace en el clúster de la consola actual. Todavía es posible leer/escribir cosas de la puerta de enlace que está en el servidor de identidad y no en el servidor de la puerta de enlace (básicamente todo lo que no sea el estado de conectividad y el tráfico)

También cambiaría un poco el mensaje.

¿Cuál sería el mensaje?

Estoy de acuerdo con @htdvisser en el pedido.

Entonces tenemos cinco estados:

  • Si console.gateway_server_address es igual a gateway.gateway_server_address , presione el GS:



      1. Conectado si 200 <= estado < 300





      1. No conectado si 404





      1. Error en caso contrario



  • De lo contrario



      1. Desconocido Si gateway.gateway_server_address está vacío; la puerta de enlace no está aprovisionada





      1. Otro clúster de lo contrario (es decir, las direcciones difieren)



También cambiaría un poco el mensaje.

¿Cuál sería el mensaje?

En cualquier caso, no sé si la parte superior es una buena ubicación para mostrar la notificación. Para tener un mensaje significativo, probablemente necesitemos un texto más largo que no se verá bien allí. Diría que Unknown o Other Cluster como estado es suficiente y deberíamos buscar en otro lugar para informar al usuario sobre los detalles más adelante.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

kschiffer picture kschiffer  ·  6Comentarios

johanstokking picture johanstokking  ·  5Comentarios

johanstokking picture johanstokking  ·  8Comentarios

johanstokking picture johanstokking  ·  6Comentarios

johanstokking picture johanstokking  ·  8Comentarios