Cable Modem Monitor - Track Your Internet Signal Quality in Home Assistant

No problem, no rush!
Seems like this can be useful info for tracking down potential issues - while being able to reboot the modem without having to walk to the other end of the house or using the Xfinity app :slight_smile:

1 Like

Agreed - I (used to) have issues with older cable modems where they would act up after a while (and needed a power cycle). Being able to see the stats at least and possibly detect odd behaviour from the modem before the modem needs a physical power cycle is something I’m interested in.

On the topic of being able to reboot - just FYI, but the older cable modem I had was so bad that when it was having issues, the first thing that died on it was the web UI, so don’t always bank on it being available to issue remote commands :slight_smile: The only sure-fire way to be able to reboot might be to put it on a managed power bar.

Hello,
I have an Arris SB8200 and running 2.3.1 version and it will not connect. When I connect in a browser it works fine.

Glad you guys are seeing the potential value! I made a bunch of changes today and fixed the reboot action on my own Moto modem. Give it a shot. It think it may take a few iterations to get individual modems to work right.

@Rogero54,

Thanks for reporting this! The SB8200 should be working with the integration, so I’d like to help troubleshoot.

Could you please:

  1. Enable debug logging - Add this to your configuration.yaml:
    logger:
    default: info
    logs:
    custom_components.cable_modem_monitor: debug
  2. Then restart Home Assistant.
  3. Try adding the integration again and copy any error messages or debug logs from Settings → System → Logs.
  4. Confirm your modem’s IP address (typically 192.168.100.1) and whether it requires a username/password to access
    in a browser (default is usually admin/password for SB8200).

The SB8200 is a DOCSIS 3.1 modem which may need different authentication handling than the older SB6141. Your debug logs will help me identify what’s going wrong and add proper support.

Thanks!

As requested:

This error originated from a custom integration.

Logger: custom_components.cable_modem_monitor.modem_scraper
Source: custom_components/cable_modem_monitor/modem_scraper.py:93
integration: Cable Modem Monitor (documentation, issues)
First occurred: 8:13:47 AM (1 occurrence)
Last logged: 8:13:47 AM

Could not fetch data from any known modem URL.

Also, did confirm that I can ping the modem from the terminal in home assistant

Just re-downloaded latest version from HACS and it is working now.

Might have spoken too soon. The Integration completes successfully, but none of the sensors contain any values. They all say unavailable or unreachable.

Thanks,
Roger

Same issue here - no errors when setting it up and no errors in the HA logs, but all sensors unavailable.

Thanks for reporting this! The ā€œunavailableā€ sensors typically indicate that the integration is having trouble parsing data from your specific modem model. This is exactly the challenge you both and others in the community have been helping to surface.

I think we’re at an interesting inflection point with this integration. While v2.5 is more modularized and can auto-detect many supported modems, each unique modem configuration still presents potential edge cases. Rather than continuing to chase bugs across every modem variant with hardcoded Python fixes, I’m pivoting to a more sustainable, community-driven approach.

The vision going forward:

  1. Abstracted authentication - Separating authentication methods as pluggable modules (top priority)
  2. Data-driven modem mapping - Moving modem configurations out of Python code and into declarative config files
  3. User contribution tooling - Building a utility that helps users map their modem’s data structure in real-time, which can then be contributed back to a shared modem library

Here’s where it gets exciting: The speed at which this integration has evolved—largely thanks to partnering with AI tools like Claude Code and Gemini CLI for coding, and even Grok for ideation—means we can move fast on these improvements.

Calling all developers! I’m actively looking for collaborators to help architect and build this next generation. This project sat as an idea for over 10 years and in less than two weeks turned into way more than I ever expected. Whether you’re experienced with Home Assistant integrations, web scraping, or just want to learn by contributing, I’d love to have you involved. This is a great opportunity to work on a real-world project that benefits the community.

3 Likes

Thanks for adding support for the Motorola MB8611 :pray:

I’m trying to get to a single template sensor that corresponds to the lights at the front of the modem (guide).

Can you tell me how the sensors:

sensor.cable_modem_connection_status
sensor.cable_modem_health_status
sensor.cable_modem_total_corrected_errors	
sensor.cable_modem_total_uncorrected_errors

relate to the health reported by the modem UI itself:

  • Acquire Downstream Channel (no cable), :arrow_down:
  • Upstream Connection (cable quality issues), :arrow_up:
  • Configuration File (indicates account issues), :globe_with_meridians:

I can kind of guess, but it would be good to hear from you all,

thx

Great question! The current sensors don’t directly map to those front panel LEDs, but the data is there.

What we have now:

  • connection_status / health_status → general online state
  • total_corrected/uncorrected_errors → aggregated from channel data

What the modem actually exposes (via HNAP):
The MB8611 has a ā€œStartup Sequenceā€ with exactly the provisioning steps you’re asking about:

  • Acquire Downstream Channel → ā€œLockedā€ / frequency
  • Upstream Connection → ā€œOKā€ / ā€œOperationalā€
  • Boot State → ā€œOKā€ / ā€œOperationalā€
  • Configuration File → ā€œOKā€
  • Security → ā€œEnabledā€ / ā€œBPI+ā€

These map directly to the front panel LEDs. The data is captured in the fixtures but not yet exposed as sensors.

I’d be happy to add these as sensors in a future release if there’s interest. Also - are you using the MB8611 parser successfully? Thank you very much for working with me the past month to get this one working! Would love to mark it as verified if it’s working for you. If so, feel free to close All Entities Unavailable Ā· Issue #4 Ā· kwschulz/cable_modem_monitor Ā· GitHub with a quick confirmation.

Full list of supported modems: cable_modem_monitor/tests/parsers/FIXTURES.md at 35307897d972d3fb3fbc4a80c8e226cc5c25dddd Ā· kwschulz/cable_modem_monitor Ā· GitHub

P.S. - The project may be moving to a dedicated organization soon to make collaboration easier. Stay tuned!

1 Like