🌐 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.1.1
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.1.1.tar.gz | 178.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eero_prometheus_exporter-4.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 287.0 kB
Release files / eero_prometheus_exporter-4.1.1.tar.gz
| Download URL | eero_prometheus_exporter-4.1.1.tar.gz |
|---|---|
| Size | 178.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1b0d54f017b92bc7124c179f1b089e6f8d70e9136f861965080a3252c9954548
|
|
BLAKE2b-256 checksum How to use checksums |
4f1a1b0d62fe552e3bb3892bc9fd18893a05a07d6f3a5b14490acc3c955b9ec2
|
| 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.1.1-py3-none-any.whl
| Download URL | eero_prometheus_exporter-4.1.1-py3-none-any.whl |
|---|---|
| Size | 109.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
286b81637afebaad8aa3e378a4d66bc857441da1c68ceda4ca5485712d049c62
|
|
BLAKE2b-256 checksum How to use checksums |
128f30fdc470a064f100737b12508bc1e3ed86579a564b35b06267f01818e1f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|