Skip to content

Voice-update pacing for --speak (summarize every Nth tick / quiet hours) #24

Description

@ctopherwilliams

Problem / motivation

--speak announces every tick by design (poll.py's speech_for_probes()), which is great mid-day but can be a lot for a long overnight cook — there's currently no way to reduce frequency or silence it during, say, 11pm-7am without just turning --speak off entirely (losing updates you might still want at the next check).

Proposed solution

  • --speak-every N (default 1): only call speak() every Nth tick with new content, rather than every tick. Printed/logged output and alarms are unaffected — this only paces the spoken announcement.
  • --quiet-hours HH:MM-HH:MM: suppress speak() (but not alarms — a probe/pellet/anomaly alert should still fire) during a local time window.
  • Both should be easy to reason about against the existing _update_count/_last_state machinery in poll.py — the comparative "what changed" narration still needs to compare against the actual previous tick's data, not the previous spoken tick, so the stall/ETA-delta logic must keep sampling every tick even when it doesn't speak.

Alternatives considered

Only mentioning rate-of-change (skip "steady" ticks entirely) — narrower than configurable pacing, and doesn't address the quiet-hours use case at all.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions