Files
ha-parental-controls/.claude-context/00-overview.md
T

1.3 KiB
Raw Blame History

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
  • 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)