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:
Implícitamente, trabajar en la descripción general también contendrá:
¿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?
¿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.
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
connected
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.gtw_gs_address == console_gs_address
-> estado disconnected
gtw_gs_address != console_gs_address
-> la puerta de enlace is not managed by this console
unknown
, la página Descripción general de la puerta de enlace muestra un errorinterfaz de usuario:
connected (1)
unknown (2.1)
disconnected (2.2)
not this console (2.3)
@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):
console.gateway_server_address
está vacío, entonces la función está deshabilitada por completogateway.gateway_server_address
está vacío, entonces:console.gateway_server_address
pero también muestra el mensajegateway.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 mensajeTambié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:
console.gateway_server_address
es igual a gateway.gateway_server_address
, presione el GS:gateway.gateway_server_address
está vacío; la puerta de enlace no está aprovisionada 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.
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.