Ruby - Control an Onkyo Stereo Over a Network
The Integra Serial Control Protocol (ISCP) is capable of controlling a wide range of Integra and Onkyo stereo receivers. It can be used via serial cable or over an IPv4 network.
We can use the onkyo_eiscp_ruby
gem to easily control Onkyo and Integra receivers over the network. The library doesn’t support serial, but your model likely supports IPv4 over ethernet.
You don’t need to know much Ruby to use the gem. It ships with a binary (onkyo.rb) that will allow you to run commands without writing any code.
Install the gem
Let’s start by installing the gem:
I recommend loading the library in irb or pry (I use pry) so we can interact with the receiver:
We of course have to load our gem, you can do it with this:
Find a receiver on the network
Now we’ll use the gem to discover the receiver on our network and create a Receiver object for us to manipulate:
If you have more than one Receiver on your network, you can pass a hostname to the constructor:
Connect and control
Now that we have our Receiver object, let’s connect and send a command to get the power status of the receiver:
Let’s put the receiver on standby:
Where to find more info
You can see all commands and their accepted values for your model by using the included command-line utility onkyo.rb
. If you have more than one receiver on your broadcast domain, you’ll get the commands compatible with whichever receiver responds first.
Check out the eiscp gem on github and submit a PR!