- name
- appletv
- version
- 1.0.0
- description
- Control Apple TV via pyatv. Use for play/pause, navigation, volume, launching apps, power control, and checking what's playing. Triggers on "Apple TV", "TV", "what's playing", "pause TV", "play TV", "turn off TV".
- license
- MIT
Apple TV Control
Control Apple TV via the pyatv library.
Requirements
pipx install pyatv --python python3.11Note: pyatv requires Python ≤3.13. Python 3.14+ has breaking asyncio changes. Use--python python3.11orpython3.13with pipx.
Configuration
Config file at ~/clawd/config/appletv.json:
{
"name": "Living Room",
"id": "DEVICE_ID",
"ip": "192.168.x.x",
"credentials": {
"companion": "...",
"airplay": "..."
}
}First-Time Pairing
# Find your Apple TV
atvremote scan
# Pair Companion protocol (required)
atvremote --id <DEVICE_ID> --protocol companion pair
# Pair AirPlay protocol (for media)
atvremote --id <DEVICE_ID> --protocol airplay pairSave the credentials to the config file.
Quick Commands
Status & Playing
scripts/appletv.py status # Full status with now playing
scripts/appletv.py playing # What's currently playingPlayback Control
scripts/appletv.py play # Play/resume
scripts/appletv.py pause # Pause
scripts/appletv.py stop # Stop
scripts/appletv.py next # Next track/chapter
scripts/appletv.py prev # PreviousNavigation
scripts/appletv.py up # Navigate up
scripts/appletv.py down # Navigate down
scripts/appletv.py left # Navigate left
scripts/appletv.py right # Navigate right
scripts/appletv.py select # Press select/OK
scripts/appletv.py menu # Menu button
scripts/appletv.py home # Home screenVolume
scripts/appletv.py volume_up
scripts/appletv.py volume_downPower
scripts/appletv.py turn_on # Wake from sleep
scripts/appletv.py turn_off # Put to sleep
scripts/appletv.py power # ToggleApps
scripts/appletv.py apps # List installed apps
scripts/appletv.py app Netflix
scripts/appletv.py app YouTube
scripts/appletv.py app "Disney+"Discovery
scripts/appletv.py scan # Find Apple TVs on networkExample Interactions
- "What's playing on the TV?" →
scripts/appletv.py status - "Pause the TV" →
scripts/appletv.py pause - "Turn off the Apple TV" →
scripts/appletv.py turn_off - "Open Netflix on TV" →
scripts/appletv.py app Netflix