Invoke Device Services (Non-Passthrough)


EnOS Cloud publishes a message to the device topic to invoke the device services.


Downstream

  • Request TOPIC: /sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}

  • Reply TOPIC: /sys/{productKey}/{deviceKey}/thing/service/{tsl.service.identifier}_reply

Note

tsl.service.identifier is the identifier of the service that has been defined in the thing model.

Sample Request Format

{
    "id": "123",
    "version": "1.0",
    "params": {
        "Power": "on",
        "WindState": 2
    },
    "method": "thing.service.{tsl.service.identifier}"
}

Sample Response Format

{
    "id": "123",
    "code": 200,
    "data": {
        "parameter_1": 1.3,
        "parameter_2": 13
    }
}

Request Parameter Description​

Parameters

Type​

Mandatory/Optional

Description

id

String

Mandatory

The message ID. It is a reserved parameter that is reserved for future use.

version

String

Mandatory

The version of the protocol. The current version is 1.0.

params

List

Mandatory

The parameters used for invoking device services.

Power

String

Optional

The identifier of the service that you want to report. In this example, the service has the identifier Power. The value you set must match the data type defined for this parameter. For example, when the data type of this parameter is set to string in the model, the value here must be a string.

WindState

Integer

Optional

The identifier of the service that you want to report. In this example, the service has the identifier WindState. Similar to the above, the value you set must match the data type defined for this parameter.​

method

String

Mandatory

The request method.

Response Parameter Description

Parameter

Type

Description

id

String

The message ID.

code

Integer

The return code. “200” indicates that the request operation is executed successfully.

data

Map (Key is of String type and the Value can be of String, Integer, Array or Object type)

The service output fields defined in the model.

Error Codes

For the description of error codes, see Error Codes.