Connected AV Receiver

I have learned that both the Onkyo TX-NR609 and TX-NR646 AV Receivers have a neat little protocol called EISCP that can be used to command them to do a bunch of stuff

All I needed was this python library and once in the folder, to run it with

python -m eiscp.script --args-here

and I was able to turn my receiver on and off from the command line!

For example, you can discover what’s on your network with

python -m eiscp.script --discover

and you’ll get something like this back:

TX-NR609        192.168.1.228:60128     0123456789ab
TX-NR646        192.168.1.243:60128     123456789abc

and to specify which command to send speakers to, you can use flags -n with 609, -h with 192.168.1.228, or -i with the mac address

And to turn them on or off, run

python -m eiscp.script -i 0123456789ab system-power=on

And to query things like volume, run

python -m eiscp.script -i 0123456789ab volume=query

Very neat.

It does, however, remind me of smart toilets, and I don’t really need to recreate that here from first principles.

You can also connect to the ’network control’ port via telnet and watch it print stuff out whenever the volume changes or other events occur

If these speakers were in any regular use in the house, I probably would find it convenient to have a Sonos device plugged in to them, and to have a computer in the house watch for active media being played to this Sonos device, and subsequently turn on the Onkyo amp so it’s “off” when it’s not being used. A future project, perhaps.