🌐 Eero Prometheus Exporter
Keep an eye on your mesh network like never before
A modern, async, strictly read-only Prometheus exporter for your eero mesh WiFi network.
Network health, every eero and radio, client devices, data usage, entitlements -- 197 metrics.
⚠️ Upgrading from 3.x? 4.0.0 is a breaking release
- Requires eero-api 8.x. 3.x installs stopped working when eero-api 8.0.0 was published; 4.0.0 pins
>=8.0.2,<9and builds images from the lock file.- 36 metrics were removed (they never had an API source) and
eero_exporter_api_requests_total{status}is now a closed enum -- see Removed in 4.0.0.- The session file is rewritten to a new format on first use and 3.x cannot read it back. Back it up first; the config directory must be writable (containers: mount the directory read-write).
--data-usagebecame--include-data-usage;--configis kept as an alias of--config-file;--include-diagnosticsis gone.Upgrade and rollback steps: Installation → Upgrading from 3.x.
📸 Dashboard Preview
Eero Mesh Network Grafana Dashboard - network status, eero and radio health, devices, usage and entitlements
✨ What You Get
| Feature | Description |
|---|---|
| 📊 197 metrics, tiered | core, extended and rf on by default (29 API requests per cycle); per-profile, per-device, per-eero and unverified opt-in. Every metric documents its API source path and evidence level. |
| 🔒 Strictly read-only | Every data operation is a GET: the exporter never creates, changes or deletes anything on your network. The only POSTs are authentication -- login/verify, plus the SDK's own transparent session refresh. Enforced by a surface test against the real SDK and a write guard in the test suite. |
| 🌐 Network & radios | Health, ISP state, speed test, DNS/DHCP/WAN modes, 119 capability flags, per-band channel, width, TX power and utilisation on every eero. |
| 📱 Devices & profiles | Connection quality, PHY rates, MCS/NSS, packet statistics, data usage per device, eero and profile. |
| 💎 eero Plus / Secure | Entitlements, DNS policies, insights, WPA3 per band, permissions, subnets, notifications. |
| 🩺 Observable errors | eero_exporter_api_requests_total{endpoint,status} with a closed status enum: premium_required, feature_unavailable and not_found are expected states, not failures. |
| ⚙️ Configure anywhere | Every flag of every command has an EERO_EXPORTER_* environment variable; serve's options also have YAML keys. Precedence CLI > env > YAML > default. |
| 🔐 Browser login | Optional /auth page (shared secret, CSRF, rate limit) to sign in without shell access -- handy for containers. |
| 🔎 Read-only probe | eero-exporter probe captures redacted API shapes for bug reports and new metrics. |
| 🐳 Docker ready | Non-root image built from uv.lock; latest only moves on releases. |
🚀 Quick Start
pip install eero-prometheus-exporter
eero-exporter login your-email@example.com # identifier -> verification code
eero-exporter serve
Metrics live at http://localhost:10052/metrics. Configure with flags, EERO_EXPORTER_*
environment variables or ~/.config/eero-exporter/config.yml:
EERO_EXPORTER_INTERVAL=120 EERO_EXPORTER_INCLUDE_PER_EERO=true eero-exporter serve
📚 Documentation
Full documentation in the Wiki — Installation · Docker · CLI · Configuration · Metrics · Security · Troubleshooting
📄 License
MIT — Use it, fork it, build cool stuff 🎉
Metadata
Release files for eero-prometheus-exporter 4.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eero_prometheus_exporter-4.5.0.tar.gz | 185.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eero_prometheus_exporter-4.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 296.5 kB
Release files / eero_prometheus_exporter-4.5.0.tar.gz
| Download URL | eero_prometheus_exporter-4.5.0.tar.gz |
|---|---|
| Size | 185.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bb939b4e1cc6eff39aad1994793263dfe45ef5c7da06a1547d8a58698140097d
|
|
BLAKE2b-256 checksum How to use checksums |
18807b56ac21c9b66c832a1ab6cb2f374c16ab44fbd9124692b0db9a9be58e3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / eero_prometheus_exporter-4.5.0-py3-none-any.whl
| Download URL | eero_prometheus_exporter-4.5.0-py3-none-any.whl |
|---|---|
| Size | 111.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6c96f7aed728f9766ebbd96d7df8003b2ef5568fe26bd4ce949f7365fded1cf
|
|
BLAKE2b-256 checksum How to use checksums |
d56a0a822446183fa678fae42d45a33cf57eb120eae961caa12937703600a872
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|