cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6962
Views
2
Helpful
9
Replies

Channel Utilization Endpoint

Prodrick
Level 4
Level 4

In this endpoint, I wonder if there might be a standard regarding wifi0, wifi1, wifi2..., i.e. is wifi0 always 2.4 GHz, wifi1 always 5 GHz, and wifi2 always 6 GHz, or does it depend on the Access Point model? Thanks

https://api.meraki.com/api/v1/networks/:networkId/networkHealth/channelUtilization

Example payload from https://documenter.getpostman.com/view/897512/SzYXYfmJ#fa882a45-0dad-4576-b9ee-eb803e109721


[
{
"serial": "Q234-ABCD-5678",
"model": "MR34",
"tags": " recently-added ",
"wifi0": [
{
"startTime": "2018-10-09T22:18:27Z",
"endTime": "2018-10-09T22:19:27Z",
"utilizationTotal": 33.84,
"utilization80211": 32,
"utilizationNon80211": 1.84
},
{
"startTime": "2018-10-09T22:19:27Z",
"endTime": "2018-10-09T22:20:27Z",
"utilizationTotal": 33.85,
"utilization80211": 32.01,
"utilizationNon80211": 1.84
},
{
"startTime": "2018-10-09T22:20:27Z",
"endTime": "2018-10-09T22:21:27Z",
"utilizationTotal": 34.89,
"utilization80211": 33.48,
"utilizationNon80211": 1.41
}
],
"wifi1": [
{
"startTime": "2018-10-09T22:18:27Z",
"endTime": "2018-10-09T22:19:27Z",
"utilizationTotal": 33.84,
"utilization80211": 32,
"utilizationNon80211": 1.84
},
{
"startTime": "2018-10-09T22:19:27Z",
"endTime": "2018-10-09T22:20:27Z",
"utilizationTotal": 33.85,
"utilization80211": 32.01,
"utilizationNon80211": 1.84
},
{
"startTime": "2018-10-09T22:20:27Z",
"endTime": "2018-10-09T22:21:27Z",
"utilizationTotal": 34.89,
"utilization80211": 33.48,
"utilizationNon80211": 1.41
}
]
}
]

1 Accepted Solution

Accepted Solutions

John-on-API
Cisco Employee
Cisco Employee

To answer your question: The radio index is often (but not necessarily always) 0 for 2.4, 1 for 5, and 2 for either a fixed 6 or flex 5/6-capable radio.

Ironically, the endpoint you mentioned probably isn't your best friend for answering your actual question.

Have you looked at these? All of these are much more explicit and AFAIC better suited to most if not all use cases regarding spectrum utilization.

https://developer.cisco.com/meraki/api-v1/#!get-average-channel-utilization-for-all-bands-in-a-network-split-by-ap

https://developer.cisco.com/meraki/api-v1/#!get-average-channel-utilization-across-all-bands-for-all-networks-in-the-organization

https://developer.cisco.com/meraki/api-v1/#!get-a-time-series-of-average-channel-utilization-for-all-bands-segmented-by-device

https://developer.cisco.com/meraki/api-v1/#!get-a-time-series-of-average-channel-utilization-for-all-bands

View solution in original post

9 Replies 9

Philip D'Ath
Meraki Community All-Star
Meraki Community All-Star

I don't know the answer.

I'm guessing they refer to the physical radios - radio0, radio1, etc. If this is the case, it might get very tricky with the 9100 APs, as they have software-defined radios. It should be possible (for example) to have all three of their radios operating on a single band (using different frequencies of course).

John-on-API
Cisco Employee
Cisco Employee

To answer your question: The radio index is often (but not necessarily always) 0 for 2.4, 1 for 5, and 2 for either a fixed 6 or flex 5/6-capable radio.

Ironically, the endpoint you mentioned probably isn't your best friend for answering your actual question.

Have you looked at these? All of these are much more explicit and AFAIC better suited to most if not all use cases regarding spectrum utilization.

https://developer.cisco.com/meraki/api-v1/#!get-average-channel-utilization-for-all-bands-in-a-network-split-by-ap

https://developer.cisco.com/meraki/api-v1/#!get-average-channel-utilization-across-all-bands-for-all-networks-in-the-organization

https://developer.cisco.com/meraki/api-v1/#!get-a-time-series-of-average-channel-utilization-for-all-bands-segmented-by-device

https://developer.cisco.com/meraki/api-v1/#!get-a-time-series-of-average-channel-utilization-for-all-bands

Hi, @John-on-API and thanks for this. We have been trying to migrate from using this endpoint so we can mitigate total API calls and organize data by channel rather than wifi interface. However, we have tried it against multiple Meraki Orgs and it either doesn't return at all using shortest interval 300s or has a 502 bad gateway error after discovering a few pages.

Endpoint we've been testing:

