Device Discover API¶
/*
* Copyright (c) Siemens AG 2023 ALL RIGHTS RESERVED.
*/
// Device Discover Interface
syntax = "proto3";
import "common_address.proto";
import "common_filters.proto";
import "common_identifiers.proto";
package siemens.industrialassethub.discover.v1;
service DeviceDiscoverApi {
// Get the list of supported Filter Types
rpc GetFilterTypes ( siemens.common.filters.v1.FilterTypesRequest ) returns (siemens.common.filters.v1.FilterTypesResponse) {}
// Get the list of supported Filter Options
rpc GetFilterOptions ( siemens.common.filters.v1.FilterOptionsRequest ) returns (siemens.common.filters.v1.FilterOptionsResponse) {}
// Start a device discovery with given filters and options.
// Returns the discovered devices.
rpc DiscoverDevices (DiscoverRequest) returns (stream DiscoverResponse) {}
}
message DiscoverRequest {
/*
optional: Filters which are used to filter the discover result, e.g. a special device type
values of identical keys are logically "OR" combined
values of different keys are logically "AND" combined
*/
repeated siemens.common.filters.v1.ActiveFilter filters = 1;
/*
optional: Options which are used to perform the discover, e.g. timeout, hierarchy level, ...
values of identical keys are logically "OR" combined
values of different keys are logically "AND" combined
*/
repeated siemens.common.filters.v1.ActiveOption options = 2;
/*
optional: Specify the target where the discovery should be performed
If it's not specified, the whole system is scanned
*/
repeated siemens.common.address.v1.Destination target = 3;
}
message DiscoverResponse {
// Holds information on one or more discovered devices
repeated DiscoveredDevice devices = 1;
}
message DiscoveredDevice {
// List of default device identifiers of a device supported by the protocol
repeated siemens.common.identifiers.v1.DeviceIdentifier identifiers = 1;
// The whole connection parameters, to establish the communication with
// the discovered device, including the schema and sub-driver configuration
siemens.common.address.v1.ConnectionParameterSet connection_parameter_set = 2;
// Timestamp when device was last seen
// 64 bit unsigned integer which represents the number
// of 100 nano-second [0.1 microsec] intervals since January 1, 1601 (UTC).
fixed64 timestamp = 3;
}
iah_discover.proto¶
Message | Field | Type | Label | Description |
---|---|---|---|---|
DiscoverRequest | filters | siemens.common.filters.v1.ActiveFilter | repeated | Filters which are used to filter the discover result |
options | siemens.common.filters.v1.ActiveOption | repeated | Options which are used to perform the discover | |
target | siemens.common.address.v1.Destination | repeated | Specify the target where the discovery should be performed | |
DiscoverResponse | devices | DiscoveredDevice | repeated | Holds information on one or more discovered devices |
DiscoveredDevice | identifiers | siemens.common.identifiers.v1.DeviceIdentifier | repeated | List of default device identifiers of a device supported by the protocol |
connection_parameter_set | siemens.common.address.v1.ConnectionParameterSet | The whole connection parameters, to establish the communication with the discovered device | ||
timestamp | fixed64 | Timestamp when device was last seen |
For more details and descriptions on the import proto files refer: