PickSkill
← Back

Apple Media

Discover and control Apple media/AirPlay devices (HomePod, Apple TV, AirPlay speakers) from macOS. Use when you want to scan for AirPlay devices, map names→IPs/IDs, pair/connect, and control playback/volume using pyatv (atvremote) and Airfoil.

README.md
Rendered from GitHub raw
View raw ↗

apple-media

Discover and control AirPlay / Apple media devices from macOS.

This repo contains the Clawdbot skill located in SKILL.md plus helper scripts under scripts/.

Author

Parth Maniar — @officialpm

What it does

  • Scan the local network for AirPlay devices (HomePod, Apple TV, AirPlay TVs)
  • Provide a JSON summary of discovered devices
  • Delegate speaker volume/routing control to Airfoil (reliable for HomePods)
  • Use pyatv (atvremote) for Apple TV / supported device control

Install / setup

brew install pipx
pipx install pyatv || pipx upgrade pyatv
 
# Pin to Python 3.12 to avoid Python 3.14 asyncio issues
pipx reinstall pyatv --python python3.12

Verify:

atvremote --help | head

Install Airfoil and grant Accessibility permissions.

  • brew install --cask airfoil

Usage

Scan (text)

./scripts/scan.sh 5

Scan (JSON)

node ./scripts/scan-json.js 5

Faster scan (known IPs)

./scripts/scan-hosts.sh "10.0.0.28,10.0.0.111" 3

Control HomePod volume (Airfoil)

# Requires Airfoil + the Clawdbot airfoil skill scripts
./scripts/connect.sh "Living Room"
./scripts/volume.sh "Living Room" 35

Privacy / safety

  • This repo intentionally avoids committing any personal data (no resume paths, no tokens, no device credentials).
  • The scan output includes IP addresses at runtime; do not commit scan outputs.