Yamcs HTTP API
- Activities
- Alarms
- Audit
- Buckets
- Clearance
- Commands
- COP-1
- Database
- Events
- File Transfer
- IAM
- Indexes
- Instances
- Links
- MDB Override
- MDB
- Packets
- Parameter Archive
- Parameter Lists
- Parameter Values
- Processing
- Queues
- Replication
- RocksDB
- Server
- Services
- Sessions
- Stream Archive
- Table
- Time Correlation
- Time
- Timeline
Related
Yamcs Release Notes
Yamcs Server Manual
Source Code Documentation
Download this Document
Subscribe CommandsΒΆ
Receive updates on issued commands
WebSocket
This method requires to upgrade an HTTP connection to WebSocket. See details on how Yamcs uses WebSocket.
Use the message type commands
.
Input Type
interface SubscribeCommandsRequest {
// Yamcs instance name
instance: string;
// Processor name
processor: string;
// If true, send only updates for commands that
// were issued after the subscription start.
//
// For clients that piece together command updates, this
// can help avoid partially received commands.
ignorePastCommands: boolean;
}
Output Type
interface CommandHistoryEntry {
id: string;
// Qualified name
commandName: string;
// Name aliases keyed by namespace.
// (as currently present in Mission Database)
aliases: {[key: string]: string};
origin: string;
sequenceNumber: number;
commandId: CommandId;
attr: CommandHistoryAttribute[];
generationTime: string; // RFC 3339 timestamp
assignments: CommandAssignment[];
}
Related Types
interface CommandId {
generationTime: string; // String decimal
origin: string;
sequenceNumber: number;
commandName: string;
}
interface CommandHistoryAttribute {
name: string;
value: Value;
time: string; // String decimal
}
// Union type for storing a value
interface Value {
type: Type;
floatValue: number;
doubleValue: number;
sint32Value: number;
uint32Value: number;
binaryValue: string; // Base64
stringValue: string;
timestampValue: string; // String decimal
uint64Value: string; // String decimal
sint64Value: string; // String decimal
booleanValue: boolean;
aggregateValue: AggregateValue;
arrayValue: Value[];
}
// An aggregate value is an ordered list of (member name, member value).
// Two arrays are used in order to be able to send just the values (since
// the names will not change)
interface AggregateValue {
name: string[];
value: Value[];
}
interface CommandAssignment {
name: string;
value: Value;
userInput: boolean;
}
enum Type {
FLOAT = "FLOAT",
DOUBLE = "DOUBLE",
UINT32 = "UINT32",
SINT32 = "SINT32",
BINARY = "BINARY",
STRING = "STRING",
TIMESTAMP = "TIMESTAMP",
UINT64 = "UINT64",
SINT64 = "SINT64",
BOOLEAN = "BOOLEAN",
AGGREGATE = "AGGREGATE",
ARRAY = "ARRAY",
// Enumerated values have both an integer (sint64Value) and a string representation
ENUMERATED = "ENUMERATED",
NONE = "NONE",
}