The Problem

Your cable modem tracks signal quality data — how strong your connection is, how clean the signal is, whether errors are accumulating. It's all buried in the modem's web interface. But that data isn't actionable.

  • No history — you see a snapshot of right now, not what happened at 2am when your connection dropped
  • No alerts — the modem won't tell you when signal quality degrades or errors start climbing
  • No proof — when you call your ISP, "the internet is slow" isn't evidence they can act on
  • No correlation — you can't connect "Zoom dropped at 3pm" with signal issues you weren't watching

The Solution

Cable Modem Monitor pulls signal data directly from your modem and brings it into Home Assistant. Track connection health over time with historical graphs that catch the problems you'd otherwise miss.

Cable Modem Status Dashboard Cable Modem Status Dashboard
Connection status, uptime, latency, and error counts at a glance
Downstream Power Levels Graph Downstream Power Levels Graph
Signal strength across all channels — spot imbalances instantly
Signal-to-Noise Ratio Graph Signal-to-Noise Ratio Graph
Signal quality tracking helps identify issues before they cause drops
Modem Latency Graph Modem Latency Graph
Response time monitoring catches slowdowns as they happen
Error Tracking Graph Error Tracking Graph
Error trends reveal developing problems over days and weeks

What You Get

Every supported modem exposes the same entity set, so dashboards and automations work the same no matter what hardware you own.

Per-channel signal quality

Power (dBmV), SNR, and frequency for every downstream and upstream channel. Channels are numbered by position, so entity IDs survive a modem reboot that renumbers them.

Error tracking

Corrected and uncorrectable codeword counts, plus per-minute error rates.

Connection health

Status, uptime, last boot time, and reboot detection from counter resets.

Health probes

Ping and HTTP latency, polled on their own cadence separate from the full data read.

Remote restart

Reboot the modem from a Home Assistant button when the line needs a kick. Polling backs off through the restart and picks up on its own once the modem answers again.

Failures that name themselves

A busy modem, a firmware lockout, an unreachable host, and a genuinely wrong password each report their own cause — so you fix the thing that actually broke.

Local-only

No cloud, no telemetry. The integration reads your modem's local web interface, credentials stay in Home Assistant's encrypted storage, and serial numbers and MAC addresses are never collected at all.

Why It Matters

Proof when you need it

Show your ISP actual data — signal quality dropping, error counts climbing. Evidence is harder to dismiss than "it feels slow."

Patterns over time

Catch the 2am drops and intermittent issues. Problems that vanish by the time you check are captured in the graphs.

One integration, 40 modems

Arris, CommScope, Compal, Hitron, Motorola, Netgear, Sagemcom, SerComm, and Technicolor. Each modem is described declaratively in the catalog rather than carrying its own parser, so adding hardware is a data change — and every entry is tested against a real capture from real hardware.

Home Assistant automation

Set alerts for signal degradation. Get notified before problems become outages.

Supported Modems

Compatibility varies by firmware and ISP customization. Check your model here before installing.

Manufacturer Model DOCSIS Common ISPs
Arris CM3500B 3.1 Vodafone
Arris CM820B 3.0 Volia
Arris S33 3.1 Comcast, Cox, Spectrum
Arris S33 (v2) 3.1 Comcast, Cox, Spectrum
Arris S33 (v3) 3.1 Comcast, Cox, Spectrum
Arris S34 3.1 Comcast, Cox, Spectrum
Arris SB6141 3.0 Comcast, Cox, Spectrum
Arris SB6183 3.0 Comcast, Cox, Spectrum
Arris SB6190 3.0 Comcast, Spectrum, Cox
Arris SB8200 3.1 Spectrum, Comcast, Cox
Arris SB8200 (Form Login CBN) 3.1 Comcast, Cox, Spectrum
Arris SB8200 (HNAP) 3.1 Cox
Arris TG3442DE 3.1 Vodafone
Arris TM1602A 3.0 Spectrum
CommScope G54 3.1 Cox, Spectrum, Comcast
Compal CH7465MT 3.0 Magenta AT
Hitron CODA56 3.1 Comcast
Motorola MB7621 3.0 Comcast, Cox, Spectrum
Motorola MB8600 3.1 Comcast, Cox, Spectrum
Motorola MB8611 3.1 Comcast, Cox, Spectrum
Netgear C3700 3.0 Comcast, Cox, Spectrum
Netgear C7000v2 3.0 Comcast
Netgear CM1100 3.1 Comcast
Netgear CM1200 3.1 Comcast, Spectrum, Cox
Netgear CM2000 3.1 Comcast, Cox, Spectrum
Netgear CM2050V 3.1 Comcast
Netgear CM2500 3.1 Comcast, Cox, Spectrum
Netgear CM3000 3.1 Comcast, Cox, Spectrum
Netgear CM600 3.0 Comcast, Cox, Spectrum
Sagemcom F3896LG-VMB 3.1 Virgin Media UK
Sagemcom F3896LG-ZG 3.1 Ziggo
SerComm DM1000 3.1 Koodo
Technicolor CGA2121 3.0 Telia
Technicolor CGA4236 3.1
Technicolor CGA6444VF 3.1 Vodafone
Technicolor TC4400 3.1 Comcast, Cox, Spectrum
Technicolor XB10 4.0 Comcast
Technicolor XB6 3.1 Rogers
Technicolor XB7 3.1 Rogers, Comcast
Technicolor XB8 3.1 Rogers, Comcast, Cox

A model listed more than once has a hardware revision or login method that needs its own entry — match the qualifier in parentheses to your modem.

Full catalog with chipsets, auth methods, and ISP coverage · Modem not listed? Request support

Install

Search for "Cable Modem Monitor" in HACS integrations, restart Home Assistant, then add it under Settings → Devices & Services. You'll need your modem's IP — usually 192.168.100.1 — and credentials if it asks for them.

Requires Home Assistant 2024.12.0 or newer.

Contribute

Cable Modem Monitor grows through community contributions. Two ways to help:

Capture your modem

A recorded session from your modem's web interface is everything we need to build a parser. Capturing one takes about five minutes.

1

Install our har-capture tool

pip install "har-capture[full]"
2

Record a session against your modem's IP

har-capture get 192.168.100.1 --patterns network-device
3

Screen the sanitized file for anything the redactor missed, then attach it to a modem request

har-capture strips MAC addresses, serial numbers, public IPs, and credential patterns before the file ever leaves your machine. Channel data, firmware version, and uptime are kept — that's the part we need.

Build the catalog entry

Have the hardware and want to go further? The intake pipeline turns a capture into a working catalog entry.

  • Run the intake pipeline against your capture
  • It generates modem.yaml, parser.yaml, and golden files
  • Verify the golden files match what your modem actually reports
  • Open a pull request with the entry

Most models need no Python at all — parsing is declarative YAML. AI assistance helps with the judgment steps, but isn't required.

Contributor Guide

Get Started