You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The console should provide functionality to manage gateways, namely:
listing gateways (paginated)
list all gateways the caller has access to
list all gateways for a user
list all users for an organization
getting a single gateway
creating (adding) gateways
deleting (removing) gateways
updating gateways
display connection statistics per gateway (if the gateway_server_address matches the Gateway Server API config of the current console)
What is already there? What do you see now?
The Gateway entity:
Standard fields ids, created_at, updated_at, name, description, attributes, contact_info
version_ids: optional object with identifiers of the gateway's hardware and firmware
gateway_server_address: string with the hostname of the GS the gateway should connect to
auto_update: boolean to indicate whether to automatically update the gateway firmware
update_channel: string of the update channel for the gateway, can be URL or identifier (stable, beta, ...)
frequency_plan_id: string of the frequency plan that the gateway uses. For now manually entered, but in the future we should add some API for getting a list of possible values for this and turn this into a dropdown.
antennas: optional (@johanstokking?) list of objects representing gateway antennas and their locations
status_public: boolean indicating whether the status of this gateway is publicly visible
location_public: boolean indicating whether the locations of this gateway's antennas are publicly visible
schedule_downlink_late: boolean indicating whether downlinks should be queued by the gateway server; needed if the gateway does not have a JIT queue
enforce_duty_cycle: boolean indicating whether regulatory duty cycles should be enforced for this gateway. Typically true.
The Identity Server's Gateway Registry API:
Create(CreateGatewayRequest) POST /api/v3/users/{collaborator.user_ids.user_id}/gateways POST /api/v3/organizations/{collaborator.organization_ids.organization_id}/gateways
Get(GetGatewayRequest) GET /api/v3/gateways/{gateway_ids.gateway_id}
List(ListGatewaysRequest) GET /api/v3/gateways GET /api/v3/users/{collaborator.user_ids.user_id}/gateways GET /api/v3/organizations/{collaborator.organization_ids.organization_id}/gateways
Update(UpdateGatewayRequest) PUT /api/v3/gateways/{gateway.ids.gateway_id}
Summary:
The console should provide functionality to manage gateways, namely:
gateway_server_address
matches the Gateway Server API config of the current console)What is already there? What do you see now?
The Gateway entity:
ids
,created_at
,updated_at
,name
,description
,attributes
,contact_info
version_ids
: optional object with identifiers of the gateway's hardware and firmwaregateway_server_address
: string with the hostname of the GS the gateway should connect toauto_update
: boolean to indicate whether to automatically update the gateway firmwareupdate_channel
: string of the update channel for the gateway, can be URL or identifier (stable, beta, ...)frequency_plan_id
: string of the frequency plan that the gateway uses. For now manually entered, but in the future we should add some API for getting a list of possible values for this and turn this into a dropdown.antennas
: optional (@johanstokking?) list of objects representing gateway antennas and their locationsstatus_public
: boolean indicating whether the status of this gateway is publicly visiblelocation_public
: boolean indicating whether the locations of this gateway's antennas are publicly visibleschedule_downlink_late
: boolean indicating whether downlinks should be queued by the gateway server; needed if the gateway does not have a JIT queueenforce_duty_cycle
: boolean indicating whether regulatory duty cycles should be enforced for this gateway. Typically true.The Identity Server's Gateway Registry API:
Create(CreateGatewayRequest)
POST /api/v3/users/{collaborator.user_ids.user_id}/gateways
POST /api/v3/organizations/{collaborator.organization_ids.organization_id}/gateways
Get(GetGatewayRequest)
GET /api/v3/gateways/{gateway_ids.gateway_id}
List(ListGatewaysRequest)
GET /api/v3/gateways
GET /api/v3/users/{collaborator.user_ids.user_id}/gateways
GET /api/v3/organizations/{collaborator.organization_ids.organization_id}/gateways
Update(UpdateGatewayRequest)
PUT /api/v3/gateways/{gateway.ids.gateway_id}
Delete(GatewayIdentifiers)
DELETE /api/v3/gateways/{gateway_id}
The Identity Server's Gateway Access API:
CreateAPIKey(CreateGatewayAPIKeyRequest)
POST /api/v3/gateways/{gateway_ids.gateway_id}/api-keys
ListAPIKeys(GatewayIdentifiers)
GET /api/v3/gateways/{gateway_id}/api-keys
UpdateAPIKey(UpdateGatewayAPIKeyRequest)
PUT /api/v3/gateways/{gateway_ids.gateway_id}/api-keys/{api_key.id}
SetCollaborator(SetGatewayCollaboratorRequest)
PUT /api/v3/gateways/{gateway_ids.gateway_id}/collaborators
ListCollaborators(GatewayIdentifiers)
GET /api/v3/gateways/{gateway_id}/collaborators
The Gateway Server's API:
GetGatewayConnectionStats(GatewayIdentifiers)
GET /api/v3/gs/gateways/{gateway_id}/connection/stats
and the connection stats object containing information about the current connection of the gateway (this changes often):
connected_at
timestampprotocol
stringlast_status_received_at
timestamplast_status
objectlast_uplink_received_at
timestampuplink_count
numberlast_downlink_received_at
timestampdownlink_count
numberWhat is missing? What do you want to see?
Original issue: https://github.com/TheThingsIndustries/lorawan-stack/issues/1068 by @bafonins
The text was updated successfully, but these errors were encountered: