Nowhere Plans
Feb 22, 2026

eero-go & eero-stats

2 min read

1 view

eero-go GitHub · eero-go pkg.go.dev

eero-stats GitHub · eero-stats pkg.go.dev

eero-stats dashboard

What you're missing

You have an eero router but not eero+, and want to own the ISP stats of your network that can be accessed via web and anywhere if you're on tailscale.

How many devices are online?

What band are my devices connected to?

What's my ISP speed?

Why you need this

This project is split in two. If you're a dev and want to have a lightweight package to query eero router stats then eero-go is an easy install away.

If you want a fully fledged dashboard with historical data and charts, then eero-stats is what you need.

Either way, with these two packages, you have a self-hosted way to own your router and ISP data and say goodbye to eero plus.

How do I get this?

eero-go (the library)

Prerequisites: Go 1.21+.

bash
1go get github.com/arvarik/eero-go

Run the included interactive CLI to authenticate via Eero's 2FA flow and cache your session:

bash
1go run ./cmd/example

The token is saved to .eero_session.json (with 0600 permissions) so subsequent runs skip 2FA entirely.

eero-stats (the dashboard)

Prerequisites: Docker and an Eero mesh network.

bash
1git clone https://github.com/arvarik/eero-stats.git && cd eero-stats
2cp .env.example .env
3# Set EERO_LOGIN to your Eero account email or phone
4make docker-up

This launches the poller daemon, InfluxDB, and Grafana. On first boot, attach to the container (docker attach eero-stats) to enter your one-time 2FA code. The Grafana dashboard is auto-provisioned at http://localhost:3000.

The daemon uses tiered polling (3 min for device/node health, 90 min for metadata, 12 hr for ISP speed tests), designed for minimal NVMe wear.