Skip to main content

Commands

Commands are sent from the host to the device as ASCII text, delimited by angle brackets:

<COMMAND,Param0,Param1,…>

Parameters are comma-separated tokens. An empty field between commas preserves its position and is delivered as an empty string, allowing callers to skip parameters without shifting subsequent values:

<MYCMD,10,,20>   → Param0="10", Param1="", Param2="20"

Built-in Commands

CommandParametersDescriptionResponse
BLAECK.WRITE_SYMBOLSMsgID[0], MsgID[1], MsgID[2], MsgID[3]Request signal schemaSignals
BLAECK.GET_DEVICESMsgID[0], MsgID[1], MsgID[2], MsgID[3], ClientName, ClientTypeRequest device identityDevice frames
BLAECK.WRITE_DATAMsgID[0], MsgID[1], MsgID[2], MsgID[3]Request single data frameData frame
BLAECK.ACTIVATEInterval[0], Interval[1], Interval[2], Interval[3]Start timed data streamingData frame (in intervals)
BLAECK.DEACTIVATEStop timed data streamingn/a

Bracketed parameters encode a uint32 in little-endian byte order as four comma-separated bytes.

The BLAECK. prefix is reserved for built-in commands.

Custom Commands

Any command name without the BLAECK. prefix is user-defined. Parameters are delivered as string tokens; the device handler decides how to interpret them (e.g. convert to integer, use as text, or apply a default when empty).

<SwitchLED,1>        → turn LED on
<Print,Hello,1> → string parameter with mode
<MyCmd,10,,20> → skip second parameter

Response with Message ID

WRITE_SYMBOLS, GET_DEVICES and WRITE_DATA: MsgID[0]MsgID[3] sends the Message ID to the device, and the response echoes it back to the sender. For example, requesting signal schema with Message ID 1:

Command:  <BLAECK.WRITE_SYMBOLS,1,0,0,0>
Response: <BLAECK: B0 : 01 00 00 00 : …………… /BLAECK>\r\n
Key Message ID Frame

See Frames for all frame types.

Client Identity

GET_DEVICES has two parameters — ClientName and ClientType — that let TCP clients identify themselves to the server:

FieldDescription
ClientNameHuman-readable name of the client application
ClientTypeType of client (e.g., "app", "hub", "script")

The server stores this identity per TCP connection for logging, management UIs, and diagnostics. The B6 response echoes these values back as ClientName and ClientType, alongside the server-assigned ClientNo and ClientDataEnabled fields.