Onkyo Receiver - Rule to Select Specific Channel

Tags: #<Tag:0x00007fe73aed5c28>

Hello,

I have an Onkyo receiver, that talks to SiriusXM and Pandora. I would like to, using a rule, be able to automatically turn on the receiver and navigate to/play a specific channel. It seems to be very difficult to do with rules. Has anyone worked successfully with rules and the Onkyo binding?

there is nothing special to work with onkyo devices through rules since rules work on items which are hardware agnostic. So all rules samples apply … what are you going to do in particular?

Sorry for the late response. I want to be able to select a Scene, and have a rule do something on the Onkyo. Specifically, I’d like to be able to set the Onkyo to Pandora, then play a specific station - without me having to navigate through the menu by hand.

+1 - I am also interested to automate this. One touch to play a particular Pandora station on my Onkyo AVR…

I managed to come up with this which reliably starts the receiver and switches to the Shuffle mode in Pandora. Obviously mappings and maybe sleep timers need to be adjusted for your system!

Items (slimmed down to the relevant items!):

Switch onkyoPower          "Power"                   {onkyo="INIT:hometheater:POWER_QUERY, ON:hometheater:POWER_ON, OFF:hometheater:POWER_OFF"}
Number onkyoSource         "Source"                  {onkyo="INIT:hometheater:SOURCE_QUERY, INCREASE:hometheater:SOURCE_UP, DECREASE:hometheater:SOURCE_DOWN, *:hometheater:SOURCE_SET"}
Switch onkyoNETPlay      "Play"             { onkyo="ON:hometheater:NETUSB_OP_PLAY", autoupdate="false"}
Number onkyoNETService   "Service"          { onkyo="INIT:hometheater:#NSVQST, *:hometheater:#NSV%02X0"}
Number onkyoNETList      "Select List Item" { onkyo="*:hometheater:#NLSL%01X"}
Switch onkyoNETDown      "Down"             { onkyo="ON:hometheater:NETUSB_OP_DOWN", autoupdate="false"}
Switch onkyoNETSelect    "Select"           { onkyo="ON:hometheater:NETUSB_OP_SELECT", autoupdate="false"}
//onkyoRadio Control
Switch onkyoRadio_Pandora "Pandora [%s]" 

Rules:

/* ONKYO */
rule "Onkyo Pandora Radio ON"
when
  Item onkyoRadio_Pandora changed to ON
then
  sendCommand(onkyoPower, ON)
  Thread::sleep(2000)
  sendCommand(onkyoSource, 43)
  Thread::sleep(1000)
  //Select Pandora
  sendCommand(onkyoNETService, 4)
  //Select Station
  sendCommand(onkyoNETList, 2)
  Thread::sleep(4000)
  sendCommand(onkyoNETDown, ON)
  Thread::sleep(2000)
  sendCommand(onkyoNETSelect, ON)
  //Start Playing
  sendCommand(onkyoNETPlay, ON)
end

rule "Onkyo Pandora Radio OFF"
when
  Item onkyoRadio_Pandora changed to OFF
then
  sendCommand(onkyoPower, OFF)
end

While not the cleanest solution, its a start. Seems there are no discreet commands to control the Pandora stations. I’ve found references on the web where people create presets on the AVR and then call those presets via the ISCP protocol, so something like this MIGHT work:

Item:

Switch onkyoNET_OP_1    "Select"           { onkyo="ON:hometheater:NETUSB_OP_1", autoupdate="false"}

And then call this:

Rule:

 sendCommand(onkyoNET_OP_1, ON)

The second approach is untested!

FYI - this was inspired by this post:

All the best,
.