# chores configuration template. # # Copy this to the container host as (for example) # /opt/smart-home/chores/chores.env, fill in real values, and chmod 600 it. # Works with NOTHING filled in below except the identity/ntfy bits — the camera # checks, calendar busy-check, and trash-day-eve check each individually no-op if # left unconfigured. # --------------------------------------------------------------------------- # identity — required for nudging (who's home, who's near which room, who was # recently seen by a camera). Same token identity itself uses. # --------------------------------------------------------------------------- IDENTITY_URL=http://127.0.0.1:8097 IDENTITY_TOKEN= # --------------------------------------------------------------------------- # Trash-day-eve — same feed trash-calendar reads, this script only ever reads it # too (never writes to the calendar). Leave blank to skip this check entirely. # --------------------------------------------------------------------------- WASTE_ICS_URL= # --------------------------------------------------------------------------- # Household calendar busy-check (optional) — SAME CALDAV_* credentials as # digest-engine's ingest/caldav.py and trash-calendar, reused for a third, # independent READ (never a write here either). If set, a currently-active # calendar event whose summary contains one of CALDAV_QUIET_KEYWORDS pauses # nudging for that run — see README.md's honest limitation (this is household- # wide, not per-person; it can't tell only one person is busy). # --------------------------------------------------------------------------- CALDAV_URL= CALDAV_USERNAME= CALDAV_PASSWORD= CALDAV_VERIFY_TLS=true CALDAV_QUIET_KEYWORDS=busy,meeting,call,movie,sleep # --------------------------------------------------------------------------- # Camera checks — OFF until both FRIGATE_URL and CAMERA_WATCHPOINTS are set. No # camera hardware has been chosen yet (docs/project-plan.md §1.18) — leave this # blank until Tapo pan/tilt cameras are actually deployed as Frigate camera # sources. # # CAMERA_WATCHPOINTS format: "type:frigate_camera_name[:ptz_preset_name],...". # type must be "bin_full", "dishes", or "litter" ("has someone left trash out # somewhere it doesn't belong" — gets told to whoever the camera most recently # recognized nearby, not just whoever's home in general, see README.md). preset # is optional — omit it if the camera doesn't need to move. Example: # CAMERA_WATCHPOINTS=bin_full:driveway_cam:trash_preset,dishes:kitchen_cam,litter:hallway_cam # --------------------------------------------------------------------------- FRIGATE_URL= CAMERA_WATCHPOINTS= # Same LLM host as digest-engine/pantry-vision. OLLAMA_VISION_MODEL must be a # vision-capable model (see pantry-vision/README.md's identical caveat — plain text # models cannot see images at all). # # OLLAMA_TEXT_MODEL is OPTIONAL and does something narrower than it sounds: it only # PHRASES a reminder in a person's chore_reminder_style (set via identity's # POST /people//chore-settings, see identity/README.md) — it never decides who # gets nudged or when, that stays presence/calendar-driven, see check.py's module # docstring. Leave blank (default) and every reminder just uses the plain template, # same behavior as before this existed. OLLAMA_HOST=http://llm-host:11434 OLLAMA_VISION_MODEL=llava OLLAMA_TEXT_MODEL= # --------------------------------------------------------------------------- # Nudging — ntfy, already in the stack (ENABLE_NTFY in setup-container-host.sh). # A single shared topic, not per-person — the notification text names who it's # for, but everyone subscribed to this topic sees every nudge. Set up per-person # topics/subscriptions yourself if that's not granular enough for your household. # # NEGLECT_THRESHOLD_HOURS: how long an open chore sits before the system tries # redirecting the nudge to someone else who's around ("the next person that walks # by") instead of re-nagging whoever was last nudged. # --------------------------------------------------------------------------- NTFY_URL=http://127.0.0.1:8090 NTFY_TOPIC=chores NEGLECT_THRESHOLD_HOURS=4 CHORES_DB_PATH=/data/chores.db LOG_LEVEL=INFO