MCPcopy Index your code
hub / github.com/Azure/azure-iot-explorer

github.com/Azure/azure-iot-explorer @v0.15.17

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.15.17 ↗ · + Follow
1,240 symbols 3,127 edges 578 files 13 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

[!NOTE] This repository is not actively maintained.

While the project remains available for use, all active development has stopped. Community contributions and critical fixes might still be considered.

Azure IoT Explorer (preview)

Build Status

Table of Contents

Getting Azure IoT Explorer

You can either download a pre-built version or build it yourself.

Download a pre-built version

Go to the Releases tab, download the installer corresponding to your platform and install.

Run it locally and build it yourself

  1. Open a Node capable command prompt
  2. Clone the repo: git clone https://github.com/Azure/azure-iot-explorer.git
  3. Run: npm install
  4. Run: npm start
    • A new tab in your default browser will be opened automatically pointing to the locally running site.
  5. [optional] Stop step 4 then run: npm run build and then run: npm run electron.
    • The electron app will spin up using the bits generated in the dist folder.

If you'd like to package the app yourself, please refer to the FAQ.

Features

Configure an IoT Hub connection

  • Upon opening the application, choose an authentication method and connect to an Azure IoT hub.
  • If you picked Connect via IoT Hub connection string, you can add multiple strings, view, update or delete them anytime by returning to Home.
  • If you picked Connect via Azure Active Directory, you will be redirected to login in through AAD, from where you will be able to pick a subscription, and then pick an IoT hub.
  • You can switch back and forth between these two authentication methods.

login

Device CRUD

  • Click New to create a new device.
  • Select device(s) and click Delete to delete device(s). Multiple devices can be selected by clicking while dragging the mouse.
  • Devices can by queried by typing the first few characters of a device name in the query box.

create_device

Device functionalities

device_details

Plug and Play

If you are looking for a UI tool to get a flavor of Plug and Play, look no futher. Follow this Microsoft Docs to get started. - Once your device has gone through discovery, IoT Plug and Play components page would be available on device details view. - The model ID would be shown. - Follow our guidance to set up how we can retrieve model definitions. If it is already setup, We will inform you where are we resolving your model definitions from. - A table would show the list of components implemented by the device and the corresponding interfaces the components conform to. - You can go back to Home (either from device or by directly clicking the breadcrumb) to change how we resolve model definitions. Note this is a global setting which would affect across the hub.

pnp_discovery

  • Click the name of any component, and switch between interface, properties, commands and telemetry to start interacting with the PnP device.

pnp_interaction_property pnp_interaction_telemetry

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Extension points exported contracts — how you extend this code

JsonSchemaAdaptorInterface (Interface)
(no doc) [1 implementers]
src/app/shared/utils/jsonSchemaAdaptor.ts
Config (Interface)
(no doc)
webpack.dev.ts
GenerateMenuParameters (Interface)
(no doc)
public/factories/menuFactory.ts
ContextBridgeError (Interface)
(no doc)
public/utils/errorHelper.ts
Message (Interface)
(no doc)
public/handlers/eventHubHandler.ts
DataPlaneRequest (Interface)
(no doc)
public/interfaces/deviceInterface.ts
AllowedLanguage (Interface)
(no doc)
src/localization/resources.ts
AppConfigInterface (Interface)
(no doc)
src/appConfig/appConfig.ts

Core symbols most depended-on inside this repo

dispatch
called by 50
src/app/shared/hooks/useAsyncSagaReducer.ts
validateAzureIoTHostname
called by 43
public/handlers/urlValidator.ts
getInitialAzureActiveDirectoryState
called by 35
src/app/authentication/azureActiveDirectory/state.ts
validateEventHubHostname
called by 34
public/handlers/urlValidator.ts
getInstance
called by 24
src/app/shared/appTelemetry/appInsightsClient.ts
getInitialDeviceEventsState
called by 21
src/app/devices/deviceEvents/state.ts
getDeviceIdFromQueryString
called by 21
src/app/shared/utils/queryStringHelper.ts
useAsyncSagaReducer
called by 18
src/app/shared/hooks/useAsyncSagaReducer.ts

Shape

Function 811
Interface 243
Method 120
Enum 35
Class 31

Languages

TypeScript100%

Modules by API surface

public/electron.ts25 symbols
src/app/devices/cloudToDeviceMessage/components/cloudToDeviceMessage.tsx24 symbols
src/app/devices/addDevice/components/addDevice.tsx24 symbols
src/app/devices/module/addModuleIdentity/components/addModuleIdentity.tsx22 symbols
public/utils/authProvider.ts21 symbols
src/app/devices/pnp/components/deviceSettings/deviceSettingsPerInterface.tsx18 symbols
src/app/devices/deviceEvents/components/deviceSimulationPanel.tsx18 symbols
src/app/devices/deviceEvents/components/commands.tsx18 symbols
src/app/devices/pnp/components/deviceCommands/deviceCommandsPerInterfacePerCommand.tsx17 symbols
public/interfaces/deviceInterface.ts17 symbols
src/app/devices/deviceEvents/components/eventsContent.tsx16 symbols
src/app/devices/module/moduleIndentityDetail/components/moduleIdentityDetail.tsx15 symbols

For agents

$ claude mcp add azure-iot-explorer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact