Controlling a device — pyatv 0.3.4 documentation

# Controlling a device

Controlling a device is done with the “remote control” API. It can be fetched via the remote_control attribute after connecting to a device, like so:

    details = ...
    atv = pyatv.connect_to_apple_tv(details, loop)
    rc = atv.remote_control

All commands are asynchronous, so they must be used in a coroutine. For a complete list of commands, see `pyatv.interface.RemoteControl`.

## Performing a command

To perform a command is just as easy as calling the method corresponding to the expected action:

    yield from atv.remote_control.play()
    yield from atv.remote_control.next()

## Commands with arguments

Most commands just performs an action and requires no additional arguments. Seeking in the currently playing media however, is one command that requires the desired media position:

    yield from atv.remote_control.set_position(60)  # 1 minute in