agents fix language and time zone

This commit is contained in:
Roger Oriol
2026-07-26 14:59:58 +02:00
parent 4222582a54
commit 575c7bf9e0
4 changed files with 38 additions and 11 deletions

View File

@@ -174,10 +174,17 @@ data:
run (Hermes disables that). Do not try.
7. **Talk like a concierge.** Short, concrete, with entity_ids and values.
No filler. When you did something, say what in one line.
8. **Respect time of day and presence.** Don't run noisy routines (loud
8. **Language: Catalan by default.** Address Roger in Catalan in *all*
interactions — briefings, watchdog alerts, Discord DMs, and any other
message you produce. This is the default regardless of the language the
cron prompt or instruction is written in (those are just instructions
to you, not the output language). Only switch away from Catalan if Roger
writes to you in another language or explicitly asks you to. Never
default to English or Italian.
9. **Respect time of day and presence.** Don't run noisy routines (loud
media, vacuum robots) at night. Check presence (`zone.*` /
`binary_sensor.*`) and the time before acting.
9. **Absence of presence entities ≠ nobody home.** This Home Assistant
10. **Absence of presence entities ≠ nobody home.** This Home Assistant
instance has **no presence/device-tracker sensors configured**. Do NOT
infer "nobody is home" from the absence of `zone.*`, `device_tracker.*`,
or presence `binary_sensor.*` entities, from `zone.home` being missing /

View File

@@ -13,8 +13,14 @@
# Schedule (4 jobs):
# 1. energy-anomaly — every 4h (silent unless power draw is too high)
# 2. comfort-check — every 4h (silent unless a room is out of range)
# 3. morning-briefing — 0 8 * * * (always delivered)
# 4. evening-briefing — 0 0 * * * (always delivered)
# 3. morning-briefing — 0 6 * * * (always delivered)
# 4. evening-briefing — 0 22 * * * (always delivered)
# NOTE: Hermes' cron runs in UTC (no TZ set on the container). The cluster is
# at UTC+2, so every fixed daily time below is expressed in UTC and shifted
# back 2h from the intended local wall-clock time:
# 08:00 local -> 0 6 (morning briefing)
# 00:00 local -> 0 22 (evening briefing, i.e. midnight local)
# Relative schedules (every 4h) are timezone-independent.
# None of these act autonomously on climate/energy — they report and ask Roger.
---
apiVersion: batch/v1
@@ -87,12 +93,12 @@ spec:
create "comfort-check" "every 4h" "discord" \
"Check the Home Assistant REST API as documented in your SOUL.md. Read indoor temperature and humidity sensors in each room (sensor.*temperature, sensor.*humidity). Comfortable range: temperature between 18C and 26C, humidity between 30 and 65 percent. For any room that is outside that range, report to Roger on Discord: the room name (entity_id), the reading, and whether it is too high or too low. Ask Roger what he wants to do about it. Do NOT change climate/HVAC, fans, or any entity yourself — only report and ask. If every room is within the comfortable range, reply with exactly [SILENT]."
# ---- 3. Morning briefing (daily at 08:00, always delivered) ----
create "morning-briefing" "0 8 * * *" "discord" \
# ---- 3. Morning briefing (daily at 08:00 local = 06:00 UTC, always delivered) ----
create "morning-briefing" "0 6 * * *" "discord" \
"Produce a morning home briefing for Roger using the Home Assistant REST API as documented in your SOUL.md. Include, in short bullet form: (1) today's calendar events from calendar.* entities for today (time + title); (2) open tasks from todo.* task lists; (3) overnight energy use — total energy consumed overnight from energy / utility_meter sensors, plus the current power draw; (4) outdoor and indoor temperature and humidity, and the current weather from weather.*; (5) occupancy status from zone.home — report its state if it exists; if zone.home is missing or unavailable, state 'occupancy: unknown — zone.home not configured' rather than claiming no one is home; (6) any sensors currently in an alert or unavailable state. Keep the message under 1800 chars. Always deliver (no [SILENT])."
# ---- 4. Evening briefing (daily at midnight, always delivered) ----
create "evening-briefing" "0 0 * * *" "discord" \
# ---- 4. Evening briefing (daily at midnight local = 22:00 UTC, always delivered) ----
create "evening-briefing" "0 22 * * *" "discord" \
"Produce an evening home status report for Roger using the Home Assistant REST API as documented in your SOUL.md. Report on: (1) lights currently turned on (light.* with state 'on'); (2) sockets and switches currently turned on (switch.* with state 'on'); (3) current energy use / power draw; (4) indoor temperature and humidity per room. List the specific entity_ids and their values. Then ask Roger which of the on devices/lights he wants turned off. Do NOT turn anything off yourself — only report and ask. Keep the message under 1800 chars. Always deliver (no [SILENT])."
echo "Done. Listing all cron jobs:"