Резюме:
Консоли нужна обзорная страница для шлюзов, дополняющая наши обзорные страницы для приложений и устройств. См. также № 26.
Обзорная страница должна содержать:
Неявно работа над обзором также будет содержать:
Почему нам это надо?
Обзорные страницы наших объектов служат для быстрого доступа к наиболее важной информации с небольшой глубиной нажатия.
Что уже есть?
Соответствующие конечные точки API. Для справки пример ответа GET /gateways/{gateway_ids.gateway_id}
из реестра шлюза:
{
"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"
}
Чего не хватает?
Как вы предлагаете это реализовать?
Дополняет нашу реализацию приложения.
Что вы можете сделать сами и в чем вам нужна помощь?
Я хотел бы продолжить с быстрым каркасом, как только у меня будет некоторая информация о требованиях.
Я думаю, что в ближайшее время нам понадобится информация о том, что показывать на странице обзора шлюза.
копия @htdvisser @johanstokking
Я хотел бы сделать это простым; ID, EUI, имя, описание и частотный план.
Неплохо бы показать онлайн-индикатор, нажав на GS и проверив статистику соединения. Если 200 <= status < 300 — подключено, если 404 — нет, и все остальное — ошибка. Это вызов для каждой показанной записи, но это того стоит и дешево обслуживать из GS, поскольку он поступает из памяти.
из https://github.com/TheThingsNetwork/lorawan-stack/issues/26#issue -404416151
отображать статистику соединений для каждого шлюза (если gateway_server_address совпадает с конфигурацией Gateway Server API текущей консоли)
и
Неплохо бы показать онлайн-индикатор, нажав на GS и проверив статистику соединения. Если 200 <= status < 300 — подключено, если 404 — нет, и все остальное — ошибка.
Мы должны договориться о том, что мы показываем пользователю.
позволять
gtw_gs_address
— адрес сервера шлюза, настроенный для шлюза.
console_gs_address
— адрес шлюзового сервера текущего кластера, переданный в консоль.
connected
gtw_gs_address
или console_gs_address == empty
-> статус unknown
. это может произойти, если адрес сервера шлюза отсутствует в текущем кластере или адрес не был добавлен при создании шлюза, или если и то, и другое.gtw_gs_address == console_gs_address
-> статус disconnected
gtw_gs_address != console_gs_address
-> шлюз is not managed by this console
unknown
, на странице обзора шлюза отображается ошибкаПользовательский интерфейс:
connected (1)
unknown (2.1)
disconnected (2.2)
not this console (2.3)
@johanstokking @htdvisser @kschiffer
Я бы использовал другую логику для индикатора подключения. Он должен начинаться с адреса сервера-шлюза, а не с запроса к GS (ибо нет смысла вызывать GS, который, как мы уже знаем, не обслуживает шлюз):
console.gateway_server_address
пусто, функция полностью отключена.gateway.gateway_server_address
пусто, то либо:console.gateway_server_address
, но также покажем сообщениеgateway.gateway_server_address
не равно console.gateway_server_address
, то функция отключена для этого шлюза и отображается сообщениеЯ бы тоже немного изменил сообщение. Мы пытаемся сообщить пользователю, что выбранный шлюз не назначен серверу шлюза в кластере текущей консоли. По-прежнему можно читать/записывать содержимое шлюза, которое находится на сервере идентификации, а не на сервере шлюза (в основном все, кроме состояния подключения и трафика).
Я бы тоже немного изменил сообщение.
Каким будет сообщение?
Я согласен с @htdvisser по поводу заказа.
Итак, у нас есть пять состояний:
console.gateway_server_address
равно gateway.gateway_server_address
, нажмите GS:gateway.gateway_server_address
пусто; шлюз не настроен Я бы тоже немного изменил сообщение.
Каким будет сообщение?
В любом случае, я не знаю, подходит ли верхняя часть для отображения уведомления. Чтобы иметь значимое сообщение, нам, вероятно, нужен более длинный текст, который не будет хорошо смотреться там. Я бы сказал, что Unknown
или Other Cluster
в качестве статуса достаточно, и мы должны заглянуть в другое место, чтобы сообщить пользователю подробности позже.
Самый полезный комментарий
Я хотел бы сделать это простым; ID, EUI, имя, описание и частотный план.
Неплохо бы показать онлайн-индикатор, нажав на GS и проверив статистику соединения. Если 200 <= status < 300 — подключено, если 404 — нет, и все остальное — ошибка. Это вызов для каждой показанной записи, но это того стоит и дешево обслуживать из GS, поскольку он поступает из памяти.