Hi @Mar1us! Thanks for trying it out! I’d love to work with you to get your Technicolor TC4400 to work.
The TC4400 isn’t one I’ve tested with yet, but I did some research and it looks feasible to support! It has a similar web interface structure to the modems that currently work.
Quick check first:
Can you access your modem’s web interface at http://192.168.100.1 in a browser? Does it show a page with downstream/upstream channel data, power levels, and SNR?
I’m trying v1.6.0 against my old but trusty ARRIS SB6141. It is at the default 192.168.100.1, and answers via HTTP from a local computer’s web browser. I can also nc to the cable modem’s port 80 successfully via a HA shell prompt, as well as traceroute to it with one hop through the router/firewall and then the cable modem.
The integration refuses to configure, throwing this error:
Failed to connect to the modem. Please check the IP address and credentials.
There are no credentials needed to access the modem’s web status interface.
Thanks for trying out the Cable Modem Monitor integration with your ARRIS SB6141! I’ve done some research on your modem model.
The Good News: The error you’re seeing is not actually an authentication issue. The integration correctly handles modems without credentials (like yours), so it’s skipping the login step.
The Real Issue: The SB6141 is an older ARRIS SurfBoard model. While ARRIS acquired Motorola’s cable modem business and many models share similar web interfaces, the HTML structure on the SB6141 likely differs just enough that our parser can’t extract the channel data. When it fails to parse any channel information, it returns “unreachable” status, which triggers the connection error.
What We Need: To add proper SB6141 support, I need to see the HTML structure from your modem’s status
page. Could you help by:
Opening 192.168.100.1 in your browser (or whichever page shows downstream/upstream channel data)
I’m also pushing an update today that will improve error messages and make the UI clearer about optional authentication. Once you share the HTML sample, I can add SB6141-specific support!
Good news - I just released v1.7.0 with support for your ARRIS SB6141!
I used the HTML you shared to build a parser for the SB6141’s unique table format. It should handle all your downstream/upstream channels and error stats.
Can you test it for me?
Since I don’t have an SB6141 myself, I need you to confirm it actually works:
Update to v1.7.0 (via HACS or download from GitHub releases)
It is displaying 57 entities. All of the channel info and stats are being populated and appear sane compared to the modem’s management web page.
However, Software Version and System Uptime are both coming up as Unknown. I guess this should be expected, since neither of those values were on the page that I provided with the channel data. I don’t anticipate ARRIS ever shipping another firmware update for the SB6141, so that’s not a problem. I was thinking that the uptime could be really useful for automations, but thinking about it some more I would probably want the last boot time and that’s not being shown on any page (not to mention that the clock isn’t synched in the modem for some reason and is off by hours and minutes).
Two suggestions:
Can you please change the attribution in the v1.7.0 release notes to GitHub user @captain-coredump?
I never looked at the HA developer’s docs to see if they specify a standard naming convention for sensors and stuff. When I look down the big list of entity states in my HA setup, they all seem to have names starting with either the HA device name or the integration’s name to prevent confusion and name space clashes. Just mentioning it because v1.7.0 is sharing “sensor.system_uptime” which I can see being a point of confusion. If everything could start with either the string “cable_modem_” or the modem’s IP address with underscores instead of dots, it would prevent potential name space clashes (sensor.cable_modem_sensor.downstream_ch_1_snr) and make it easier to search for values in the Developer tools screens.
Thanks again for sharing this awesome integration for a device that I never even thought about having in HA…
Interesting idea! I’ve got a Technicolor XB7 model used by Rogers up here in Canada (one of the models at least). I’ll see if I can get you the page info/format to see if you can add it to your supported list.
Thanks for all the feedback everyone! This is actually my first open source project after 25+ years in IT and I’m having a blast! This feedback is fantastic!
I’ve been working through your suggestions and wanted to share a quick update: Completed
Attribution updated - Changed to @captain-coredump (thanks for the correction!)
Fixed deprecated config_entry warning - Removed explicit self.config_entry assignment in config_flow.py that was triggering the HA 2025.12 deprecation warning
Fixed a parsing bug - Improved handling of nested HTML tables (affects some Motorola modems)
In Progress
Standardized entity naming - Working on prefixing entities with cable_modem_ or IP address to prevent namespace conflicts and improve searchability in Developer Tools
Software Version & System Uptime sensors - Investigating why these show as “Unknown” for some users
All changes are tested and passing 69 unit tests. I’ll push these to a new branch shortly for testing before creating v1.7.1.
Thanks again for the great feedback - this kind of community input is invaluable for making the integration better for everyone!
Big thanks to everyone who’s been testing and providing feedback. This release fixes the upstream sensor issues reported - upstream channels should now appear correctly with proper DS/US naming and cabel_modem_ prefix.
@captain-coredump - thanks for the ARRIS SB6141 HTML sample, it’s now supported!
@Mar1us - I’d love to add support for your modem! Would you be willing to share the HTML from your modem’s status page? (Right-click → View Source, redact any personal info). Just open a GitHub issue or post it here and I can add a parser for it.
Upgrade: Available now via HACS or GitHub. Entity IDs will auto-migrate on first restart.
Full details in the release notes. Let me know if you hit any issues!
I’m confirming that the ARRIS SB6141 is still working in v2.0.0, with a footnote that Last Boot Time, Software Version, and System Uptime are all displaying as Unknown. This is expected, since the corresponding data is missing from the device’s web interface.
One thing that I noticed is that the cable_modem_ prefix is not being applied to the sensor names, although the US/DS name change is now there. Example: “sensor.ds_ch_1_frequency”. I did the upgrade via uninstall/reinstall with reboots before and after, FWIW…
Thanks for the detailed report and for confirming the ARRIS SB6141 is still working with v2.0.0! You are correct about the “Unknown” values for Last Boot Time, Software Version, and System Uptime on the SB6141 - this is expected since the modem doesn’t provide that information. I may try to make that part dynamic in the future.
Regarding the missing cable_modem_ prefix, you’ve uncovered a tricky caching issue in Home Assistant. Even with an uninstall/reinstall, it seems Home Assistant can sometimes hold on to old entity structures.
I’ve updated the UPGRADING.md file with a new “Troubleshooting” section that includes a more thorough cleanup process to resolve this. You can find it here:
I’m also investigating a code-level fix to make this migration more seamless in the future, but for now, the steps in the guide should get you sorted out.
FYI, I just manually checked all 58 entities and edited those that didn’t update. All of the edits survived a reboot, so I guess that I’m all set for now. Thanks again!!!