https://developer.cisco.com/meraki/api-v1/get-organization-wireless-devices-channel-utilization-history-by-device-by-interval/

This is an example response (i replaced the actual OrgID with 123456). Does this make sense?

java.net.ProtocolException: Server returned HTTP code 502 for https: //n399.meraki.com/api/vi/organizations/123456/wireless/devices/ChannelUtilization/history/byDevice/ byInterval?interval=300&perPage=10006startingAfter=2023-08-02T17%350%3A00Z%2SerialNumber




Hi @Prodrick I'm glad to hear you got a chance to use these endpoints, but sorry to hear there were some errors or empty responses. I recommend removing the serial # from your post for privacy purposes.

In both cases, i.e. no data for timespan 300 and 502 errors on some pages, this could be the result of a bug. You should feel confident to report it to Meraki Support for triage.

Thanks and I sanitized my post 🙂

Hi @John-on-API I wonder if you might provide a screenshot of a working example of this endpoint (not what's shown in the API docs as the example output):

https://developer.cisco.com/meraki/api/get-organization-wireless-devices-channel-utilization-by-device/

We haven't been able to get it to work, and maybe there is a simple reason (perhaps syntax). The use case is orgs with thousands of APs, where we want to get the utilization for each AP by band, i.e. 2.4, 5, 6.

Thanks

Sure, although the example is correct. If you are having an issue using it with your organization, please do open a support case.

GET https://api.meraki.com/api/v1/organizations/:organizationId/wireless/devices/channelUtilization/byDevice
[
    {
        "serial": "actual AP serial",
        "mac": "actual AP MAC",
        "byBand": [],
        "network": {
            "id": "actual network ID"
        }
    },
    {
        "serial": "actual AP serial",
        "mac": "actual AP MAC",
        "network": {
            "id": "actual network ID"
        },
        "byBand": [
            {
                "band": "2.4",
                "wifi": {
                    "percentage": 18.48
                },
                "nonWifi": {
                    "percentage": 1.55
                },
                "total": {
                    "percentage": 20.03
                }
            },
            {
                "band": "5",
                "wifi": {
                    "percentage": 1.82
                },
                "nonWifi": {
                    "percentage": 0.19
                },
                "total": {
                    "percentage": 2.01
                }
            }
        ]
    },
    {
        "serial": "actual AP serial",
        "mac": "actual AP MAC",
        "network": {
            "id": "actual network ID"
        },
        "byBand": [
            {
                "band": "2.4",
                "wifi": {
                    "percentage": 40.78
                },
                "nonWifi": {
                    "percentage": 2.56
                },
                "total": {
                    "percentage": 43.34
                }
            },
            {
                "band": "5",
                "wifi": {
                    "percentage": 14.83
                },
                "nonWifi": {
                    "percentage": 0.52
                },
                "total": {
                    "percentage": 15.35
                }
            },
            {
                "band": "6",
                "wifi": {
                    "percentage": 0.41
                },
                "nonWifi": {
                    "percentage": 0.12
                },
                "total": {
                    "percentage": 0.53
                }
            }
        ]
    },
    {
        "serial": "actual AP serial",
        "mac": "actual AP MAC",
        "network": {
            "id": "actual network ID"
        },
        "byBand": [
            {
                "band": "2.4",
                "wifi": {
                    "percentage": 20.63
                },
                "nonWifi": {
                    "percentage": 7.13
                },
                "total": {
                    "percentage": 27.76
                }
            },
            {
                "band": "5",
                "wifi": {
                    "percentage": 13.01
                },
                "nonWifi": {
                    "percentage": 0.77
                },
                "total": {
                    "percentage": 13.78
                }
            },
            {
                "band": "6",
                "wifi": {
                    "percentage": 0.22
                },
                "nonWifi": {
                    "percentage": 0.05
                },
                "total": {
                    "percentage": 0.27
                }
            }
        ]
    },
    {
        "serial": "actual AP serial",
        "mac": "actual AP MAC",
        "network": {
            "id": "actual network ID"
        },
        "byBand": [
            {
                "band": "2.4",
                "wifi": {
                    "percentage": 41.99
                },
                "nonWifi": {
                    "percentage": 6.26
                },
                "total": {
                    "percentage": 48.25
                }
            },
            {
                "band": "5",
                "wifi": {
                    "percentage": 2.79
                },
                "nonWifi": {
                    "percentage": 0.11
                },
                "total": {
                    "percentage": 2.9
                }
            }
        ]
    }
]

Thanks @John-on-API . Today, I tested this with two different orgs and it is working as you stated. I really appreciate your timely response (as always).

curl -L --request GET \
--url 'https://api.meraki.com/api/v1/organizations/[Org ID Here]/wireless/devices/channelUtilization/byDevice?timespan=840&interval=600' \
--header 'Authorization: Bearer [API Key Here]' \
--header 'Accept: application/json'

Glad it hear it! Thanks for the confirmation.