Skip to content

PyPNM-CMTS / ServingGroup / Opertions / Get / topology

Source Files

  • HTML/script: visual/PyPNM-CMTS/ServingGroup/Opertions/Get/topology.html
  • JSON sample: visual/PyPNM-CMTS/ServingGroup/Opertions/Get/topology.json

Preview

Preview is best-effort. Some templates may rely on Postman-specific APIs that are not yet shimmed.

Visualizer HTML/script source
// Postman Visualizer: PyPNM-CMTS/ServingGroup/Opertions/Get/topology
// Last Update: 2026-03-08 20:45:00 MST
// Visual Constraints: Follow canonical visual rules in CODING_AGENTS.md.

(function () {
  const response = pm.response.json();

  function safeText(v) {
    if (v === undefined || v === null) return 'N/A';
    const s = String(v).trim();
    return s ? s : 'N/A';
  }

  function n(v) {
    const x = Number(v);
    return Number.isFinite(x) ? x : null;
  }

  function fmtUtc(epochSec) {
    const x = n(epochSec);
    if (x === null) return 'N/A';
    const d = new Date(x * 1000);
    if (!Number.isFinite(d.getTime())) return 'N/A';
    const p = (y) => String(y).padStart(2, '0');
    return d.getUTCFullYear() + '-' + p(d.getUTCMonth() + 1) + '-' + p(d.getUTCDate()) + ' ' + p(d.getUTCHours()) + ':' + p(d.getUTCMinutes()) + ':' + p(d.getUTCSeconds()) + ' UTC';
  }

  function sanitizeMac(value) {
    const raw = safeText(value);
    if (raw === 'N/A') return raw;
    const compact = raw.replace(/[^0-9a-f]/gi, '').toLowerCase();
    if (compact.length !== 12) return raw.toLowerCase();
    return compact.match(/.{1,2}/g).join(':');
  }

  function sortByLowerHz(a, b) {
    const al = n(a && a.lower_frequency_hz);
    const bl = n(b && b.lower_frequency_hz);
    if (al !== null && bl !== null) return al - bl;
    const ai = n(a && a.channel_id);
    const bi = n(b && b.channel_id);
    if (ai !== null && bi !== null) return ai - bi;
    return String(safeText(a && a.channel_id)).localeCompare(String(safeText(b && b.channel_id)), undefined, { numeric: true });
  }

  function bucketChannels(groups) {
    return groups.map((g) => {
      const channels = (g && g.channels && typeof g.channels === 'object') ? g.channels : {};
      const ds = (channels.ds && typeof channels.ds === 'object') ? channels.ds : {};
      const us = (channels.us && typeof channels.us === 'object') ? channels.us : {};

      const dsScQam = Array.isArray(ds.sc_qam) ? ds.sc_qam.slice().sort(sortByLowerHz) : [];
      const dsOfdm = Array.isArray(ds.ofdm) ? ds.ofdm.slice().sort(sortByLowerHz) : [];
      const usScQam = Array.isArray(us.sc_qam) ? us.sc_qam.slice().sort(sortByLowerHz) : [];
      const usOfdma = Array.isArray(us.ofdma) ? us.ofdma.slice().sort(sortByLowerHz) : [];

      const modemMap = (g && g.modems && typeof g.modems === 'object' && !Array.isArray(g.modems)) ? g.modems : {};
      const modemRows = Object.keys(modemMap).map((mac) => {
        const m = modemMap[mac] && typeof modemMap[mac] === 'object' ? modemMap[mac] : {};
        const sys = m && typeof m.sysdescr === 'object' ? m.sysdescr : {};
        return {
          mac: sanitizeMac(mac),
          model: safeText(sys.MODEL),
          vendor: safeText(sys.VENDOR),
          sw: safeText(sys.SW_REV),
          hw: safeText(sys.HW_REV),
          bootr: safeText(sys.BOOTR)
        };
      }).sort((a, b) => String(a.mac).localeCompare(String(b.mac)));

      return {
        sgId: safeText(g && g.sg_id),
        dsChSetId: safeText(g && g.ds_ch_set_id),
        usChSetId: safeText(g && g.us_ch_set_id),
        modemCount: n(g && g.modem_count) !== null ? n(g && g.modem_count) : modemRows.length,
        successCount: n(g && g.success_count) !== null ? n(g && g.success_count) : 0,
        failureCount: n(g && g.failure_count) !== null ? n(g && g.failure_count) : 0,
        dsScQam,
        dsOfdm,
        usScQam,
        usOfdma,
        modemRows
      };
    });
  }

  function channelNode(label, ch) {
    const rawType = ch && ch.channel_type ? String(ch.channel_type).toLowerCase() : '';
    const cf = n(ch && ch.center_frequency_hz);
    const lo = n(ch && ch.lower_frequency_hz);
    const hi = n(ch && ch.upper_frequency_hz);
    const bw = n(ch && ch.channel_width_hz);
    const id = safeText(ch && ch.channel_id);
    let subtitle = 'CF: ' + (cf !== null ? (Math.round(cf / 1e6) + ' MHz') : 'N/A') + (bw !== null ? (' · BW: ' + Math.round(bw / 1e6) + ' MHz') : '');
    if (rawType === 'ofdm' || rawType === 'ofdma') {
      const range = (lo !== null && hi !== null) ? (Math.round(lo / 1e6) + ' - ' + Math.round(hi / 1e6) + ' MHz') : 'N/A';
      subtitle = 'Range: ' + range + (bw !== null ? (' · BW: ' + Math.round(bw / 1e6) + ' MHz') : '');
    }
    return {
      name: label + ' ' + id,
      subtitle,
      kind: label.startsWith('DS') ? 'ds' : 'us'
    };
  }

  function buildTree(mapped) {
    return {
      name: 'CMTS',
      subtitle: 'Serving Group Topology',
      kind: 'root',
      children: mapped.map((g) => {
        const dsChildren = [];
        if (g.dsScQam.length) dsChildren.push({ name: 'DS SCQAM', kind: 'ds', children: g.dsScQam.map((ch) => channelNode('DS', ch)) });
        if (g.dsOfdm.length) dsChildren.push({ name: 'DS OFDM', kind: 'ds', children: g.dsOfdm.map((ch) => channelNode('DS', ch)) });

        const usChildren = [];
        if (g.usScQam.length) usChildren.push({ name: 'US SCQAM', kind: 'us', children: g.usScQam.map((ch) => channelNode('US', ch)) });
        if (g.usOfdma.length) usChildren.push({ name: 'US OFDMA', kind: 'us', children: g.usOfdma.map((ch) => channelNode('US', ch)) });

        const modelBuckets = {};
        g.modemRows.forEach((m) => {
          const model = safeText(m && m.model);
          if (!modelBuckets[model]) modelBuckets[model] = [];
          modelBuckets[model].push(m);
        });

        const modemChildren = Object.keys(modelBuckets)
          .sort((a, b) => a.localeCompare(b, undefined, { numeric: true }))
          .map((model) => {
            const list = modelBuckets[model]
              .slice()
              .sort((a, b) => String(a.mac).localeCompare(String(b.mac)));
            return {
              name: model,
              subtitle: 'Modem (' + String(list.length) + ')',
              kind: 'modem',
              children: list.slice(0, 120).map((m) => ({
                name: m.mac,
                subtitle: m.sw,
                kind: 'modem'
              }))
            };
          });

        return {
          name: 'SG ' + g.sgId,
          subtitle: 'DS set ' + g.dsChSetId + ' · US set ' + g.usChSetId,
          kind: 'sg',
          children: [
            { name: 'Downstream', kind: 'ds', children: dsChildren.length ? dsChildren : [{ name: 'No DS channels', kind: 'empty' }] },
            { name: 'Upstream', kind: 'us', children: usChildren.length ? usChildren : [{ name: 'No US channels', kind: 'empty' }] },
            { name: 'Cable Modems (' + g.modemCount + ')', kind: 'modem', children: modemChildren.length ? modemChildren : [{ name: 'No modems', kind: 'empty' }] }
          ]
        };
      })
    };
  }

  const groups = Array.isArray(response && response.groups) ? response.groups : [];
  const mapped = bucketChannels(groups);
  const tree = buildTree(mapped);

  const template = `
  <style>
    body { background:#141821; color:#e7edf8; font-family:Arial,sans-serif; margin:0; padding:16px; }
    .wrap { max-width:1600px; margin:0 auto; display:grid; gap:12px; }
    .card { background:#1b2332; border:1px solid rgba(255,255,255,0.09); border-radius:10px; padding:14px; }
    .title { margin:0 0 8px 0; color:#f3f6ff; text-align:center; font-size:20px; font-weight:700; }
    .meta { color:#dbe3ff; font-size:12px; text-align:center; }
    .kpis { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:10px; margin-top:10px; }
    .kpi { background:#202938; border:1px solid rgba(255,255,255,0.10); border-radius:8px; padding:8px; }
    .kpi .label { font-size:11px; color:#dbe3ff; }
    .kpi .value { font-size:14px; color:#f3f6ff; font-weight:700; margin-top:4px; }

    .tree-wrap { border:1px solid rgba(255,255,255,0.10); border-radius:8px; overflow:auto; background:#202938; }
    .tree-head { color:#9ec0ff; font-size:14px; font-weight:700; margin-bottom:8px; }
    .tree-note { color:#dbe3ff; font-size:12px; margin-bottom:8px; }

    .sg-grid { display:grid; grid-template-columns:1fr; gap:12px; }
    .sg-title { margin:0 0 8px 0; color:#9ec0ff; font-size:17px; font-weight:700; }
    .sg-meta { color:#dbe3ff; font-size:12px; margin-bottom:10px; }

    .tbl-wrap { margin-top:10px; border:1px solid rgba(255,255,255,0.10); border-radius:8px; overflow:auto; }
    table { width:100%; border-collapse:collapse; min-width:860px; }
    th, td { padding:8px 10px; border-bottom:1px solid rgba(255,255,255,0.10); font-size:12px; text-align:left; }
    th { background:#202938; color:#dbe3ff; }
    td { color:#f3f6ff; }
    .mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

    .empty { color:#dbe3ff; font-size:12px; padding:8px 0; }

    .tree-svg .link { fill:none; stroke:rgba(255,255,255,0.20); stroke-width:1.2px; }
    .tree-svg .node circle { stroke-width:1.5px; }
    .tree-svg .node text { font-size:12px; fill:#e7edf8; }
    .tree-svg .node .sub { font-size:10px; fill:#dbe3ff; }

    @media (max-width:1100px) {
      .kpis { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
  </style>

  <div class="wrap">
    <div class="card">
      <h1 class="title">Serving Group Operations Get Topology</h1>
      <div class="meta">POST /cmts/servingGroup/operations/get/topology · Capture Time: {{captureTime}}</div>
      <div class="kpis">
        <div class="kpi"><div class="label">Status</div><div class="value">{{status}}</div></div>
        <div class="kpi"><div class="label">Resolved SG IDs</div><div class="value">{{resolvedCount}}</div></div>
        <div class="kpi"><div class="label">Missing SG IDs</div><div class="value">{{missingCount}}</div></div>
        <div class="kpi"><div class="label">Groups</div><div class="value">{{groupCount}}</div></div>
      </div>
    </div>

    <div class="card">
      <div class="tree-head">Graphical Topology</div>
      <div class="tree-note">Click nodes to collapse/expand branches.</div>
      <div id="topologyTree" class="tree-wrap"></div>
    </div>

    <div class="sg-grid" id="sgRoot"></div>
  </div>

  <script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
  <script>
    (function () {
      const groups = {{{groupsJson}}};
      const treeData = {{{treeJson}}};
      const root = document.getElementById('sgRoot');
      if (!root || !Array.isArray(groups)) return;

      function renderTree(data) {
        const host = document.getElementById('topologyTree');
        if (!host || !window.d3 || !data) return;
        host.innerHTML = '';

        const d3 = window.d3;
        const width = Math.max(1200, host.clientWidth || 1200);
        const dx = 22;
        const dy = 220;
        const tree = d3.tree().nodeSize([dx, dy]);
        const diagonal = d3.linkHorizontal().x(function (d) { return d.y; }).y(function (d) { return d.x; });

        const root = d3.hierarchy(data);
        root.x0 = dx;
        root.y0 = 0;
        let i = 0;

        root.descendants().forEach(function (d) {
          d.id = i++;
          d._children = d.children;
          if (d.depth > 1) d.children = null;
        });

        const svg = d3.create('svg')
          .attr('class', 'tree-svg')
          .attr('width', width)
          .attr('height', dx)
          .attr('viewBox', [-40, -20, width, dx])
          .style('font', '12px Arial');

        const gLink = svg.append('g').attr('fill', 'none').attr('stroke', 'rgba(255,255,255,0.2)').attr('stroke-opacity', 1).attr('stroke-width', 1.2);
        const gNode = svg.append('g').attr('cursor', 'pointer').attr('pointer-events', 'all');

        function nodeColor(kind) {
          if (kind === 'ds') return '#5a6fd8';
          if (kind === 'us') return '#39c28e';
          if (kind === 'modem') return '#f1c40f';
          if (kind === 'sg') return '#9ec0ff';
          if (kind === 'root') return '#c62828';
          return '#94a3b8';
        }

        function update(source) {
          const duration = 220;
          const nodes = root.descendants().reverse();
          const links = root.links();
          tree(root);

          let left = root;
          let right = root;
          root.eachBefore(function (node) {
            if (node.x < left.x) left = node;
            if (node.x > right.x) right = node;
          });

          const height = right.x - left.x + dx * 2;

          const transition = svg.transition().duration(duration)
            .attr('height', height)
            .attr('viewBox', [-40, left.x - dx, width, height]);

          const node = gNode.selectAll('g').data(nodes, function (d) { return d.id; });

          const nodeEnter = node.enter().append('g')
            .attr('transform', function () { return 'translate(' + source.y0 + ',' + source.x0 + ')'; })
            .attr('fill-opacity', 0)
            .attr('stroke-opacity', 0)
            .on('click', function (event, d) {
              d.children = d.children ? null : d._children;
              update(d);
            });

          nodeEnter.append('circle')
            .attr('r', 5)
            .attr('fill', function (d) { return d._children ? nodeColor(d.data.kind) : '#1b2332'; })
            .attr('stroke', function (d) { return nodeColor(d.data.kind); });

          nodeEnter.append('text')
            .attr('dy', '0.31em')
            .attr('x', function (d) { return d._children ? -10 : 10; })
            .attr('text-anchor', function (d) { return d._children ? 'end' : 'start'; })
            .text(function (d) {
              const name = d && d.data && d.data.name ? String(d.data.name) : 'N/A';
              const subtitle = d && d.data && d.data.subtitle ? String(d.data.subtitle) : '';
              return subtitle ? (name + ' · ' + subtitle) : name;
            });

          const nodeUpdate = node.merge(nodeEnter).transition(transition)
            .attr('transform', function (d) { return 'translate(' + d.y + ',' + d.x + ')'; })
            .attr('fill-opacity', 1)
            .attr('stroke-opacity', 1);

          node.merge(nodeEnter).select('circle')
            .attr('fill', function (d) { return d._children ? nodeColor(d.data.kind) : '#1b2332'; })
            .attr('stroke', function (d) { return nodeColor(d.data.kind); });

          node.exit().transition(transition).remove()
            .attr('transform', function () { return 'translate(' + source.y + ',' + source.x + ')'; })
            .attr('fill-opacity', 0)
            .attr('stroke-opacity', 0);

          const link = gLink.selectAll('path').data(links, function (d) { return d.target.id; });

          const linkEnter = link.enter().append('path')
            .attr('d', function () {
              const o = { x: source.x0, y: source.y0 };
              return diagonal({ source: o, target: o });
            });

          link.merge(linkEnter).transition(transition).attr('d', diagonal);

          link.exit().transition(transition).remove().attr('d', function () {
            const o = { x: source.x, y: source.y };
            return diagonal({ source: o, target: o });
          });

          root.eachBefore(function (d) {
            d.x0 = d.x;
            d.y0 = d.y;
          });
        }

        update(root);
        host.appendChild(svg.node());
      }

      renderTree(treeData);

      groups.forEach(function (g) {
        const card = document.createElement('section');
        card.className = 'card';
        card.innerHTML = '' +
          '<h2 class="sg-title">Serving Group ' + g.sgId + '</h2>' +
          '<div class="sg-meta">DS Set: ' + g.dsChSetId + ' · US Set: ' + g.usChSetId + ' · Modems: ' + g.modemCount + ' · Success: ' + g.successCount + ' · Failure: ' + g.failureCount + '</div>';

        const tableWrap = document.createElement('div');
        tableWrap.className = 'tbl-wrap';
        tableWrap.innerHTML = '' +
          '<table>' +
            '<thead><tr><th>MacAddress</th><th>Model</th><th>Vendor</th><th>SW Version</th><th>HW Version</th><th>Boot ROM</th></tr></thead>' +
            '<tbody>' +
              (g.modemRows.length
                ? g.modemRows.map(function (m) {
                    return '<tr>' +
                      '<td class="mono">' + m.mac + '</td>' +
                      '<td>' + m.model + '</td>' +
                      '<td>' + m.vendor + '</td>' +
                      '<td class="mono">' + m.sw + '</td>' +
                      '<td class="mono">' + m.hw + '</td>' +
                      '<td class="mono">' + m.bootr + '</td>' +
                    '</tr>';
                  }).join('')
                : '<tr><td colspan="6">No cable modems in response</td></tr>') +
            '</tbody>' +
          '</table>';

        card.appendChild(tableWrap);
        root.appendChild(card);
      });
    })();
  </script>
  `;

  pm.visualizer.set(template, {
    status: response && response.status !== undefined ? String(response.status) : 'N/A',
    captureTime: fmtUtc(response && response.timestamp),
    resolvedCount: Array.isArray(response && response.resolved_sg_ids) ? response.resolved_sg_ids.length : 0,
    missingCount: Array.isArray(response && response.missing_sg_ids) ? response.missing_sg_ids.length : 0,
    groupCount: mapped.length,
    groupsJson: JSON.stringify(mapped),
    treeJson: JSON.stringify(tree)
  });
})();
Sample JSON payload
{
    "status": 0,
    "message": "",
    "timestamp": 1773023407,
    "requested_sg_ids": [],
    "resolved_sg_ids": [
        1
    ],
    "missing_sg_ids": [],
    "groups": [
        {
            "sg_id": 1,
            "ds_ch_set_id": 256,
            "us_ch_set_id": 256,
            "channels": {
                "ds": {
                    "sc_qam": [
                        {
                            "channel_id": 1,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 519000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 516000000,
                            "upper_frequency_hz": 522000000
                        },
                        {
                            "channel_id": 2,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 525000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 522000000,
                            "upper_frequency_hz": 528000000
                        },
                        {
                            "channel_id": 3,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 531000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 528000000,
                            "upper_frequency_hz": 534000000
                        },
                        {
                            "channel_id": 4,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 537000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 534000000,
                            "upper_frequency_hz": 540000000
                        },
                        {
                            "channel_id": 5,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 543000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 540000000,
                            "upper_frequency_hz": 546000000
                        },
                        {
                            "channel_id": 6,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 549000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 546000000,
                            "upper_frequency_hz": 552000000
                        },
                        {
                            "channel_id": 7,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 555000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 552000000,
                            "upper_frequency_hz": 558000000
                        },
                        {
                            "channel_id": 8,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 561000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 558000000,
                            "upper_frequency_hz": 564000000
                        },
                        {
                            "channel_id": 9,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 567000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 564000000,
                            "upper_frequency_hz": 570000000
                        },
                        {
                            "channel_id": 10,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 573000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 570000000,
                            "upper_frequency_hz": 576000000
                        },
                        {
                            "channel_id": 11,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 579000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 576000000,
                            "upper_frequency_hz": 582000000
                        },
                        {
                            "channel_id": 12,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 585000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 582000000,
                            "upper_frequency_hz": 588000000
                        },
                        {
                            "channel_id": 13,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 591000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 588000000,
                            "upper_frequency_hz": 594000000
                        },
                        {
                            "channel_id": 14,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 597000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 594000000,
                            "upper_frequency_hz": 600000000
                        },
                        {
                            "channel_id": 15,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 603000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 600000000,
                            "upper_frequency_hz": 606000000
                        },
                        {
                            "channel_id": 16,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 609000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 606000000,
                            "upper_frequency_hz": 612000000
                        },
                        {
                            "channel_id": 17,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 615000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 612000000,
                            "upper_frequency_hz": 618000000
                        },
                        {
                            "channel_id": 18,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 621000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 618000000,
                            "upper_frequency_hz": 624000000
                        },
                        {
                            "channel_id": 19,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 627000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 624000000,
                            "upper_frequency_hz": 630000000
                        },
                        {
                            "channel_id": 20,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 633000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 630000000,
                            "upper_frequency_hz": 636000000
                        },
                        {
                            "channel_id": 21,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 639000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 636000000,
                            "upper_frequency_hz": 642000000
                        },
                        {
                            "channel_id": 22,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 645000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 642000000,
                            "upper_frequency_hz": 648000000
                        },
                        {
                            "channel_id": 23,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 651000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 648000000,
                            "upper_frequency_hz": 654000000
                        },
                        {
                            "channel_id": 24,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 657000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 654000000,
                            "upper_frequency_hz": 660000000
                        },
                        {
                            "channel_id": 25,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 663000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 660000000,
                            "upper_frequency_hz": 666000000
                        },
                        {
                            "channel_id": 26,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 669000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 666000000,
                            "upper_frequency_hz": 672000000
                        },
                        {
                            "channel_id": 27,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 675000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 672000000,
                            "upper_frequency_hz": 678000000
                        },
                        {
                            "channel_id": 28,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 681000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 678000000,
                            "upper_frequency_hz": 684000000
                        },
                        {
                            "channel_id": 29,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 687000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 684000000,
                            "upper_frequency_hz": 690000000
                        },
                        {
                            "channel_id": 30,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 693000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 690000000,
                            "upper_frequency_hz": 696000000
                        },
                        {
                            "channel_id": 31,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 699000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 696000000,
                            "upper_frequency_hz": 702000000
                        },
                        {
                            "channel_id": 32,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 705000000,
                            "channel_width_hz": 6000000,
                            "lower_frequency_hz": 702000000,
                            "upper_frequency_hz": 708000000
                        }
                    ],
                    "ofdm": [
                        {
                            "channel_id": 33,
                            "channel_type": "ofdm",
                            "plc_frequency_hz": 725800000,
                            "channel_width_hz": 206700000,
                            "lower_frequency_hz": 693250000,
                            "upper_frequency_hz": 899950000
                        },
                        {
                            "channel_id": 34,
                            "channel_type": "ofdm",
                            "plc_frequency_hz": 497800000,
                            "channel_width_hz": 206700000,
                            "lower_frequency_hz": 297250000,
                            "upper_frequency_hz": 503950000
                        }
                    ],
                    "counts": [
                        {
                            "channel_id": 1,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 2,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 3,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 4,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 5,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 6,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 7,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 8,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 9,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 10,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 11,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 12,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 13,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 14,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 15,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 16,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 17,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 18,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 19,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 20,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 21,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 22,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 23,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 24,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 25,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 26,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 27,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 28,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 29,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 30,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 31,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 32,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 33,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 34,
                            "modem_count": 0
                        }
                    ],
                    "set_counts": [
                        {
                            "ch_set_id": 16777217,
                            "modem_count": 21
                        },
                        {
                            "ch_set_id": 16777220,
                            "modem_count": 1
                        },
                        {
                            "ch_set_id": 16777222,
                            "modem_count": 1
                        }
                    ]
                },
                "us": {
                    "sc_qam": [
                        {
                            "channel_id": 1,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 17200000,
                            "channel_width_hz": 6400000,
                            "lower_frequency_hz": 14000000,
                            "upper_frequency_hz": 20400000
                        },
                        {
                            "channel_id": 2,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 23600000,
                            "channel_width_hz": 6400000,
                            "lower_frequency_hz": 20400000,
                            "upper_frequency_hz": 26800000
                        },
                        {
                            "channel_id": 3,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 30000000,
                            "channel_width_hz": 6400000,
                            "lower_frequency_hz": 26800000,
                            "upper_frequency_hz": 33200000
                        },
                        {
                            "channel_id": 4,
                            "channel_type": "sc_qam",
                            "center_frequency_hz": 36400000,
                            "channel_width_hz": 6400000,
                            "lower_frequency_hz": 33200000,
                            "upper_frequency_hz": 39600000
                        }
                    ],
                    "ofdma": [
                        {
                            "channel_id": 25,
                            "channel_type": "ofdma",
                            "channel_width_hz": 43000000,
                            "lower_frequency_hz": 42000000,
                            "upper_frequency_hz": 85000000
                        },
                        {
                            "channel_id": 26,
                            "channel_type": "ofdma",
                            "channel_width_hz": 95000000,
                            "lower_frequency_hz": 108000000,
                            "upper_frequency_hz": 203000000
                        }
                    ],
                    "counts": [
                        {
                            "channel_id": 1,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 2,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 3,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 4,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 25,
                            "modem_count": 0
                        },
                        {
                            "channel_id": 26,
                            "modem_count": 0
                        }
                    ],
                    "set_counts": [
                        {
                            "ch_set_id": 16777217,
                            "modem_count": 10
                        },
                        {
                            "ch_set_id": 16777218,
                            "modem_count": 12
                        },
                        {
                            "ch_set_id": 16777219,
                            "modem_count": 1
                        }
                    ]
                }
            },
            "modem_count": 23,
            "success_count": 23,
            "failure_count": 0,
            "modems": {
                "aa:bb:cc:dd:ee:00": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:01": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:02": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:03": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:04": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:05": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:06": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:07": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:08": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:09": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0a": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0b": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0c": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0d": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0e": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:0f": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:10": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:11": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:12": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:13": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:14": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:15": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                },
                "aa:bb:cc:dd:ee:16": {
                    "sysdescr": {
                        "HW_REV": "1.0",
                        "VENDOR": "LANCity",
                        "BOOTR": "NONE",
                        "SW_REV": "1.0.0",
                        "MODEL": "LCPET-3"
                    }
                }
            },
            "metadata": {
                "snapshot_time_epoch": 1773023367.02929,
                "age_seconds": 40.27694034576416,
                "last_heavy_refresh_epoch": 1773023367.02929,
                "last_light_refresh_epoch": 1773023367.02929,
                "refresh_state": "OK",
                "last_error": null
            }
        }
    ]
}