A Home Assistant custom panel to edit the Frigate config.yml through a graphical interface, with live validation, diff preview and automatic restart. Distributed via HACS.
Status: 0.1.0 — first tagged release. Expect UI and internals to evolve across
0.1.xbefore a stable1.0. See CHANGELOG.md.
Editing Frigate's YAML config by hand is error-prone. This panel generates form editors for the most common sections, validates every change against the server, and applies the config with a single click. Comments in your YAML are preserved across saves. No more whitespace-induced restarts at 2 AM.
- Auto-discovery of Frigate instances registered with the Home Assistant Frigate integration
- Per-camera editor: enable, FFmpeg inputs with role pills, detect resolution, record retention
- Global editors for
record,objects,motion,go2rtc - Schema-driven field rendering powered by the Frigate JSON Schema
- Diff preview before every save (old vs new YAML)
- Automatic restart of Frigate after save with polling until the API is healthy again
- Raw YAML fallback with line numbers and Tab-to-indent for advanced sections
- Local rolling history of the latest saves, scoped per Frigate instance (LocalStorage)
- Comment-preserving YAML round-trip (via eemeli/yaml)
- Dark / light theme follows the active Home Assistant theme
- Responsive layout with a drawer sidebar on mobile
- Home Assistant
2024.6.0or later - Frigate
0.15or later - The official Frigate HA integration configured and reachable
Install via HACS as a custom repository:
- In HACS, open the kebab menu, pick Custom repositories.
- Add
https://github.com/Conte49/frigate-config-editorwith category Integrazione / Integration. - Install the entry called "Frigate Config Editor".
- Restart Home Assistant.
- The new "Frigate Config" entry appears in the sidebar, visible to admin users only. No extra YAML is required.
The integration is a lightweight Python shim that only serves the front-end bundle and registers the sidebar panel. It does not add entities, services or config flows; all interaction happens through the JavaScript UI, which talks to Frigate directly from the browser.
Stack: Lit 3, TypeScript, Vite, pnpm, Vitest. Node 20+.
corepack enable # enables pnpm via Node corepack
pnpm install
pnpm dev # start Vite dev server
pnpm typecheck # strict TypeScript check
pnpm lint # ESLint
pnpm format # Prettier (write)
pnpm test # Vitest (single run)
pnpm test:coverage # Vitest + v8 coverage report
pnpm build # emit dist/frigate-config-editor.jsThe build produces a single ES module (dist/frigate-config-editor.js) that HA loads as a custom panel.
| Milestone | Scope |
|---|---|
| M0 | Project scaffolding, Vite build, CI |
| M1 | Frigate API wrapper, HA instance discovery, history store |
| M2 | Per-camera editor and end-to-end save flow |
| M3 | Raw YAML editor, pre-save diff modal, history restore |
| M4 | Editors for record, objects, motion, go2rtc |
| M5 | Responsive layout, accessibility polish |
| M6 | Testing, documentation, CHANGELOG |
| M7 | First release, HACS custom repo entry |
| Post-MVP | Zone drawing, camera wizard, detector editor, semantic_search, genai |
- "No Frigate instances found" — Verify the Frigate integration is installed and the Frigate device exposes a
configuration_urlin HA (Settings → Devices & services → Frigate → pick a device). - Save fails with validation errors — The panel shows the exact Frigate error message. Fix the indicated line in the raw YAML editor and retry.
- Comments disappear after a save — Only comments inside sections edited through the form editors should survive; comments inside raw YAML edits are untouched as long as the document round-trips successfully. If you spot a regression, open an issue with a minimal reproducible config.
See CONTRIBUTING.md. Issues, bug reports and feature requests are welcome on the repo's Issues tab.
This project is not affiliated with Frigate, Home Assistant or Nabu Casa. "Frigate" and "Home Assistant" are trademarks of their respective owners.