#:########################################################################################:# # Firewall Internet Control Package # #:########################################################################################:# # # TITLE: # Firewall Internet Control # # FILE: # packages/firewall_control.yaml # # VERSION: # V1.1 2026-07-20 # # VERSION HISTORY: # V1.1 2026-07-20 # - Added structured MQTT and external-firewall documentation. # # V1.0 # - Initial persistent and temporary internet-blocking controls. # # PURPOSE: # Provides Home Assistant controls for persistent and temporary internet # blocking of Mollie's devices through an external MQTT firewall service. # # PERSISTENT CONTROL: # - Blocked enables persistent internet blocking. # - Unblocked disables persistent internet blocking. # - The switch state is reported by the external firewall service. # # TEMPORARY CONTROLS: # - One-hour block publishes Blocked to the temporary-block topic. # - 15-minute unblock publishes Unblocked to the temporary-unblock topic. # - One-hour unblock publishes Unblocked to its one-hour topic. # # EXTERNAL DEPENDENCY: # - Home Assistant only publishes command requests. # - The external firewall service implements temporary durations, restores the # appropriate state afterward, and publishes persistent switch feedback. # # MQTT NOTES: # - All commands are non-retained. # - No availability topic is configured for these entities. # - The persistent status topic retains the legacy device label # block-unblock-mollie-iphone8. # #:########################################################################################:# mqtt: switch: - unique_id: mollies.internet name: "Mollie's Internet Blocking" state_topic: "viewroad-status/firewall/block-unblock-mollie-iphone8" command_topic: "viewroad-commands/firewall/block-unblock-mollie-devices" payload_off: "Unblocked" payload_on: "Blocked" icon: mdi:web retain: false button: - unique_id: mollies.internet.temp.block name: "Mollie's Internet (1 hr Block)" command_topic: "viewroad-commands/firewall/tempblock-mollie-devices" payload_press: "Blocked" icon: mdi:web retain: false - unique_id: mollies.internet.temp.unblock name: "Mollie's Internet (15min Unblock)" command_topic: "viewroad-commands/firewall/tempunblock-mollie-devices" payload_press: "Unblocked" icon: mdi:web retain: false - unique_id: mollies.internet.temp.unblock.1hr name: "Mollie's Internet (1hr Unblock)" command_topic: "viewroad-commands/firewall/tempunblock-mollie-devices-1hr" payload_press: "Unblocked" icon: mdi:web retain: false