Skip to content

dhergert/arris_cable_modem_stats

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

arris_cable_modem_stats

This is a Python script to scrape stats from the Arris cable modem web interface. Results are meant to be sent to InfluxDB for use with Grafana, but other targets could be added. This currently only works with the Arris SB8200. Credit goes to https://github.com/billimek/SB6183-stats-for-influxdb

Authentication

In late Oct 2020, Comcast deployed firmware updates to the SB8200 which now require authenticating against the modem. If your modem requires authentication (you get a login page when browsing to https://192.168.100.1/), then you must edit your config.ini file and set modem_auth_required to True, and set modem_password appropriately. By default, your modem's password is the last eight characters of the serial number, located on a sticker on the bottom of the modem.

Run Locally

  • Install pipenv. On a Mac with Homebrew, brew install pipenv
  • Install pip dependencies (run from the script directory of this repo): pipenv install
  • Edit config.ini and change [INFLUXDB] host to your influxdb server
  • pipenv run python3 arris_stats.py

Debugging

pipenv run python3 sb8200_stats.py --debug

InfluxDB

The database will be created automatically if the user has permissions (config.ini defaults to anonymous access). You can set the database name in config.ini using the [INFLUXDB] database parameter.

Grafana

There are two Grafana examples. The first only relies on the Python script from this repo, while the second relies on Telegraf.

SB8200 Dashboard

  • Setup arrris_stats.py to run from somewhere (There's a Docker example below)
  • Import a new dashboard using the grafana/sb8200_grafana.json file. Originally exported from Grafana v6.3.3

SB8200 Dashboard 1 SB8200 Dashboard 2

Internet Uptime Dashboard

Internet Uptime

Docker

Run in a Docker container with:

docker build -t arris_stats .
docker run arris_stats

About

Retrieves stats from Arris cable modems and sends to InfluxDB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 98.9%
  • Dockerfile 1.1%