Denon AVR Control
/install denon-avr-control
Denon AVR Control
Use this skill to control a Denon receiver on the local network.
Quick start
- Identify the receiver host or IP address.
- Start with a read/query action before making changes.
- Use
scripts/denon_avr.pyfor normal operations. - If a model-specific command is missing, read
references/commands.mdand use--raw.
Default workflow
Query status
Run:
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --status
Power
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --power on
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --power off
Volume
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --volume 35.5
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --volume-up 3
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --volume-down 2
Inputs
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --input tv
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --input game
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --input heos
Mute
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --mute on
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --mute off
Transport choice
Prefer the default TCP transport first:
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --status
If the receiver only responds on the HTTP control endpoint:
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --transport http --status
Raw commands
Use raw mode for model-specific features or when the canned arguments are not enough:
python3 skills/denon-avr-control/scripts/denon_avr.py --host \x3Cip-or-hostname> --raw PW? --raw MV? --raw SI?
Read references/commands.md for the common command families.
Local computer playback
If the user wants to play local audio files on the computer itself, use scripts/local_audio_jukebox.py together with this receiver-control skill.
Read references/local-playback.md when the task is to:
- scan a local directory for songs
- play a random song or a short random queue
- play tracks that match a user query
- build a simple playlist from user-provided terms
- stop or inspect the local player state
This workflow plays audio on the local computer, so that machine's system output must already be routed to the receiver if sound should come out of the receiver.
Experimental DLNA push mode
If the user wants the Denon itself to fetch and play a local file over the LAN, use scripts/dlna_push.py.
Read references/dlna-push.md when the task is to:
- scan a folder for audio files before choosing one
- push a random local track directly to the Denon renderer
- push a track chosen by user query
- push a specific file path to the Denon
- stop the remote playback and shut down the temporary HTTP server
- support the same approach on Windows and macOS
This mode is more cross-platform than local-output playback because it uses Python + HTTP + UPnP/DLNA. It is still experimental and currently strongest for single-track push.
Real DLNA media server mode
If ad-hoc URL push is unreliable on a receiver, use scripts/simple_dlna_server.py instead.
Read references/dlna-server.md when the task is to:
- expose one or more user-chosen music directories as a real discoverable DLNA MediaServer
- let the user decide the music path(s) instead of assuming a fixed folder
- let the Denon browse the library through its Local Music / HEOS path
- support a more Windows-friendly and standards-based setup
- avoid raw one-off URL playback hacks
This mode provides SSDP discovery, a device description, a ContentDirectory service, a ConnectionManager service, and direct HTTP media serving.
Prefer this mode for cross-platform local-library playback.
Guardrails
- Query first when you do not know current state.
- Send one mutating action at a time unless the user explicitly wants a batch.
- Treat input names and sound modes as model-dependent; if a friendly alias fails, switch to
--raw. - If the user did not provide the receiver address, ask for the IP/hostname or discover it only if they explicitly want network scanning.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install denon-avr-control - 安装完成后,直接呼叫该 Skill 的名称或使用
/denon-avr-control触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Denon AVR Control 是什么?
Control a network-connected Denon AVR/AVC receiver over its classic IP control interface (TCP telnet-style commands or the goform HTTP endpoint), and expose... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 225 次。
如何安装 Denon AVR Control?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install denon-avr-control」即可一键安装,无需额外配置。
Denon AVR Control 是免费的吗?
是的,Denon AVR Control 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Denon AVR Control 支持哪些平台?
Denon AVR Control 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Denon AVR Control?
由 Yuqian Shi(@yuqian-shi)开发并维护,当前版本 v0.1.0。