RSTi-OM User Manual
Section 12
GFK-3212A
Jun 2021
MQTT Interface
122
"port": 2,
"value": 0
}
12.3.9
ISDU Read/Write
Since MQTT lacks intrinsic support for request/response semantics, ISDU read/write requests and responses
are handled via a pair of topics:
•
MqttTopicBase/port/n/isdu/request/client_transaction_id
•
MqttTopicBase/port/n/isdu/response/client_transaction_id
Requests for ISDU read/write are published by other clients to the "request" topic shown above. The
client_transaction_id is an arbitrary string chosen by the requesting client and should be chosen to be unique.
After the ISDU operation is completed, the IO-Link Master will publish the response to the corresponding
"response" topic (with the same client_transaction_id as the request).
12.4
ISDU Request Payload
The ISDU request payload is a JSON object with the fields described below.
Name
Type
Description
op
string
Required
—
must be "read" or "write"
index
integer
Required
subindex
integer
Optional (defaults to 0 if not provided)
Fields specific to read requests:
format
string
Optional
—
if present, it determines the format of the returned
read data in the response. Should be one of "str" "raw" "uint". If
not provided, read data will be returned in all formats.
Fields specific to write requests (exactly one of uint, raw, or str must be present)
raw
array
The array of integer byte values (decimal)
uint
integer
Integer data value (requires
len
field)
str
string
UTF-8 data string (
len
field is optional)
len
integer
Required for
uint
data, optional for
str
data. Controls the number
of data bytes written.
In a written request with str data and a len field, the string will be NULL-padded to the requested length
before being written to the device.