# 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)*