HomeGuidesAPI ReferenceGuidesMRT APIConfiguration API
GitHubAirheads Developer Community
Guides

🚧

Note

The Streaming API encoded message must be first decoded using CloudEvents proto file before decoding using the event specific proto file below

Endpoint

Connect to the following WebSocket endpoint to receive Location events:

wss://<host>/network-services/v1alpha1/location

Ensure that you replace host value with your Central Base URL. Please check out our Getting Started guide for more information.

Proto File

Event messages published by Central are encoded using Google Protocol Buffers and sent over the WebSocket connection in serialized form.

To deserialize these messages, clients must use the following .proto file, which defines the schema used by Central when encoding the Location events payloads.

syntax = "proto3";

package network_services.location.v1alpha1;

message StreamLocationMessage {
  oneof location_event {
    WifiClientLocation wifi_client_location = 1; // event-type: com.hpe.greenlake.network-services.v1alpha1.wifi-client-locations.created
    AssetTagLocation asset_tag_location = 2; // event-type: com.hpe.greenlake.network-services.v1alpha1.asset-tags.last-known-location.created
  }
}

message WifiClientLocation {
  optional double x = 1; // Indicates the X coordinate used to determine the client location on a floormap. This value is in meters. The origin is from the top left corner of the floormap.
  optional double y = 2; // Indicates the Y coordinate used to determine the client location on a floormap. This value is in meters. The origin is from the top left corner of the floormap.
  optional double error_level = 3; // Indicates the radius of the horizontal uncertainty, computed at 95%. This is the sum of the probability of all the potential locations in this uncertainty circle that represents 95% probability of the whole venue. The unit of this radius is in meters.
  optional string sta_eth_mac = 4; // MAC address of the WiFi client.
  optional double longitude = 5; // Longitude of the WiFi client.
  optional double latitude = 6; // Latitude of the WiFi client.
  optional string site_id = 7; // Site identifier.
  optional string building_id = 8; // Building identifier.
  optional string floor_id = 9; // Floor identifier.
  repeated string reporting_ap_serial = 10; // List of reporting access points serial numbers.
  optional bool associated = 11; // Indicates whether the client is associated with an AP on the network. For example, 1 indicates that the client is associated with an AP and 0 indicates that the client is not associated with an AP.
  optional string assoc_bssid = 12; // BSSID of the associated access point.
  optional bool connected = 13; // Indicates whether the client is connected to our network. For example, 1 indicates that the client is connected to our network and 0 indicates that the client is not connected to our network.
  repeated ZoneEntry entered_zone_info = 14; // List of entered zone details by the Wifi client.
}

message ZoneEntry {
  optional string zone_id = 1; // Identifier of the zone.
  optional uint32 dwell_time_in_seconds = 2; // Dwell time in seconds within the zone.
}

message AssetTagLocation {
  optional double x = 1; // Indicates the X coordinate used to determine the client location on a floormap. This value is in meters, if configured. The station is from the top left corner of the floormap.
  optional double y = 2; // Indicates the Y coordinate used to determine the client location on a floormap. This value is in meters, if configured. The station is from the top left corner of the floormap.
  optional string device_id = 3; // Identifier of the asset tag device.
  optional string device_mac = 4; // MAC address of the asset tag device.
  repeated ZoneEntry entered_zone_info = 5; // List of entered zone details by the asset tag.
  optional double longitude = 6; // Longitude of the asset tag.
  optional double latitude = 7; // Latitude of the asset tag.
  optional string site_id = 8; // Site identifier.
  optional string building_id = 9; // Building identifier.
  optional string floor_id = 10; // Floor identifier.
  optional double battery_level = 11; // Battery level of the asset tag.
  optional string name = 12; // Name of the asset tag.
  optional string custom_id = 13; // Custom identifier for the asset tag.
  repeated string label = 14; // Labels assigned to the asset tag.
  optional string notes = 15; // Notes about the asset tag.
}

Supported Event Types

Location supports multiple event types. These values can be used when filtering events at subscription time.

TitleEvent Types
Wifi Client Locationscom.hpe.greenlake.network-services.v1alpha1.wifi-client-locations.created
Asset Tags Last Known Locationcom.hpe.greenlake.network-services.v1alpha1.asset-tags.last-known-location.created