25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
# ha-parental-controls
|
||
|
||
Home Assistant panel for per-user, per-device internet blocking via an OPNsense firewall alias, with optional scheduled access windows.
|
||
|
||
**Repository:** https://gitea.hideawaygaming.com.au/jessikitty/ha-parental-controls
|
||
|
||
## Architecture
|
||
- **OPNsense:** alias `parental_blocked` + LAN block rule above allow-all; HA adds/removes IPs via `alias_util` API (JSON payload), then reconfigures
|
||
- **HA package:** `packages/parental_controls.yaml` — rest_commands, DHCP lease REST sensor (`sensor.home_dhcp_leases_lan`), 12 chunked `input_text` entities for config, scripts, optional schedule automation
|
||
- **Panel:** `www/parental_controls.html` via `panel_iframe` — REST for initial load, WebSocket for updates; URL auto-detected from page origin
|
||
- Devices keyed by MAC; IP resolved from DHCP leases at block time
|
||
|
||
## Rules
|
||
- Secrets live in `secrets.yaml` only; the repo copy of `CONFIG_HA_TOKEN` must stay blank
|
||
- Config size limit: 12 × 255 chars
|
||
|
||
## Related
|
||
- `homenet-guardrails`, `opnsense-device-control`, `ha-device-assignment` — overlapping approaches to the same problem
|
||
|
||
## Session Log
|
||
- 2026-05-18 — Parental Controls Dashboard with OPNsense Alias Blocking — Built panel + package; fixed WS load/auth, chunked HA storage, JSON alias API, DHCP-based discovery, URL auto-detect
|
||
|
||
---
|
||
*Created by: Jess Rogerson (yelling commands at Claude.AI)*
|