Prerequisites
- Have a Heex CLI
- Have an API_KEY. Should be accessible in your personnal space on the heex cloud platform. If you already logged-in you don’t need to add the Api-Key in your command line.
Usage
| Subcommand | Description |
|---|---|
| add-credentials | Add a system’s secret key to the credentials file. |
| connectivity | Change the connectivity mode of a system. |
| create | Create a new system on the cloud. |
| create-AMR-system | Generate AMR - Sample Mobile Robot system required for Quick Start Agent. |
| create-from-bag | Create a new system on the cloud from a bag file. |
| create-template-file | Advanced usage: creates a template file for system creation configuration. |
| get | Retrieve system details for a given ID. |
| get-sys-conf | Retrieve system configuration for a given ID. |
| list | List all systems. |
| replay | Run a replay for a given bag uploaded previously to the cloud. |
| status | Provides the status of the system. |
| todo-list | Provides systems todo list for a given workspace. |
| update | Update a system on the cloud. |
| delete | Delete a system with a given ID. |
## How to add a system’s secret key to the credentials file
Usage:--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system [required].
How to change connectivity mode of a system
To change connectivity mode of the system, you can use the following command: Usage:--mode.
How to create a new system
2 different ways to create a new system on the cloud, both using the commandcreate:
- Create a system only by name and some optional flags:
--name: Must be unique on your cloud workspace.--description: Description for your system.--system-middleware: System middleware. Check help for available middleware.--system-category: System category. Check help for available templates.--operating_system: Operating system. Defaults to the OS of user executing the command. Check help for available templates.
- Another way to create a system is to use a configuration file that contains all the data you want to generate. To use it:
- You can generate a template file using the
./heex system create-template-filecommand, and then fill the given file as you need. - Once it is filled, use the create subcommand with the
--input-fileinput pointing to the filled file - Note that fields
nameandtypeare required, everything else can be removed.
- You can generate a template file using the
- Note that whichever way you chose to create your system, you can add the option
--output-filewhich will save the created data info into a file. You’ll have to provide a filepath with a json extension: /path/to/file.json - If you provide
--json-output, it will disable all logging (except errors), and your command shall only output the result in a json format. Be aware that it is not compatible with ‘—output-file’ option.
How to create an AMR sample system
You can generate a sample AMR (Autonomous Mobile Robot) system which is required for Quick Start Agent using thecreate-AMR-system command. This command will create a pre-configured system on the Heex Cloud Platform with all necessary components for Quick Start Agent to work correctly. This system normally exists when your workspace is created. In case you try to run the Quick Start Agent and it fails, you can use this command to generate a new AMR system.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.
How to create a system from a bag file
You can create a new system on the cloud directly from a bag file using thecreate-from-bag command. This is useful for the Cloud replay feature. Currently the upload of bag file to be able to run Cloud replay is only supported via the command line interface and not via the web platform.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--bag-path: Path or URL of the bag file. Supported formats are:.mcap,.db3[required].--system-id: System to link the bag file to. This is mandatory if no system name is given. You can use either this or--name.--name: System code name (name display for your system on the UI). If the name of your system contains special characters such as', enclose with double quotes"". For example,--name "John's dev station". This is mandatory if no system-id is given.--filename: Filename of the bag file. If not provided, the filename will be extracted from the bag path. Please avoid special characters or spaces in the filename.--datasource-creation: If--system-idis provided, you need to set this flag to true if you want to create a datasource from the bag file. If--nameis provided, this flag is set to true by default.--output-file: If you’d like to save the created data info into a file, provide its path using this option. Please provide a filepath with a json extension:/path/to/file.json--json-output: Disables all logging (except errors), and your command shall only output the result in a json format. Not compatible with--output-fileoption.
ℹ️ Important:bag-idandsystem-idare required to run a replay, so make sure to save them or use the--output-fileoption to save the output to a file.
ℹ️ Important: You can upload only one bag file per system. If you want to upload a new bag file, you need to create a new system.
How to run a replay from a bag file
After uploading a bag file to the cloud using thecreate-from-bag command, you can run a replay using the replay command. This will process the bag file on the cloud for a specific system.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system [required].--bag-id: Bag ID to replay. This is the id of the bag uploaded previously to the cloud with the command./heex system create-from-bag[required].--output-file: If you’d like to save the created replay info into a file, provide its path using this option. Please provide a filepath with a json extension:/path/to/file.json--json-output: Disables all logging (except errors), and your command shall only output the result in a json format. Not compatible with--output-fileoption.
How to update a system
You can update a system by using a json file. Flags to update a system are--input-file and --system-id which are both required. You can generate a template file using the command below:
Usage:
How to get system details
You can retrieve the system details using the commandget, which will retrieve system details for a given system ID in the specified output format. The system ID can be found on the web platform or by using command ./heex system list [OPTIONAL-FILTERS].
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system [required].--output-file: The result will be saved into this provided filepath. The output format is json, so please provide a filepath with that format: /path/to/file.json--json-output: Disables all logging (except errors), and your command shall only output the result in a json format. Not compatible with ‘—output-file’ option.
⚠️ Warning: System name or description with special characters: If your system name or description contains special characters (i.e ’ or space), please use double quotes before and after your names. For example, for a system called Jane’s system, provide that as —name “Jane’s system”.
How to get system configuration
You can retrieve the system configuration using the commandget-sys-conf, which will retrieve system configuration for a given system ID in the specified output format. Options are the same as get command. See the usage example below:
Usage:
How to get system status
You can retrieve the status of a system using the commandstatus. This command will retrieve the status of a given system ID in the specified output format.
Information that will be provided is:
- Agent version
- Last OTA update
- System status
- Signal details
How to get system to-do list for a given ID
You can retrieve the to-do list of systems for a given workspace with the corresponding status using the commandtodo-list. You can filter the result by providing a system ID and/or system status. If a system status is given, for example , --system-status TO_CODE, only systems with the given status will be returned and you’ll be able to see the list of systems that need to be coded yet.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system. Multiple can be provided, example:--system-id sysId1 --system-id sysId2--system-status: Filter by system status.--details: Show details of each system implementations status included.--output-file: The result will be saved into this provided filepath. The output format is json, so please provide a filepath with that format: /path/to/file.json--json-output: Disables all logging (except errors), and your command shall only output the result in a json format. Not compatible with ‘—output-file’ option.
--details is provided, the output will be a list of systems including their signal details. Otherwise, it will display only system id, status and agent version when available.
Usage:
How to get list of systems with details for a given workspace
You can retrieve the list of systems for a given workspace with the corresponding status using the commandlist. Same as for todo-list, you can filter the result by providing a system ID and/or system status. The result will be a list of systems with details.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system. Multiple can be provided, example:--system-id sysId1 --system-id sysId2--system-status: Filter by system status.--output-file: The result will be saved into this provided filepath. The output format is json, so please provide a filepath with that format: /path/to/file.json--json-output: Disables all logging (except errors), and your command shall only output the result in a json format. Not compatible with ‘—output-file’ option.
How to delete a system
To be able to delete a system you need to provide asystem-id and use the command below.
Available options:
--api-key: Add your user API_KEY which can be found on the cloud [required]. No need to provide if you have an active userconfig.--system-id: ID of the involved system [required].