andrewsayre / pyheos

An async python library for controlling HEOS devices through the HEOS CLI Protocol
Apache License 2.0
17 stars 12 forks source link
heos heos-api heos-cli heos-control

pyheos

CI Status codecov image image image

An async python library for controlling HEOS devices through the HEOS CLI Protocol (version 1.17 for players with firmware 2.41.140 or newer).

Installation

pip install pyheos

or

pip install --use-wheel pyheos

Getting Started

The Heos class is the implementation providing control to all HEOS compatible devices on the local network through a single network connection. It is suggested to connect to a device that is hard-wired.

pyheos.Heos(host, *, timeout, heart_beat, all_progress_events, dispatcher)

pyheos.Heos.connect(*, auto_reconnect, reconnect_delay)

Connect to the specified host. This method is a coroutine.

pyheos.Heos.disconnect()

Disconnect from the specified host. This method is a coroutine.

pyheos.Heos.get_players(*, refresh)

Retrieve the available players as a Dict[int, pyheos.Heos.HeosPlayer] where the key represents the player_id and the value the HeosPlayer instance. This method is a coroutine. This method will populate the players property and will begin tracking changes to the players.

Example:
import pyheos

heos = Heos('172.16.0.1')

await heos.connect(auto_reconnect=True)
players = await heos.get_players()
...
await heos.disconnect()