Apple TV 4K Remote and App Control
Control Apple TV 4K remote keys, installed apps, text input, and supported power actions through Muse Home Link using pyatv and normal on-screen pairing.
Apple TV 4K
Humans to Know Editorial Context
Use the pinned Muse Gadget SDK repository for runtime setup. Existing LAN-device clients run on its Linux Home Link through system.run; the Muse app, SDK token and VM connection remain required.
This is a community-sourced Muse device skill, adapted by Humans to Know; it is not an official integration. Before choosing the runtime, read repository context and task handoff. That supplement identifies the pinned SDK, Linux command boundary, setup dependencies and the evidence to retain for this device.
Use this skill when discovery and device information identify an Apple TV 4K with supported local services.
Identify the Device
- Confirm the generation, OS build and service endpoints. Example identifiers are
AppleTV6,2for first generation andAppleTV11,1for second generation. - Read the connected client's feature availability; do not assume all generations, apps and firmware expose the same controls.
Prerequisites
Read the Humans to Know repository context before network access. It is an editorial supplement for the upstream home_link.md reference, whose target is absent from this public snapshot.
- A compatible pyatv client using HomeLink TCP transport and current discovered service data.
- Normal user-approved on-screen PIN pairing for each required protocol, typically Companion and/or AirPlay. Store the resulting credentials securely and retain session encryption.
- A person able to read a pairing PIN when needed. Do not print credential storage or loosen the TV's access settings as a workaround.
Workflow
- Reuse valid pairing credentials; if absent, request normal pairing with the user and complete the displayed PIN challenge for the chosen protocol.
- Read device information, features, power state and available now-playing state before choosing a command.
- Send only the requested supported remote key or sleep/wake action. Wake may also affect a connected display via HDMI-CEC.
- For app launch, obtain app identifiers from
app_listand launch the selected installed app. For keyboard entry, confirm text focus and send the user's intended text using the supported keyboard API. - Inspect available state after the action. The reported
appis generally the now-playing app, not proof of which app is currently in the foreground.
Verify the Result
- Confirm power or playback state where available. Remote-key success does not guarantee the intended on-screen navigation outcome.
- For text/app actions without reliable state feedback, ask for visual confirmation rather than claiming success from an accepted command.
- If pairing expires or is revoked, re-establish normal pairing with the user rather than repeatedly issuing controls.
Limits
- Do not recommend
play_urlon tvOS 26.6; request acceptance does not ensure playback. - No UDP media streaming, account switching, screenshots, configuration bypasses or signed-in Mac dependency.
Sources
humanstoknow/skills · Apache-2.0 — upstream community recipe with Humans to Know editorial additions · Revision 79908eb1d698
Be the first to comment
Share what worked or leave a question for the creator.