# iothub-explorer
**Repository Path**: mirrors_Azure/iothub-explorer
## Basic Information
- **Project Name**: iothub-explorer
- **Description**: IoT Hub Explorer has been deprecated in favor of the Azure CLI IoT Extension.
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-03-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# deprecation notice
[](http://unmaintained.tech/)
*`iothub-explorer` will be retired on November 30th, 2018 and has been replaced by the [Azure CLI IoT
Extension](https://aka.ms/iotcli).*
# iothub-explorer

A CLI tool to manage device identities in your IoT hub registry, send and receive messages and files from your devices, and monitor your IoT hub operations.
**iothub-explorer** also lets you simulate a device connected to your IoT hub.
[](https://badge.fury.io/js/iothub-explorer)
## Installing iothub-explorer
> Note: This tool requires Node.js version 4.x or higher for all features to work.
To install the latest version of the **iothub-explorer** tool, run the following command in your command-line environment:
```shell
npm install -g iothub-explorer
```
You can use the following command to get additional help about all the **iothub-explorer** commands:
```shell
$ iothub-explorer help
Usage: iothub-explorer [options] [command-options] [command-args]
Commands:
login start a session on your IoT hub
logout terminate the current session on your IoT hub
list list the device identities currently in your IoT hub device registry
create create a device identity in your IoT hub device registry
delete delete a device identity from your IoT hub device registry
get get a device identity from your IoT hub device registry
import-devices import device identities in bulk: local file -> Azure blob storage -> IoT hub
export-devices export device identities in bulk: IoT hub -> Azure blob storage -> local file
send send a message to the device (cloud-to-device/C2D)
monitor-feedback monitor feedback sent by devices to acknowledge cloud-to-device (C2D) messages
monitor-events [device-id] listen to events coming from devices (or one in particular)
monitor-uploads monitor the file upload notifications endpoint
monitor-ops listen to the operations monitoring endpoint of your IoT hub instance
sas-token generate a SAS Token for the given device
simulate-device simulate a device with the specified id
help [cmd] display help for [cmd]
Options:
-h, --help output usage information
-V, --version output the version number
```
Each **iothub-explorer** command has its own help that can be viewed by passing `help` the command name:
```shell
$ iothub-explorer help create
Usage: iothub-explorer create [options] [device-id|device-json]
Create a device identity in your IoT hub device registry, either using the specified device id or JSON description.
Options:
-h, --help output usage information
-a, --auto create a device with an auto-generated device id
-cs, --connection-string show the connection string for the newly created device
-d, --display comma-separated list of device properties that should be displayed
-l, --login connection string to use to authenticate with your IoT Hub instance
-k1, --key1 specify the primary key for newly created device
-k2, --key2 specify the secondary key for newly created device
-r, --raw use this flag to return raw JSON instead of pretty-printed output
-x, --x509 generate an x509 certificate to authenticate the device
-dv, --daysValid number of days the x509 certificate should be valid for
-t1, --thumbprint1 specify the primary thumbprint of the x509 certificate
-t2, --thumbprint2 specify the secondary thumbprint of the x509 certificate
```
## Examples
### Working with the device identity registry
Supply your IoT hub connection string once using the **login** command. This means you do not need to supply the connection string for subsequent commands for the duration of the session (defaults to one hour):
```shell
$ iothub-explorer login "HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey="
Session started, expires Fri Jan 15 2016 17:00:00 GMT-0800 (Pacific Standard Time)
```
> Note: See [Set up IoT Hub](https://github.com/Azure/azure-iot-device-ecosystem/blob/master/setup_iothub.md) for information about how to retrieve your IoT hub connection string.
To retrieve information about an already-registered device from the device identity registry in your IoT hub, including the device connection string, use the following command:
```shell
$ iothub-explorer get known-device --connection-string
-
deviceId: known-device
...
-
connectionString: HostName=.azure-devices.net;DeviceId=known-device;SharedAccessKey=
```
To register a new device and get its connection string from the device identity registry in your IoT hub, use the following command:
```shell
$ iothub-explorer create new-device --connection-string
Created device new-device
-
deviceId: new-device
...
-
connectionString: HostName=.azure-devices.net;DeviceId=new-device;SharedAccessKey=
```
To delete a device from the device identity registry in your IoT hub, use the following command:
```shell
$ iothub-explorer delete existing-device
```
### Working with devices
Use the following command to monitor the device-to-cloud messages from a device:
```shell
$ iothub-explorer monitor-events myFirstDevice --login "HostName=.azure-devices.net;SharedAccessKeyName=;SharedAccessKey="
Monitoring events from device myFirstDevice
Listening on endpoint iothub-ehub-/ConsumerGroups/$Default/Partitions/0 start time: 1453821103646
Listening on endpoint iothub-ehub-/ConsumerGroups/$Default/Partitions/1 start time: 1453821103646
Event received:
{ deviceId: 'myFirstDevice', windSpeed: 10.92403794825077 }
Event received:
{ deviceId: 'myFirstDevice', windSpeed: 10.671534826979041 }
Event received:
{ deviceId: 'myFirstDevice', windSpeed: 13.557703581638634 }
Event received:
{ deviceId: 'myFirstDevice', windSpeed: 11.123057782649994 }
```
> Note: The **monitor-events** command requires you to provide the IoT Hub connection string even if you have created a session using the **login** command.
Use the following commands to send a cloud-to-device command and then wait for the device to respond with an acknowledgment:
```shell
$ iothub-explorer send myFirstDevice MyMessage --ack=full
Message sent (id: 13bc1852-eeb4-4611-b0bd-329d80c83f6f)
$ iothub-explorer monitor-feedback myFirstDevice
Waiting for feedback... (Ctrl-C to quit)
Feedback message
iothub-enqueuedtime: Tue Jan 26 2016 15:51:50 GMT+0000 (GMT Standard Time)
body:
-
originalMessageId: 13bc1852-eeb4-4611-b0bd-329d80c83f6f
description: Success
deviceGenerationId: 635875186443339004
deviceId: myFirstDevice
enqueuedTimeUtc: 2016-01-26T15:51:03.4197888Z
```