Skip to main content

Automation Library for Denon AVR receivers

Project description

denonavr

Release Build Status PyPi License Code style: black

Automation Library for Denon AVR receivers

Installation

Use pip:

$ pip install denonavr

or

$ pip install --use-wheel denonavr

Usage with async

Writing async and await methods are outside the scope of the documentation. You can test async usage from the Python REPL. In a terminal run:

python3 -m asyncio

The asyncio library should automatically be imported in the REPL. Import the denonavr library and set up your receiver. If you know the IP address, enter it below replacing 192.168.1.119.

>>> import asyncio
>>> import denonavr
>>> d = denonavr.DenonAVR("192.168.1.119")
>>> await d.async_setup()
>>> await d.async_update()
>>> print(d.volume)
-36.5

Monitoring with telnet

In addition to retrieving the current device status via HTTP calls, denonavr library also has the ability to setup a task that will connect to the receiver via telnet on TCP port 23 and listen for real-time events to notify of status changes. This provides instant updates via a callback when the device status changes. Receivers support only one active telnet connection.

>>> import asyncio
>>> import denonavr
>>> d = denonavr.DenonAVR("192.168.1.119")
>>> await d.async_setup()
>>> await d.async_telnet_connect()
>>> await d.async_update()
>>> async def update_callback(zone, event, parameter):
>>>>>> print("Zone: " + zone + " Event: " + event + " Parameter: " + parameter)
>>> d.register_callback("ALL", update_callback)

Power & Input

>>> await d.async_power_on()
>>> await d.async_update()
>>> d.power
'ON'

>>> await d.async_power_off()
>>> await d.async_update()
>>> d.power
'OFF'

>>> d.input_func
'Tuner'
>>> await d.async_set_input_func("Phono")
>>> d.input_func
'Phono'

Sound

>>> await d.async_mute(True)
>>> await d.async_mute(False)

Other methods

Other async methods available include:

  • d.async_bass_down
  • d.async_bass_up
  • d.async_treble_down
  • d.async_treble_up
  • d.async_volume_down
  • d.async_volume_up
  • d.async_set_volume(50)

Collection of HTTP calls

For a collection of HTTP calls for Denon receivers please have a look at the doc folder.

License

MIT

Users

Home Assistant: https://github.com/home-assistant/home-assistant/
denonavr-cli: https://pypi.org/project/denonavr-cli/

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

denonavr-1.1.1.tar.gz (209.8 kB view details)

Uploaded Source

Built Distribution

denonavr-1.1.1-py3-none-any.whl (69.9 kB view details)

Uploaded Python 3

File details

Details for the file denonavr-1.1.1.tar.gz.

File metadata

  • Download URL: denonavr-1.1.1.tar.gz
  • Upload date:
  • Size: 209.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for denonavr-1.1.1.tar.gz
Algorithm Hash digest
SHA256 d8ce912c9b3b19d1207e3bb44f4c38460734298e1efcf9655de92276b7465c34
MD5 8b12e673d5efafc8438ca418c6fb720c
BLAKE2b-256 856df4acb64ae4b5aa921043c4d4a92201f71c3df7240b8b27369fb856b8076e

See more details on using hashes here.

File details

Details for the file denonavr-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: denonavr-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 69.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for denonavr-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8cd3d42b01bd2fce75cf60f2b995e081dfd8410b3550a9f27bcd30f3c892c5e
MD5 5d15769cad0968010b6e47cc895be744
BLAKE2b-256 96827ec57da8bd39f3145002e06fca97f9e878075d7832036cb9864b5ecc5de0

See more details on using hashes here.

Supported by

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