Files
HeatGuard/internal/action/templates/actions.yaml
vikingowl 1c9db02334 feat: add web UI with full CRUD setup page
Add server-side rendered setup UI accessible via `heatwave web`.
The dashboard is now re-rendered per request and includes a nav bar
linking to the new /setup page. Setup provides full CRUD for profiles,
rooms, devices, occupants, AC units (with room assignment), scenario
toggles, and forecast fetching — all via POST/redirect/GET forms.

- Add ShowNav field to DashboardData for conditional nav bar
- Extract fetchForecastForProfile() for reuse by web handler
- Create setup.html.tmpl with Tailwind-styled entity sections
- Create web_handlers.go with 15 route handlers and flash cookies
- Switch web.go from pre-rendered to per-request dashboard rendering
- Graceful dashboard fallback when no forecast data exists
2026-02-09 10:39:00 +01:00

98 lines
2.6 KiB
YAML

actions:
- id: close_south_shutters
name: "Close south-facing shutters"
description: "Close shutters/blinds on south-facing windows to block direct sun"
category: shading
effort: low
impact: high
when:
hour_from: 0
hour_to: 10
min_temp_c: 25
- id: close_west_shutters
name: "Close west-facing shutters"
description: "Close shutters/blinds on west-facing windows before afternoon sun"
category: shading
effort: low
impact: high
when:
hour_from: 0
hour_to: 14
min_temp_c: 25
- id: night_ventilation
name: "Open windows for night ventilation"
description: "Open windows when outdoor temp drops below indoor temp for passive cooling"
category: ventilation
effort: low
impact: high
when:
night_only: true
- id: close_windows_morning
name: "Close windows in the morning"
description: "Seal the house before outdoor temps rise above indoor"
category: ventilation
effort: none
impact: high
when:
hour_from: 7
hour_to: 8
min_temp_c: 22
- id: gaming_mode_off
name: "Postpone gaming sessions"
description: "Gaming PCs add significant heat; postpone to cooler hours"
category: internal_gains
effort: medium
impact: medium
when:
min_temp_c: 30
budget_status: marginal
toggles: ["gaming"]
- id: defer_cooking
name: "Defer cooking to evening"
description: "Oven and stove add substantial heat; cook in cooler evening hours"
category: internal_gains
effort: medium
impact: medium
when:
hour_from: 11
hour_to: 16
min_temp_c: 30
toggles: ["cooking"]
- id: ac_precool
name: "Pre-cool rooms with AC"
description: "Run AC in early morning to build thermal buffer before peak heat"
category: ac_strategy
effort: none
impact: high
when:
hour_from: 6
hour_to: 9
min_risk: high
- id: ac_dehumidify
name: "Use AC dehumidify mode"
description: "Switch AC to dehumidify mode when humidity is high"
category: ac_strategy
effort: none
impact: medium
when:
min_temp_c: 26
high_humidity: true
- id: hydration_reminder
name: "Hydration reminder"
description: "Drink water regularly; increase intake during heat"
category: hydration
effort: none
impact: medium
when:
min_temp_c: 30
- id: check_vulnerable
name: "Check on vulnerable occupants"
description: "Check on elderly, children, or ill household members"
category: care
effort: low
impact: high
when:
min_temp_c: 30
hour_from: 10
hour_to: 18