Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The discoverDevices action supports the options described in Manual Device Discovery Options below.

The discoverDevices action supports an optional response. The response indicates the completion of the search and provides simple statistics. See Device Discovery Completion Object, below.

Manual Device Discovery Options

Field Name             

Type                 

Description

policy

String

(Optional)  Can be either fast or slow. The default is fast.

The slow policy can enable more time-consuming but more thorough algorithms, and is recommended when the edge network is expected to yield many discovered devices.

protocols

List of Strings

(Optional)  A list of protocol names where device discovery will be performed. When the protocols list is not provided, or empty, device discovery is attempted by all protocol engines that support this method.

provisioned

Boolean

(Optional)  Indicates whether the search looks for provisioned devices.  Can be either true or false.

The default is false.  

unprovisioned

Boolean

(Optional) Indicates whether the search includes unprovisioned devices.  

Can be either true or false.

The default is true.  

respond

String

(Optional)  Indicates where the device discovery completion object will be published at the end of the discovery process.  

See Device Discovery Completion Object.

meta

Any valid JSON

(Optional)  A correlator.  When present, this correlator will be included with the device discovery completion object. 

See Device Discovery Completion Object.

option

Object

(Optional)  An object with protocol-specific options.

Device Discovery Completion Object

When requested, a device discovery completion object is published to the topic specified with the respond argument, once the process is complete. The device discovery completion object is always published with MQTT options qos: 1, and retain: false.

...

Field Name     

Type            

Description

cost

Number

An optional cost specified as 0...1, where 0 is best (lowest cost) and 1 is worst.  Cost is an abstraction for resources and effort necessary to communicate with the discovered device. The IAP server for a protocol is not required to provide a cost value.  For IAP servers that support a cost value, the value may be computed based on the number of networking hops or transmit power required, for example. The value can be used by IAP clients to select the best segment, if more than one segment discovers the same device, by selecting the segment that reports the smallest cost. 

Example: 0.32

handle

string

A handle for the discovered device. The handle must be unique in the segment.

Example: "z3"

hops

List

An optional list of LQI (line quality indicator) values for each hop. Values range from 0 to 1, where 1 is best.  Can be null. 

This provides additional information to the "cost" number calculation. The IAP server for a protocol is not required to provide a hops value.  For IAP servers that support a hops value, an intelligent algorithm may prefer a higher cost if the LQI across the trip is more leveled, as opposed to one with 2 superb and one poor hop. 

Example: [ 0.8, 0.7 ]

loc

object

An optional location object, if geographical location is known. Can be null. 

See Location Object for a description.

Example:

{   /* location: */                                                                       
   desc: "pole 23S",
   ele: 18,
   lat: 51.5059,
   lng: -0.33302
}


protocol

string

The device’s Edge Protocol Identifier. See Edge_Protocol_ID in IAP/MQ Topic Syntax.

state

string

The device state, as describeddescribed in state in the Device Status Object properties table.

Example: "unprovisioned"

type

string

Device type, as described in type in the Device Status Object properties table.

Example: "8000112345604"

unid

string

Unique ID, as described in unid in the Device Status Object properties table.

Example: "0503C0123451"

...