Skip to content

Device Info

Asset links implement the Device Info API to retrieve the properties supported by the device and their values.

API Description

Protobuf Specification

DeviceInfoApi

GetPropertyValues

rpc GetPropertyValues(GetPropertyValuesRequest) GetPropertyValuesResponse

Retrieve device properties from the device, e.g. certificates, order number, firmware version

GetSupportedProperties

rpc GetSupportedProperties(GetSupportedPropertiesRequest) GetSupportedPropertiesResponse

Retrieve the properties supported by the device

Messages

GetPropertyValueError {#getpropertyvalueerror}

Field Type Description
result_code int32 The error code, which should be an enum value of siemens.common.code.v1 possible values: - UNAVAILABLE - comm error during retrieval - FAILED_PRECONDITION - supported property not provided from device - INVALID_ARGUMENT - invalid property key
description string Developer-facing human-readable message in English
key string The key this error belongs to

GetPropertyValuesRequest {#getpropertyvaluesrequest}

Field Type Description
device siemens.common.address.v1.Destination mandatory: Specify the device from which to retrieve the device info
keys repeated string list of keys to retrieve the device information, e.g. for certificates and device specific properties

GetPropertyValuesResponse {#getpropertyvaluesresponse}

Possible return values - OK - UNAVAILABLE - no connection to the device

Field Type Description
property_results repeated PropertyValueResult List of results (either property or error) Each requested property key will have a corresponding result

GetSupportedPropertiesRequest {#getsupportedpropertiesrequest}

Field Type Description
device siemens.common.address.v1.Destination mandatory: Specify the device from which to retrieve the device info

GetSupportedPropertiesResponse {#getsupportedpropertiesresponse}

Field Type Description
properties repeated siemens.common.properties.v1.SupportedProperty List of supported properties of this device

PropertyValueResult {#propertyvalueresult}

This is a workaround for "repeated oneof" in protobuf. See https://github.com/protocolbuffers/protobuf/issues/2592

Field Type Description
oneof result.property siemens.common.properties.v1.PropertyKeyValuePair A device property, e.g. certificate
oneof result.error GetPropertyValueError Error message in case of failure

Enums

Scalar Value Types

.proto Type Notes C++ Type Java Type Python Type

double
double double float

float
float float float

int32
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int

int64
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long

uint32
Uses variable-length encoding. uint32 int int/long

uint64
Uses variable-length encoding. uint64 long int/long

sint32
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int

sint64
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long

fixed32
Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int

fixed64
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long

sfixed32
Always four bytes. int32 int int

sfixed64
Always eight bytes. int64 long int/long

bool
bool boolean boolean

string
A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode

bytes
May contain any arbitrary sequence of bytes. string ByteString str

Any questions left?

Ask the community