skills$openclaw/appletv
lucakaufmann9.6k

by lucakaufmann

appletv – OpenClaw Skill

appletv is an OpenClaw Skills integration for coding workflows. 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".

9.6k stars2.5k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameappletv
descriptionControl 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". OpenClaw Skills integration.
ownerlucakaufmann
repositorylucakaufmann/appletv
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @lucakaufmann/appletv
last updatedFeb 7, 2026

Maintainer

lucakaufmann

lucakaufmann

Maintains appletv in the OpenClaw Skills directory.

View GitHub profile
File Explorer
4 files
.
scripts
appletv.py
8.4 KB
_meta.json
273 B
SKILL.md
2.5 KB
SKILL.md

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.11

Note: pyatv requires Python ≤3.13. Python 3.14+ has breaking asyncio changes. Use --python python3.11 or python3.13 with 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 pair

Save 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 playing
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       # Previous

Navigation

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 screen

Volume

scripts/appletv.py volume_up
scripts/appletv.py volume_down

Power

scripts/appletv.py turn_on    # Wake from sleep
scripts/appletv.py turn_off   # Put to sleep
scripts/appletv.py power      # Toggle

Apps

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 network

Example 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
README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

```bash pipx install pyatv --python python3.11 ``` > **Note:** pyatv requires Python ≤3.13. Python 3.14+ has breaking asyncio changes. Use `--python python3.11` or `python3.13` with pipx.

Configuration

Config file at `~/clawd/config/appletv.json`: ```json { "name": "Living Room", "id": "DEVICE_ID", "ip": "192.168.x.x", "credentials": { "companion": "...", "airplay": "..." } } ``` ### First-Time Pairing ```bash

FAQ

How do I install appletv?

Run openclaw add @lucakaufmann/appletv in your terminal. This installs appletv into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/lucakaufmann/appletv. Review commits and README documentation before installing.