Request to send a local device command over TCP sockets. Commands are sent to the device using DeviceManager.send.

Example TCP command:

const payload = new Uint8Array([0x00, 0xFF, 0x00, 0xFF]);  const command = new DataFlow.TcpRequestData(); command.requestId = request.requestId; command.deviceId = 'device-id'; command.port = 5555; command.operation = Constants.TcpOperation.WRITE; command.data = Buffer.from(payload).toString('hex'); 

Handle the response

If the command succeeds, DeviceManager.send returns a TcpResponseData result. For TcpOperation.READ commands, the result contains a TcpResponse.

const command = new DataFlow.TcpRequestData(); command.operation = Constants.TcpOperation.READ; ...  localHomeApp.getDeviceManager()  .send(command)  .then((result: DataFlow.CommandSuccess) => {    const tcpResult = result as DataFlow.TcpResponseData;    const response = tcpResult.tcpResponse.data;  })  .catch((err: IntentFlow.HandlerError) => {    // Handle command error  }); 

Implements

Implemented by

Index

Properties

Optional bytesToRead

bytesToRead: undefined | number

For read requests, number of expected bytes

data

data: string

Payload sent to the target device

deviceId

deviceId: string

Device ID of the target device.

Optional hostname

hostname: undefined | string

Hostname on the target device

operation

operation: TcpOperation

TCP operation to perform

port

port: number

Port number on the target device

protocol

protocol: Protocol

Protocol to use when sending this command

requestId

requestId: string

Request ID from the associated EXECUTE intent.