skillfed

denonavr

Automation Library for Denon AVR receivers

denonavr v1.3.3 87.1K downloads/30d#13,812 on PyPI198
Permissive license MIT Active released

What it is and what it does

denonavr is an async Python library for controlling Denon AVR audio/video receivers over a local network. It communicates via HTTP for state queries and telnet for real-time event monitoring, allowing you to power the receiver on/off, switch inputs, adjust volume and tone, and mute audio. The library is built on asyncstdlib, httpx, and netifaces, making it suitable for integration into async home automation systems.

The package supports Python 3.8 through 3.14 and is actively maintained. It handles both polling-based updates (via HTTP) and push-based notifications (via telnet callbacks), so you can either query the receiver's state on demand or register callbacks to react instantly when the device state changes. Home Assistant uses it as a dependency, indicating production-grade reliability for home automation workflows.

Use it for:

  • Integrate Denon AVR control into a Home Assistant or other home automation platform for voice or app-based receiver management.
  • Build a custom dashboard or CLI tool to monitor and control multiple Denon receivers from a single interface.
  • Set up real-time event monitoring via telnet to trigger downstream automations when the receiver's power, input, or volume changes.
  • Automate receiver setup tasks (power on, set input, adjust volume) as part of a larger media room initialization routine.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides async control and monitoring of Denon AVR receivers over HTTP and telnet, enabling power, input, volume, and sound adjustments with real-time event callbacks.

Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and is proven in production use by Home Assistant. Install it if you own a Denon AVR and need programmatic control from Python, especially in an async context. The MIT license is permissive and the API is straightforward.

Install

denonavr on PyPI

pip

pip install denonavr

uv

uv add denonavr

poetry

poetry add denonavr

Installing denonavr

Before you install

Low friction install with seven runtime dependencies all on PyPI. Active maintenance with a recent release (61 days ago) and ongoing repository activity.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions—suitable for both personal and commercial projects.

Quickstart

pip install denonavr

import asyncio
import denonavr

async def main():
    d = denonavr.DenonAVR("192.168.1.119")
    await d.async_setup()
    await d.async_update()
    print(d.volume)

asyncio.run(main())

Requires a Denon AVR receiver on the network at a known IP address; async/await syntax requires Python 3.8+.

Verify before relying

  • Whether telnet monitoring works reliably across all Denon AVR models and firmware versions.
  • Performance characteristics when polling large numbers of receivers simultaneously.
  • Compatibility with Denon models released after the package's latest update.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 7 — asyncstdlib, attrs, defusedxml, ftfy, httpx, netifaces, async-timeout
Maintenance actively maintained — 61 days since the last release
Last repo commit
First released
Downloads 87,124/month — #13,812 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: denonavr-1.3.3-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Home AutomationTopic :: Software Development :: Libraries

Tags

denon avr receiver controlasync denon automationhome automation denonavr receiver apidenon telnet monitoring
home-automationdenon-avrasync-io

More Libraries packages