Ever tried getting a teenager off a game at 10 PM? The screaming isn't the problem. The problem is you're the enforcer. Make the network the enforcer instead.

Here are three self-hosted timers that pull the plug automatically — no parental-control app harvesting your family's data to do it.

1. The Blackout Schedule (Pi-hole)

Most people run Pi-hole to block ads. Fewer know it can block devices on a clock.

Pi-hole has a feature called Groups. Put your kid's phone, console, and tablet in one group. Then use a simple cron job to enable a blocklist that covers everything — or point their devices at a dead DNS after a set time.

The cleaner trick: run two Pi-hole "profiles" and swap them with a scheduled script.

# Block at 10 PM
0 22 * * * pihole disable
# ...for a group, using the API

When the clock hits bedtime, streaming stalls, games disconnect, and you never said a word. The router did.

Why it beats an app: Commercial parental apps route your kid's browsing through their servers. Pi-hole keeps every query inside your house.

2. The Per-Device Curfew (Your Router + DHCP)

No Pi-hole? Most routers running OpenWrt or even stock firmware support access-time schedules per MAC address.

Find the device's MAC address (Settings → About → Wi-Fi on any phone). Add it to a schedule: internet allowed 7 AM to 10 PM, blocked otherwise.

This is the bluntest tool and the hardest to argue with. The device simply has no internet. No app to uninstall, no timer to fake, no VPN workaround if you also block outbound VPN ports.

Bonus privacy win: You're not installing any third-party "family safety" software that phones home. It's all local firmware rules.

3. The Smart-Plug Kill Switch (Home Assistant)

Some things don't respect DNS or Wi-Fi rules — think a smart TV with a cellular backup or a console that caches games offline.

Solution: cut the power.

Run Home Assistant on a Raspberry Pi. Flash a cheap smart plug with local firmware like Tasmota so it never touches the cloud. Plug the TV or console into it. Set an automation:

automation:
  - trigger:
      platform: time
      at: "22:30:00"
    action:
      service: switch.turn_off
      target:
        entity_id: switch.game_room

At 10:30, the plug clicks off. Game over. Literally.

Keep the flashed-plug firmware local — stock smart plugs report your on/off patterns to a manufacturer, which quietly reveals when your house is empty.

The one thing to do tonight

Start with Pi-hole. It takes 15 minutes on an old Raspberry Pi and delivers the fastest win: schedule one blackout for one device. Watch the arguing evaporate — because there's nobody left to argue with.