Version: 1.0.4
WARA-PS Declarations MQTT API
Overview
Declarative channels for WARA-PS agent communication. These messages announce an agent's existence and capabilities to the system. Start here for any new integration -- every other spec assumes the agent is already declaring itself on these channels.
Quick Start
On startup, every agent begins publishing Heartbeat immediately and keeps doing so on an interval for its whole lifetime -- this is how the rest of the system knows it exists. Which other declarations are also mandatory depends on the agent's level:
- Level 1 (Sensor agents): an agent that only sends sensor/status data. In addition to Heartbeat, it also publishes Sensor Info, once and whenever the set of provided sensors changes.
- Level 2 (Task agents): normally a Level 1 sensor agent with the added capability to receive commands. In addition to Heartbeat and Sensor Info, it also publishes Direct Execution Info, once and whenever available tasks or the currently executing task changes.
- Level 3 (Mission agents): normally a Level 2 task agent with the added capability to handle complex, completely specified tasks (e.g. via Behavior Trees or Task Specification Trees). Not covered by this API specification.
- Level 4 (Mission agents): normally a Level 3 mission agent with the added capability to handle complex tasks that are not fully specified, filling in the remaining parameters itself. Not covered by this API specification.
Once these declarations are in place, telemetry (see the Sensors spec) and commands (see the Tasks spec) can flow normally.
Channels
- Heartbeat — Mandatory for all agents. Periodic signal indicating the agent is alive, including identity, type, model, and capability levels.
- Sensor Info — Mandatory for Level 1 agents (sensor agents). Declares which sensor data the agent provides.
- Direct Execution Info — Mandatory for Level 2+ agents (task agents). Declares available tasks, supported signals, and currently executing tasks.
Servers
| Name | Protocol | Host | Description |
|---|---|---|---|
| localhost | mqtt 3.1.1+ | localhost:1883 | Development MQTT broker |
| production | mqtt 3.1.1+ | broker.waraps.org:8883 | Production MQTT broker |