FFT Dashboard Ops
Use this skill for generating, staging, applying, and validating farm dashboards.
Guardrails
- Never run destructive git commands unless explicitly requested.
- Preserve unrelated worktree changes.
- Dashboard apply operations are main/admin chat only.
- Always use the staging file flow; never modify live YAML directly.
Template Sources
- View/card/theme templates:
/workspace/dashboard-templates/ - Writable dashboard config mount:
/workspace/dashboard/
Use templates as a baseline, then adapt entity references using live discovery from /workspace/farm-state/devices.json.
Lovelace Structure Rules
- Top-level structure should include
titleandviews. - Each view should define
title, optionalpath, andcards. - Use supported custom cards when available:
custom:mushroom-*custom:apexcharts-card
- Prefer robust layouts (
grid,vertical-stack,horizontal-stack) with clear labels.
Workflow
- Read
/workspace/farm-state/current.jsonand/workspace/farm-state/calendar.jsonfor context. - Draft dashboard YAML to
/workspace/dashboard/ui-lovelace-staging.yaml. - Request apply via
ha_apply_dashboardwithstagingFileset to the staging path. - Request screenshot via
ha_capture_screenshotfor the relevant view. - Verify screenshot and iterate until readable and operational.
Context-Reactive Theming
Use current.json.context.suggestedTheme to choose theme variants (for example: dawn, midday, dusk, night, storm, frost, harvest).
- High alert level: emphasize warnings/errors and simplify visual noise.
- Normal operations: prioritize trend visibility and quick actions.
- Calendar-heavy periods: feature timeline/task cards in primary views.
Safety Expectations
- Never bypass staging-to-live apply flow.
- Never execute shell-level infrastructure changes from dashboard tasks.
- Keep entity IDs explicit and avoid wildcard assumptions.