Console CLI
Introduction
The Command Line Interface (CLI) allows you to interact with the Console API without making HTTP Requests, but instead via a command line prompt. It's ideal for mass provisioning or for integrating onto a production line.
In addition, it has certain high-level features for account setup like importing devices from other network providers.
Installation
Download a compiled release here for your appropriate platform.
API Key
You must activate a Console API key before using the CLI.
The first time you run the CLI, it will prompt you for this key. It will save the key in a local
file: .helium-console-config.toml
Usage
Features
You can view the most current commands, features, and documentation by accessing the help menus. For
example: helium-console-cli --help
or helium-console-cli device --help
.
Current high level features are:
create and delete devices records, using (app_eui, app_key, dev_eui) or UUID
list all device records
create and delete labels by UUID
create and delete device labels, by using (device_uuid, label_uuid)
import devices from The Things Network (TTN\
)
Examples
Let's create a device:
helium-console-cli device create 000A000100000046 CB67C92DD5898D07872224202DED7E76 DEADBEEF23F23454 foo
You'll get a response with the full record of this new device:
Device {
app_eui: "000A000100000046",
app_key: "CB67C92DD5898D07872224202DED7E76",
dev_eui: "DEADBEEF23F23454",
id: "03f5967a-7c79-42a2-bd5f-6e51015e73e3",
name: "foo",
organization_id: "07273bc4-4bc9-44ec-b4d5-ad320f162e15",
oui: 1,
}
You can view this device again by either (app_eui, app_key, dev_eui) or by id/uuid. For example:
helium-console-cli device get 000A000100000046 CB67C92DD5898D07872224202DED7E76 DEADBEEF23F23454
or
helium-console-cli device get-by-id 03f5967a-7c79-42a2-bd5f-6e51015e73e3
These commands will return the same record as above.
Similarly, you may delete the device:
helium-console-cli device delete 000A000100000046 CB67C92DD5898D07872224202DED7E76 DEADBEEF23F23454
or
helium-console-cli device delete-by-id 03f5967a-7c79-42a2-bd5f-6e51015e73e3
Finally, at any time, you may list all your devices:
helium-console-cli device list
Which will return an array of all your devices:
[
Device {
app_eui: "000A000100000046",
app_key: "CB67C92DD5898D07872224202DED7E76",
dev_eui: "DEADBEEF23F23454",
id: "03f5967a-7c79-42a2-bd5f-6e51015e73e3",
name: "foo",
organization_id: "07273bc4-4bc9-44ec-b4d5-ad320f162e15",
oui: 1,
}
]
TTN Import
To start an import session, use the ttn import command:
helium-console-cli ttn import
You will be prompted for a ttnctl access code, which you can generate by clicking on
ttnctl access code
here. This single-use access code is
valid for 5 minutes. During this time the CLI may use the code to request an OAuth2 token; it
expires after 60 minutes.
The CLI's prompts will help you:
- select to import from a single application or all applications (maximum 10, otherwise the OAuth2 token is "used up")
- you may import all the devices at once or you may approve device import one by one.
- you may use the TTN App ID as an automatic label for every device or you may approve device labelling one by one
The import process tolerates attempts to re-import or re-label the same device. As such, you may re-run the script to label devices with the TTN App ID even if you already imported the devices during a previous session.