This is a command line utility to control older pioneer A/V recievers over the home network. The only officially supported recievers so far is the VSX-923, only because it's the only one I own.
This project is inspired by mkulesh/onpc, and in theory, pioneerctl should be able to support the pioneer models that onpc doesn't.
This would be the following:
If you have an old pioneer reciever, feel free to test pioneerctl and return with your results :)
Currently only the four most used commands are implemented:
The goal is to implement almost everything, but it will be taken in small steps.
The syntax is quite self explanatory,
and thanks to structopt, the --help
-pages are basically all the documentation you'll ever want.
Here are some examples:
``` $ PIONEERCTL_ADDRESS="192.168.1.3:8102" pioneerctl power on (The reciever turns on)
$ pioneerctl --ip-address "192.168.1.3:8102" volume up (Connect to the reciever at the specified address, and increase the volume by one step)
$ pioneerctl --zone zone2 mute on (Mute only zone2)
$ pioneerctl pioneerctl $ (Enter REPL mode) ```
The IP address of the reciever must either be supplied with the --ip-address
flag,
or via environment the environment variable PIONEERCTL_ADDRESS
.
Note that the environment variable can be exported in your shell's profile,
to not have to set it twice.
If no command is supplied pioneerctl will enter REPL mode. In there you can run multiple commands after each other without setting up a new connection with each command.
If you have a working cargo environment it's as simple as
$ cargo install pioneerctl
But if you don't, there is a precompiled binary in the GitHub release.
Contributions are very welcome, and I recommend taking a look at this official specification for the protocol to get started.