/AWS1/IF_IOX=>STARTDEVICEDISCOVERY()¶
About StartDeviceDiscovery¶
This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is delivered as a message to the controller instructing it to start the discovery.
Method Signature¶
METHODS /AWS1/IF_IOX~STARTDEVICEDISCOVERY
IMPORTING
!IV_DISCOVERYTYPE TYPE /AWS1/IOXDISCOVERYTYPE OPTIONAL
!IT_CUSTOMPROTOCOLDETAIL TYPE /AWS1/CL_IOXCUSTPROTOCOLDET_W=>TT_CUSTOMPROTOCOLDETAIL OPTIONAL
!IV_CONTROLLERIDENTIFIER TYPE /AWS1/IOXMANAGEDTHINGID OPTIONAL
!IV_CONNECTORASSOCIATIONID TYPE /AWS1/IOXCNCTORASSOCIATIONID OPTIONAL
!IV_ACCOUNTASSOCIATIONID TYPE /AWS1/IOXACCOUNTASSOCIATIONID OPTIONAL
!IV_AUTHENTICATIONMATERIAL TYPE /AWS1/IOXDISCOVERYAUTHMATERI00 OPTIONAL
!IV_AUTHNTCTNMATERIALTYPE TYPE /AWS1/IOXDISCOVERYAUTHMATERI01 OPTIONAL
!IV_CLIENTTOKEN TYPE /AWS1/IOXCLIENTTOKEN OPTIONAL
!IT_TAGS TYPE /AWS1/CL_IOXTAGSMAP_W=>TT_TAGSMAP OPTIONAL
!IV_PROTOCOL TYPE /AWS1/IOXPROTOCOLTYPE OPTIONAL
!IV_ENDDEVICEIDENTIFIER TYPE /AWS1/IOXMANAGEDTHINGID OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_ioxstrtdevdiscovery01
RAISING
/AWS1/CX_IOXACCESSDENIEDEX
/AWS1/CX_IOXCONFLICTEXCEPTION
/AWS1/CX_IOXINTERNALSERVEREX
/AWS1/CX_IOXRESOURCENOTFOUNDEX
/AWS1/CX_IOXSERVICEUNAVAILEX
/AWS1/CX_IOXTHROTTLINGEX
/AWS1/CX_IOXUNAUTHORIZEDEX
/AWS1/CX_IOXVALIDATIONEX
/AWS1/CX_IOXCLIENTEXC
/AWS1/CX_IOXSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_discoverytype TYPE /AWS1/IOXDISCOVERYTYPE /AWS1/IOXDISCOVERYTYPE¶
The discovery type supporting the type of device to be discovered in the device discovery task request.
Optional arguments:¶
it_customprotocoldetail TYPE /AWS1/CL_IOXCUSTPROTOCOLDET_W=>TT_CUSTOMPROTOCOLDETAIL TT_CUSTOMPROTOCOLDETAIL¶
Additional protocol-specific details required for device discovery, which vary based on the discovery type.
For a
DiscoveryTypeofCUSTOM, the string-to-string map must have a key value ofNameset to a non-empty-string.
iv_controlleridentifier TYPE /AWS1/IOXMANAGEDTHINGID /AWS1/IOXMANAGEDTHINGID¶
The id of the end-user's IoT hub.
iv_connectorassociationid TYPE /AWS1/IOXCNCTORASSOCIATIONID /AWS1/IOXCNCTORASSOCIATIONID¶
The id of the connector association.
iv_accountassociationid TYPE /AWS1/IOXACCOUNTASSOCIATIONID /AWS1/IOXACCOUNTASSOCIATIONID¶
The identifier of the cloud-to-cloud account association to use for discovery of third-party devices.
iv_authenticationmaterial TYPE /AWS1/IOXDISCOVERYAUTHMATERI00 /AWS1/IOXDISCOVERYAUTHMATERI00¶
The authentication material required to start the local device discovery job request.
iv_authntctnmaterialtype TYPE /AWS1/IOXDISCOVERYAUTHMATERI01 /AWS1/IOXDISCOVERYAUTHMATERI01¶
The type of authentication material used for device discovery jobs.
iv_clienttoken TYPE /AWS1/IOXCLIENTTOKEN /AWS1/IOXCLIENTTOKEN¶
An idempotency token. If you retry a request that completed successfully initially using the same client token and parameters, then the retry attempt will succeed without performing any further actions.
it_tags TYPE /AWS1/CL_IOXTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP¶
A set of key/value pairs that are used to manage the device discovery request.
iv_protocol TYPE /AWS1/IOXPROTOCOLTYPE /AWS1/IOXPROTOCOLTYPE¶
The protocol type for capability rediscovery (ZWAVE, ZIGBEE, or CUSTOM).
This parameter is only available when the discovery type is CONTROLLER_CAPABILITY_REDISCOVERY.
iv_enddeviceidentifier TYPE /AWS1/IOXMANAGEDTHINGID /AWS1/IOXMANAGEDTHINGID¶
The unique id of the end device for capability rediscovery.
This parameter is only available when the discovery type is CONTROLLER_CAPABILITY_REDISCOVERY.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_ioxstrtdevdiscovery01 /AWS1/CL_IOXSTRTDEVDISCOVERY01¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->startdevicediscovery(
it_customprotocoldetail = VALUE /aws1/cl_ioxcustprotocoldet_w=>tt_customprotocoldetail(
(
VALUE /aws1/cl_ioxcustprotocoldet_w=>ts_customprotocoldetail_maprow(
value = new /aws1/cl_ioxcustprotocoldet_w( |string| )
key = |string|
)
)
)
it_tags = VALUE /aws1/cl_ioxtagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_ioxtagsmap_w=>ts_tagsmap_maprow(
value = new /aws1/cl_ioxtagsmap_w( |string| )
key = |string|
)
)
)
iv_accountassociationid = |string|
iv_authenticationmaterial = |string|
iv_authntctnmaterialtype = |string|
iv_clienttoken = |string|
iv_connectorassociationid = |string|
iv_controlleridentifier = |string|
iv_discoverytype = |string|
iv_enddeviceidentifier = |string|
iv_protocol = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lv_devicediscoveryid = lo_result->get_id( ).
lv_discoverystartedat = lo_result->get_startedat( ).
ENDIF.