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.