Apple TV is already one of the best streaming boxes you can buy. Pair it with Home Assistant and it becomes a smart home powerhouse. Control playback from your dashboard, trigger automations when a movie starts, dim the lights automatically, and send remote commands without picking up the Siri Remote. This guide covers everything from setup to advanced automations.
Jump to a section
Most streaming devices are black boxes. You hit play and that is about all you can control from the outside. Apple TV is different. Thanks to Apple's protocols running on your local network, Home Assistant can see exactly what is playing, send remote commands, control volume, and even detect when the TV is on or off. No cloud hacks, no screen scraping, no weird workarounds.
Every button on the Siri Remote is available as a service call. Navigate menus, select items, adjust volume, all from automations or your dashboard.
The integration talks directly to your Apple TV over your LAN. No internet needed, no Apple account required for basic control. Fast and private.
See what is playing, including title, artwork, app name, and playback state. Build automations that react to specific content or apps.
Apple TV doubles as a HomeKit hub. Expose your Home Assistant devices to Apple Home and control them through Siri, even when you are away from home.
The Apple TV integration is built into Home Assistant. No HACS, no custom components, no add-ons needed. Here is the step-by-step process.
Your Home Assistant server and Apple TV need to be on the same local network (same subnet). If you have VLANs set up, make sure mDNS/Bonjour traffic can pass between them. Most home networks work out of the box.
Go to Settings โ Devices & Services โ Add Integration and search for "Apple TV." Home Assistant will scan your network and show any Apple TVs it finds. Select yours.
A PIN code will appear on your TV screen. Type it into Home Assistant. You may need to do this twice: once for the MRP protocol (media controls) and once for AirPlay (audio streaming). Both are worth setting up.
After pairing, you will get a media_player entity and a remote entity. The media player shows what is playing and accepts playback controls. The remote lets you send button presses. You are ready to build automations.
Tip: If Home Assistant does not discover your Apple TV automatically, check that your Apple TV is awake (not in deep sleep) and that mDNS traffic is not being blocked by your router or firewall.
Once paired, you get two entities with a ton of capabilities. Here is what each one does.
This is your main control surface. It shows the current state and accepts playback commands.
This gives you access to every button on the Siri Remote. Perfect for navigating menus and triggering specific actions.
| Command | What It Does |
|---|---|
| up / down / left / right | Navigate menus and lists |
| select | Confirm selection (like pressing the clickpad) |
| menu | Go back one screen |
| home | Return to the home screen |
| home_hold | Open the Control Center |
| play_pause | Toggle play/pause |
| skip_forward / skip_backward | Jump forward or back 10 seconds |
| volume_up / volume_down | Adjust TV volume (via HDMI-CEC) |
All Apple TV models work with Home Assistant, but the integration method differs slightly.
| Model | Protocol | Media Controls | Remote | AirPlay |
|---|---|---|---|---|
| Apple TV 4K (2022, 2021) | MRP | Full | Full | AirPlay 2 |
| Apple TV HD (2015) | MRP | Full | Full | AirPlay 2 |
| Apple TV 3rd Gen (2012) | AirPlay | Limited | No | AirPlay 1 |
Recommendation: If you are buying new, get the Apple TV 4K (2022). It has the fastest chip, Thread border router support (great for Matter devices), and the best integration experience. The Wi-Fi only model works just as well as the Ethernet version for Home Assistant purposes.
These are not just cool demos. These are automations people set up and never turn off because they make daily life genuinely better.
When your Apple TV starts playing, dim the living room lights to 10%. When you pause or stop, bring them back to 80%. Classic cinema mode without touching a light switch.
automation:
- alias: "Movie Night - Dim on Play"
trigger:
- platform: state
entity_id: media_player.apple_tv
to: "playing"
condition:
- condition: time
after: "18:00:00"
action:
- service: light.turn_on
target:
entity_id: light.living_room
data:
brightness_pct: 10
transition: 3
- alias: "Movie Night - Brighten on Pause"
trigger:
- platform: state
entity_id: media_player.apple_tv
from: "playing"
to: "paused"
action:
- service: light.turn_on
target:
entity_id: light.living_room
data:
brightness_pct: 80
transition: 2When the Apple TV goes to standby (after the screensaver timeout or manually), turn off the TV, the sound bar, and the ambient lights. One action shuts down the whole entertainment setup.
automation:
- alias: "Shut Down Entertainment on Apple TV Sleep"
trigger:
- platform: state
entity_id: media_player.apple_tv
to: "standby"
for:
minutes: 2
action:
- service: media_player.turn_off
target:
entity_id:
- media_player.samsung_tv
- media_player.soundbar
- service: light.turn_off
target:
entity_id: light.tv_backlightWhen someone rings the doorbell, pause whatever is playing and send a notification to the TV with a camera snapshot. You see who is at the door without getting up.
automation:
- alias: "Doorbell - Pause TV and Notify"
trigger:
- platform: state
entity_id: binary_sensor.front_door_button
to: "on"
condition:
- condition: not
conditions:
- condition: state
entity_id: media_player.apple_tv
state: "standby"
action:
- service: media_player.media_pause
target:
entity_id: media_player.apple_tv
- service: notify.mobile_app_apple_tv
data:
message: "Someone is at the front door"
data:
push:
sound: defaultWatching something before bed? This automation waits 45 minutes, then gradually reduces volume and turns everything off. No more waking up to a TV blaring at 3 AM.
script:
bedtime_tv_timer:
alias: "Bedtime TV Timer"
sequence:
- delay:
minutes: 45
- repeat:
count: 5
sequence:
- service: remote.send_command
target:
entity_id: remote.apple_tv
data:
command: volume_down
- delay:
seconds: 3
- service: remote.send_command
target:
entity_id: remote.apple_tv
data:
command: home_hold
- delay:
seconds: 2
- service: media_player.turn_off
target:
entity_id: media_player.apple_tvUse Home Assistant's voice control (or a dashboard button) to start playing music through your Apple TV and connected sound system. Great for when your phone is in the other room.
script:
play_music_apple_tv:
alias: "Play Music on Apple TV"
sequence:
- service: media_player.turn_on
target:
entity_id: media_player.apple_tv
- delay:
seconds: 3
- service: media_player.play_media
target:
entity_id: media_player.apple_tv
data:
media_content_type: "music"
media_content_id: "https://your-music-stream-url"The default media player card in Home Assistant already looks good with Apple TV. It shows artwork, playback controls, and the current app. But you can take it further.
Install the Mini Media Player card from HACS for a compact, beautiful media control. It fits nicely on wall-mounted tablet dashboards and shows artwork, volume slider, and source selection in one small card.
Build a virtual Siri Remote using a grid of button cards. Each button calls remote.send_command with the matching command. Put it on a wall tablet and you will never lose the remote again.
Use conditional cards to show the media player only when the Apple TV is active. When it is in standby, show a "Turn On" button instead. Keeps your dashboard clean and contextual.
Here is something a lot of people miss: you can go in both directions. Home Assistant controls your Apple TV, but your Apple TV can also give you access to Home Assistant devices through Apple Home.
Enable the HomeKit Bridge integration in Home Assistant to expose selected devices (lights, switches, sensors, locks) to Apple Home. Your Apple TV automatically acts as the HomeKit hub, enabling remote access and Siri control even when you are away from home.
It gives family members who use iPhones a native Apple Home experience without needing the Home Assistant app. They can say "Hey Siri, turn off the lights" and it works through your Home Assistant automations. Best of both worlds.
The Apple TV 4K (2022 Wi-Fi + Ethernet model) includes a Thread border router. This is useful for Matter devices that use Thread networking. Your Apple TV extends the Thread mesh and makes those devices reachable from both Apple Home and Home Assistant.
Make sure your Apple TV is awake and on the same subnet as Home Assistant. Check that mDNS (Bonjour) traffic is not blocked. If using Docker, you need network_mode: host for discovery to work.
This usually happens when the Apple TV's IP address changes. Assign a static IP or DHCP reservation to your Apple TV in your router settings. Then reconfigure the integration with the new IP.
Volume control goes through HDMI-CEC to your TV or sound bar. Make sure CEC is enabled on both your Apple TV (Settings, Remotes and Devices, Control TVs and Receivers) and your TV. Some TVs call CEC by different names: Samsung calls it Anynet+, LG calls it SimpLink, Sony calls it BRAVIA Sync.
Some apps (particularly newer streaming services) do not always expose artwork data. Netflix, Disney+, and Apple TV+ usually work well. If artwork is missing, try pausing and resuming playback. The data sometimes takes a moment to appear after switching apps.
The media player shows which app is active. Create different lighting scenes for different apps: dim for Netflix, normal for YouTube, colorful for Apple Music visualizations. Use a template trigger on the app_name attribute.
After 10 PM, automatically cap the volume when the Apple TV turns on. Send a few volume_down commands via the remote entity to bring it to a reasonable level. Your neighbors will thank you.
If the Apple TV has been playing for more than 2 hours and nobody is in the room (via mmWave sensor), auto-pause and send a phone notification asking if you want to keep watching.
Detect when a game is running on Apple TV (the app name changes) and switch your TV to game mode via CEC or a broadlink IR blaster. Reduces input lag and changes the lighting to match the gaming vibe.
Before you start, check what devices you already have and get a personalized migration plan. Our free scan takes two minutes and shows you exactly which of your devices work with Home Assistant.
Take the Free ScanYes. Home Assistant has a built-in Apple TV integration that connects over your local network. You get full media controls (play, pause, skip, volume), remote commands (menu, home, select), artwork display on dashboards, and the ability to trigger automations based on what your Apple TV is doing. No cloud required.
Yes. The integration communicates directly over your local network using Apple protocols (MRP for Apple TV 4K/HD, AirPlay for older models). No internet connection or Apple cloud services are needed for basic control and automation.
Apple TV serves as a HomeKit hub on its own. You can expose Home Assistant devices to Apple Home using the HomeKit Bridge integration, and your Apple TV will act as the hub for remote access. This gives family members a native Apple Home experience while you keep the power of Home Assistant under the hood.
Go to Settings, Devices and Services, then Add Integration and search for Apple TV. Home Assistant will discover your Apple TV on the network. Enter the PIN code that appears on your TV screen. The whole process takes about two minutes.
Yes. The integration exposes a remote entity that supports all standard Apple TV remote buttons: up, down, left, right, select, menu, home, play/pause, skip forward, skip back, volume up, and volume down. You can use these in automations or trigger them from dashboard buttons.