Skip to content

Installer report, deeper non-invasive monitoring, no games in emails - #3

Merged
MSabacreationslab merged 2 commits into
mainfrom
feature/installer-report
Oct 3, 2026
Merged

MSabacreationslab merged 2 commits into
mainfrom
feature/installer-report

Conversation

@MSabacreationslab

Copy link
Copy Markdown
Owner

What

Installer report: a technical report for whoever installed or services the eero system. It's available from a dashboard card, at /installer-report?days=7|14, and as python -m hogwatch installer-report [--days N] [--note "..."], which also writes a PDF with headless Edge or Chrome.

  • Summary with numbers: which link drops and how often (per monitored hour), eero reconnects, whether the Ethernet run between eeros ever links, the band and width on each hop and whether it overlaps radar-shared DFS channels, mesh route changes, double NAT behind the ISP gateway, internet-line health, and whether the PC's own cable ever dropped.
  • Requested work, generated from the findings.
  • Evidence: layout table; per-hop typical, p95, jitter and loss; dropouts by day and by time of day (rate per monitored hour); the longest dropouts; reconnects; Ethernet port link checks; radios, channel changes and backhaul changes; speed tests; an appendix of every dropout; and the method.
  • Privacy: it reads no device names, people, programs or games. A test seeds all of those and checks that none appear. Homeowner notes are escaped.

Deeper monitoring (still non-invasive: timing and eero status only):

  • Each eero's backhaul, signal bars, radios (channel, width, utilization, clients, tx power), firmware and Ethernet ports, every 2 minutes (unit_sample).
  • Pings to every eero, so each eero-to-eero link has its own record.
  • Jitter per 10-second bucket (new latency.jitter_ms column, added automatically to existing databases).
  • This PC's network-card link going down or up (link_event), and eero speed-test history.
  • gzip on eero API calls, which cuts HogWatch's own eero traffic by about 90%.

Daily email: games are left out, since the email may be forwarded.

Fixes found while checking the report against real data

  • Sleep: a dropout or slowdown that was open when the PC went to sleep closed on wake with the sleep counted, giving a "2,275-minute dropout". Now any open record closes at the last ping before a pause of 30 s or more, and older records are capped by their bad-ping count everywhere they're shown.
  • Startup before the network: if HogWatch started at boot before the network was up, it never found the main eero or ISP gateway and never retried, so eero-link dropouts were read as AT&T-side. Discovery now retries every 30 s and falls back to the main eero's address from eero's data. The report labels dropouts from unmeasured periods instead of guessing.

Testing

  • 63 tests pass locally, 12 of them new in tests/test_installer.py: privacy, every finding, DFS channel math, route labels, unit parsing, gzip, the sleep fix, the database migration, and the "location not measured" relabeling.
  • Generated against 8 days of real data. A grep for device, person, program and game names in the output came back empty.

🤖 Generated with Claude Code

MSabacreationslab and others added 2 commits October 2, 2026 20:51
- Installer report (dashboard card, /installer-report, installer-report CLI with
  PDF via headless Edge/Chrome): findings with numbers, requested work, eero
  layout, per-hop delay/jitter/loss, dropouts by day and time of day, reconnects,
  Ethernet port checks, radios/channels incl. DFS overlap, mesh route changes,
  double NAT. Reads no device names, people, programs or games.
- Monitoring: each eero's backhaul, radios and Ethernet ports every 2 minutes;
  pings to every eero; per-bucket jitter; PC network-card link events; eero
  speed-test history; gzip for eero API calls (~90% less traffic).
- Daily email: games are left out (it may be forwarded).
- Fix: a dropout or slowdown open when the PC slept was closed on wake with the
  sleep included; now closed at the last ping before the pause, and old records
  are capped by their bad-ping count.
- Fix: if HogWatch started before the network was up, the main eero and ISP
  gateway were never pinged, so eero-link dropouts read as AT&T-side. Discovery
  now retries and falls back to the eero's own address; the report labels
  unmeasured dropouts instead of guessing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MSabacreationslab
MSabacreationslab merged commit fbe4632 into main Oct 3, 2026
1 check passed
@MSabacreationslab
MSabacreationslab deleted the feature/installer-report branch October 3, 2026 01:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant