# ============================================================= # Parental Controls Package # ============================================================= # Config stored across 12 chunks (12 × 255 = 3060 chars max) input_text: parental_config_0: {name: "Parental Config 0", max: 255, icon: mdi:shield-account} parental_config_1: {name: "Parental Config 1", max: 255, icon: mdi:shield-account} parental_config_2: {name: "Parental Config 2", max: 255, icon: mdi:shield-account} parental_config_3: {name: "Parental Config 3", max: 255, icon: mdi:shield-account} parental_config_4: {name: "Parental Config 4", max: 255, icon: mdi:shield-account} parental_config_5: {name: "Parental Config 5", max: 255, icon: mdi:shield-account} parental_config_6: {name: "Parental Config 6", max: 255, icon: mdi:shield-account} parental_config_7: {name: "Parental Config 7", max: 255, icon: mdi:shield-account} parental_config_8: {name: "Parental Config 8", max: 255, icon: mdi:shield-account} parental_config_9: {name: "Parental Config 9", max: 255, icon: mdi:shield-account} parental_config_10: {name: "Parental Config 10", max: 255, icon: mdi:shield-account} parental_config_11: {name: "Parental Config 11", max: 255, icon: mdi:shield-account} # ------------------------------------------------------------------ # OPNsense firewall API — JSON payload required by alias_util API # ------------------------------------------------------------------ rest_command: parental_block_ip: url: !secret opnsense_alias_add_url method: post headers: Authorization: !secret opnsense_basic_auth Content-Type: application/json payload: '{"address": "{{ address }}"}' verify_ssl: false parental_unblock_ip: url: !secret opnsense_alias_del_url method: post headers: Authorization: !secret opnsense_basic_auth Content-Type: application/json payload: '{"address": "{{ address }}"}' verify_ssl: false parental_apply_firewall: url: !secret opnsense_apply_url method: post headers: Authorization: !secret opnsense_basic_auth Content-Type: application/json payload: '{}' verify_ssl: false # ------------------------------------------------------------------ # Scripts # ------------------------------------------------------------------ script: parental_block_ip: alias: "Parental Controls — Block IP" icon: mdi:block-helper fields: ip: description: "IP address to block" required: true selector: text: sequence: - service: rest_command.parental_block_ip data: address: "{{ ip }}" parental_unblock_ip: alias: "Parental Controls — Unblock IP" icon: mdi:check-circle-outline fields: ip: description: "IP address to unblock" required: true selector: text: sequence: - service: rest_command.parental_unblock_ip data: address: "{{ ip }}" parental_apply_firewall: alias: "Parental Controls — Apply Firewall" icon: mdi:shield-refresh sequence: - service: rest_command.parental_apply_firewall