An async python library for controlling HEOS devices through the HEOS CLI Protocol
Project description
pyheos
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)
host: str
: The IP Address or hostname of a HEOS device on the local network. This parameter is required.timeout: float
: Number of seconds to wait during connection and issuing commands. Default ispyheos.const.DEFAULT_TIMEOUT = 5.0
. This parameter is required.heart_beat: Optional[float]
: Number of seconds since last activity to issue a heart-beat command. Default ispyheos.const.DEFAULT_HEART_BEAT = 60.0
. Set this parameter toNone
to disable heart-beat.all_progress_events
: Set toTrue
to receive signals for each media play-back progression orFalse
to only receive a signal when media state transitions to playing or changes. Default isTrue
. This parameter is required.dispatcher: Optional[pyheos.Dispatcher]
: An instance of dispatcher to use for raising signals. The default isNone
which results in use of the default dispatcher implementation.
pyheos.Heos.connect(*, auto_reconnect, reconnect_delay)
Connect to the specified host. This method is a coroutine.
auto_reconnect: bool
: Set toTrue
to automatically reconnect to the host upon disconnection. The default isFalse
.reconnect_delay: float
: The number of seconds to wait before attempting to reconnect upon a connection failure. The default isDEFAULT_RECONNECT_DELAY = 5.0
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.
refresh
: Set toTrue
to retrieve the latest available players from the CLI. The default isFalse
and will return the previous loaded players.
Example:
import pyheos
heos = Heos('172.16.0.1')
await heos.connect(auto_reconnect=True)
players = await heos.get_players()
...
await heos.disconnect()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyheos-0.7.4.tar.gz
.
File metadata
- Download URL: pyheos-0.7.4.tar.gz
- Upload date:
- Size: 30.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 495f9ef3f711688d037340f46cb11b3532109343ef87be55c3d4f00c28ed0f54 |
|
MD5 | 4a1cdf46f0cbcb7fb11b69e09006b937 |
|
BLAKE2b-256 | 4e32dda4803445c694dc8f6e23f0a923efaed2f96fa22e0d6338776a4257b889 |
File details
Details for the file pyheos-0.7.4-py3-none-any.whl
.
File metadata
- Download URL: pyheos-0.7.4-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 865d70c9117672a8802283c32474e9137c2953f0d42fe20ec760fcebf3564380 |
|
MD5 | 9840a02eb62d5800ff164b29a9bdd9ab |
|
BLAKE2b-256 | ccc0b0a75f1530509bbdcb927798bc7518ac270a16be65c160d2d5c709e5ad26 |