Skip to main content

An async python library for controlling HEOS devices through the HEOS CLI Protocol

Project description

pyheos

Build Status Coverage Status image image image image

An async python library for controlling HEOS devices through the HEOS CLI Protocol (version 1.13 for players with firmware 1.481.130 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 is pyheos.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 is pyheos.const.DEFAULT_HEART_BEAT = 60.0. Set this parameter to None to disable heart-beat.
  • all_progress_events: Set to True to receive signals for each media play-back progression or False to only receive a signal when media state transitions to playing or changes. Default is True. This parameter is required.
  • dispatcher: Optional[pyheos.Dispatcher]: An instance of dispatcher to use for raising signals. The default is None 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 to True to automatically reconnect to the host upon disconnection. The default is False.
  • reconnect_delay: float: The number of seconds to wait before attempting to reconnect upon a connection failure. The default is DEFAULT_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 to True to retrieve the latest available players from the CLI. The default is False 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyheos-0.4.0.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyheos-0.4.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file pyheos-0.4.0.tar.gz.

File metadata

  • Download URL: pyheos-0.4.0.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.6

File hashes

Hashes for pyheos-0.4.0.tar.gz
Algorithm Hash digest
SHA256 556632f2f136e40ff039b85e9ccbb7cb620d907e1752610cadc2004022719143
MD5 3e9e95b4114328669bc4b752100a8acd
BLAKE2b-256 39911fb5d63954d5be21180cae93f73632f9beec6858bc1c5e8a45fcf2de43ff

See more details on using hashes here.

File details

Details for the file pyheos-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: pyheos-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.5.6

File hashes

Hashes for pyheos-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b026aa0c4bd031df52b48951acb3f05e8b5ed8e603b000b70d3fc3d8bd5df2d
MD5 beb445396f1fac2d1b7ba9321ea73b86
BLAKE2b-256 4d23c39e4066c3cda80c2d742001af0c964e4a4b14d6efbd1557eaee7bcf3e91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page