
The Juniper Mist connector integrates with the Juniper Mist cloud platform to bring wireless network infrastructure data into the Mapped graph. It reads device status and connected device metrics from Mist network devices like wireless access points, switches, and gateways. Optionally, it supports real-time webhook notifications for occupancy alerts.
Potential use cases include:
In order to authenticate, the following is required:
The connector associates Mist devices with Mapped places on the Location Mapping tab. The connector fetches all devices from sites you have access to (based on your API token's privileges) and pre-populates the mapping table.
| Field | Required | Description |
|---|---|---|
| building.siteId | Yes | The Site in your organization |
| building.name | Yes | Building name |
| building.address | Yes | Building address |
| building.refId | Yes | Mist Site UUID |
| subBuilding.name | No | Sub-building name (e.g., wing or section) |
| subBuilding.code | No | Sub-building code |
| floor.name | Yes | Floor name (from Mist map/floor plan) |
| floor.level | Yes | Numeric floor level |
| space.name | Yes | Space name |
| space.code | Yes | Space code |
| thing.name | Yes | Device name |
| thing.refId | Yes | Mist device UUID (unique) |
| thing.context | Yes | Device metadata including type (ap, switch, gateway), serial number, and MAC address |
Notes:
| Mist API Model | Mapped Entity | exactType | Description |
|---|---|---|---|
| Site (with sub-building mapping) | SubBuilding | SubBuilding | When a sub-building is specified in the place mapping, the site maps to a sub-building. |
| Map (floor plan) | Floor | Floor | Mist maps/floor plans are mapped to floors within a building. |
| Device (type: ap) | WirelessAccessPoint | WirelessAccessPoint | Mist wireless access points, linked to their assigned floor. |
| Device (type: switch) | Switch | Switch | Mist network switches, linked to their building or sub-building. |
| Device (type: gateway) | NetworkedDevice | NetworkedDevice | Mist gateways, linked to their building or sub-building. |
Relationships:
| Mist Data | Mapped Point | exactType | Datatype | Unit | Description |
|---|---|---|---|---|---|
| AP device status | OnOffStatus | OnOffStatus | ENUM | NUM | Access point online/offline status. Values: 0 = disconnected, 1 = connected. |
| AP connected WLANs ConnectedDevicesCountSensor | ConnectedDevicesCountSensor | INT | NUM | Count of unique WLANs served by the access point. | |
| Switch device status | OnOffStatus | OnOffStatus | JSON | — | Switch status as a JSON object containing the status field. |
| Gateway device status | OnOffStatus | OnOffStatus | JSON | — | Gateway status as a JSON object containing the status field. |
Notes:
Query all Buildings with their devices and device locations
Note you'll need the connectorId of your Juniper Mist connector to execute this query. You can find this in the Mapped Console grid view under the Connectors tab.
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22{ buildings { id name things(filter: {connectedDataSourceId: {eq: "CONPVSTyeYObEQ3RsT9uENiPN"}}) { id name exactType identities { ... on ExternalIdentity { __typename value } } hasLocation { id name exactType } } } }
Query latest Access Point device status time series
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23{ things(filter: {exactType: {eq: "Wireless_Access_Point"}}) { id name hasPoint { id name exactType datatype unit { id name } valueMap series(latest: true) { timestamp value { float64Value } } } } }
Query connected device counts for access points
Request ResponseCopy1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24{ things(filter: {exactType: {eq: "Wireless_Access_Point"}}) { id name exactType hasPoint(filter: {exactType: {eq: "Connected_Devices_Count_Sensor"}}) { id name exactType datatype unit { id name } valueMap series(latest: true) { timestamp value { int64Value } } } } }
![Diagram showing Building -->hasPart Floor. Floor -->isLocationOf WirelessAccessPoint. WirelessAccessPoint -->hasPoint OnOffStatus_AP["OnOffStatus"]. WirelessAccessPoint -->hasPoint ConnectedDevicesCountSensor](https://images.contentstack.io/v3/assets/blt6b3fedbcc4e91791/blt477dfbb37d5e0ea1/69b080912b01730008d5fccf/Access_Points_(linked_to_Floors).png)
![Diagram showing Building -->isLocationOf Switch Building -->isLocationOf NetworkedDevice["NetworkedDevice (Gateway)"] Switch -->hasPoint OnOffStatus_Switch["OnOffStatus"] NetworkedDevice -->hasPoint OnOffStatus_Gateway["OnOffStatus"]](https://images.contentstack.io/v3/assets/blt6b3fedbcc4e91791/bltfb6b1161dd1862aa/69b080d7cd033a0008891ccd/Switches_&_Gateways_(linked_to_Buildings).png)
![Building -->hasPart SubBuilding SubBuilding -->isLocationOf Switch SubBuilding -->isLocationOf NetworkedDevice["NetworkedDevice (Gateway)"] Switch -->hasPoint OnOffStatus_Switch["OnOffStatus"] NetworkedDevice -->hasPoint OnOffStatus_Gateway["OnOffStatus"]](https://images.contentstack.io/v3/assets/blt6b3fedbcc4e91791/blt7399e3b1d3323174/69b08111f2eef00008527294/With_Buildings.png)