Funiculi
Funiculi is a tiny command-line utility which lets you interact with Denon AVR amplifiers over your local network.
It currently supports turning the unit on and off, querying its power status, changing its volume, and streaming music to it over DLNA.
Prerequisites
You need the following software installed on your system:
Installation
Installing from PyPI
To install Funiculi from PyPI, open a shell and run:
pip install funiculi
If that doesn’t work, try:
python3 -m pip install funiculi
Installing from the AUR
Direct your favorite
AUR helper to the
funiculi package.
Usage
funiculi [FLAGS] COMMAND
COMMAND is one of the following:
-
off
Turns the device off. -
on
Turns the device on. -
down
Turns the volume down one step. -
up
Turns the volume up one step. -
source [get | set NAME]
Selects or queries the audio source. -
status
Queries whether the device is on standby. -
dlna
Sets up a local virtual output device that relays all audio to the receiver via DLNA.
See USAGE.md or man 1 funiculi for details.
Contributing to Funiculi
See CONTRIBUTING.md.
License
Copyright (c) 2024 Claudia Pellegrino
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. For a copy of the License, see LICENSE.
Synopsis
funiculi [FLAGS] COMMAND
Commands
COMMAND is one of the following:
off
: Turns the device off.
on
: Turns the device on.
down
: Turns the volume down one step.
up
: Turns the volume up one step.
source [get | set NAME]
: Selects or queries the audio source.
The get subcommand returns the current source.
The set subcommand accepts a source name according to Denon’s
protocol; the name is case-insensitive.
Acceptable values vary by model. To find out the values for a
specific model, omit this parameter while your device is set to a
known source. Repeat for each source.
status
: Queries whether the device is on standby.
dlna
: Sets up a local virtual output device that relays all audio to the
: receiver via DLNA.
Flags
The following flags are supported:
-h, --host=HOST
The AVR host to connect to.
Mandatory if no AVR_HOST environment variable is defined.
The parameter takes precedence over the environment variable.
-c, --ctrlport=CTRLPORT
The AVR control port to connect to.
The default is 23.
-w, --webport=WEBPORT
The AVR web port from which to obtain DLNA metadata.
The default is 60006.
-t, --timeout=TIMEOUT
The timeout for commands in milliseconds.
The default timeout is 100 ms.
-p, --path=PATH
The remote path to the UPnP XML descriptor.
The default value is: /upnp/desc/aios_device/aios_device.xml
Metadata
Release files for funiculi 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| funiculi-0.2.0.tar.gz | 11.4 kB | Without provenance | Details for funiculi-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| funiculi-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for funiculi-0.2.0-py3-none-any.whl |
Total release size: 24.2 kB
Release files / funiculi-0.2.0.tar.gz
| Download URL | funiculi-0.2.0.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ed174f264a1fb4750e99d159bde89eef284495f552a5fdf888bac3f058565dc
|
|
BLAKE2b-256 checksum How to use checksums |
762b0228bb8930a02eba3076e57e1d8c88cf2565bc26d2f0d9bf132374507b93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / funiculi-0.2.0-py3-none-any.whl
| Download URL | funiculi-0.2.0-py3-none-any.whl |
|---|---|
| Size | 12.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
597073518e4d456617ee04ed1543e60dcd5191e1e96f9dd265b7142dd61156d6
|
|
BLAKE2b-256 checksum How to use checksums |
c6fc480d0a9f0bb7603ccd795bb7f593465f691c9a06ef05a1cf9b91993554fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Security for funiculi 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.