OyRemote

Update: Feb 24th, 2010

OyRemote

OyRemote is a small application written in C# that connects to your (network enabled) Onkyo AV Receiver and lets you control virtually every aspect of it. As a matter of fact, you can control more than you would normally be able to with your remote. For example in certain modes the receiver may not let you set up a sleep mode with the remote – while through the network protocol you can!

OyRemote came to life after I recently purchased an Onkyo TX-NR1007, which offers both RS-232 and Network control through the ISCP protocol. As I had no RS-232 connection available at the moment, I decided to play around with the network controls (which are using basically the same protocol as the serial one). After initially being more of a proof of concept, the project has now grown to include most of the available functionality that the protocol offers.

Features:

- custom buttons (now with colour)
- batch commands
- autorun batch commands at start
- all configuration stored in a human readable XML file
- a Command Builder to build complex command strings from a selection of hundreds of commands (almost the entire ISCP command set)

(If you have been using a version before version 0.13a and the new one crashes at start, delete the keys at HKEY_CURRENT_USER\Software\OyRemote )

Warning: keep in mind that you are sending low level commands directly to your receiver – I will take NO responsibility for what happens to it! (not does Onkyo, for that matter)

OyRemote has grown quite a bit from where I started. While it originally was more of a proof of concept, it has become quite a feature rich application to control many aspects of your Onkyo Receiver through the network.

The application is absolutely free for personal use! However, developing and maintaining it takes time – if you like it, it would be much appreciated if you could donate a few coins to keep the old motivation up! :)

Donate through PayPal:


v0.16

v0.15

Download

Download 0.16d (24/02/2010)
Download 0.16b
(21/02/2010)
Download 0.15
(14/02/2010)
(.NET 3.5 required)

(If you have been using a version before version 0.13a and the new one crashes at start, delete the keys at HKEY_CURRENT_USER\Software\OyRemote )

Manual

Changelog

24/02/2010 – version 0.16d

  • this is a beta release before 0.17 to test the new last.fm features
  • added a last.fm tab that display artist information and the album cover of the currently played song
  • added mini cover in trackinfo
  • added setting to hide trackinfo and statusbar (change it for the current session in the “view” menu, or save the setting in your Settings tab)
  • Note: the last.fm info that is returned from the receiver is somewhat unreliable and often incomplete, so you may need to refresh the info with the refresh button in the trackinfo – this can cause the application to seemingly hang while it’s grabbing the last.fm data.

21/02/2010 – version 0.16b

  • Live Log did not open – fixed
  • batch command Edit button caused exception – caught and handled

21/02/2010 – version 0.16a

  • moved title/track etc. info at the bottom of the window to be shown all the time (disadvantage: app requires a  1024×768 or higher resolution now)
  • fixed preset selector when Internet Radio is chosen as input

21/02/2010 – version 0.16

  • reworked most of the UI
  • added a third row of custom buttons (a total of 54 now)
  • fixed some minor bugs
  • custom button names are auto-set now if “-/-” or blank
  • added a colour parameter to the custom buttons – set it in the Command Builder dialog
  • removed some buttons from the UI – those functions are in the menus

14/02/2010 – version 0.15

  • PAUSE (in ms) command added
  • Added Title/Artist/Album info to network controls
  • Some minor layout changes to fit new labels

07/02/2010 – version 0.14b – Custom button name is only automatically set if name is still -/- (the default blank name).

07/02/2010 – version 0.14a – Fixed small bug where the setting of input device ids did not work. Also, when you add a command to your selection in the command builder, it sets the name automatically from -/- to the name of the command.

06/02/2010 – version 0.14 – Decided to get rid of the Listening Mode selectors and go for more (and larger) custom buttons. Also – and this is kind of a major change, so expect potential bugs – I went away from storing the config data in the registry and instead use an XML file now. As an added extra, in that same XML file you can now change the name and ID of the input devices.

03/02/2010 – version 0.13a – Autoconnect setting was not saved correctly.

03/02/2010 – version 0.13 – Loads of news. Menus added. “Amplifier IP” link now works. Added a Command Builder and Custom Buttons to go with it. Commands can now be built out of a command list of roughly 500 commands and then stored either as a batch or button. Added center level control. Note that both the center and subwoofer level are temporary only.

29/01/2010 – version 0.11 – Because it would have been way too easy if things would have just worked… fixed the Listening Mode preset buttons I hope. Added some new stuff under the hood and also added a small text box next to the cursor keys. Click in it and it will capture the up/down/left/right/return/backspace keyboard keys and send them as remote cursor keys. Much easier to navigate the setup menu that way. Theres also  a live stream window that lets you see the incomign and outgoing traffic on the connection to the receiver.

28/01/2010 – version 0.10 – Some substantial changes this time. See feature list. Rewrote most of the net and UI code. Made the interface more configurable and also squashed a number of bugs.

25/01/2010 – version 0.06 – Quite a few changes in this one. Reworked the volume control, it’s now a slider and it only sets the volume when it’s set via the keyboard or when the mousebutton is lifted, thus making for much smoother operation. Added cursor controls (up/down/left/right). Added more inputs. Haven’t gotten around to add more Listening Modes – but soon. Batch commands can now be checked for Autorun, meaning they are run whenever the application connects to the receiver.

25/01/2010 – version 0.05 – Added some Listening Modes (not complete yet), fixed (I hope) the return channel from the receiver (there was a problem where basically none were evaluated), made sure the return channel is flushed after volume change (slows down volume control once again a bit, but can’t be helped for now). Four batch commands now.

24/01/2010 – version 0.04 – Found another tiny bug, volume control should now be quicker. Also added a Thread.Sleep delay to batch commands, which can be configured in milliseconds. Simple way to try it out would be to run “MVL10,MVL15,MVL20,MVL25″ with e.g. 500ms delay and watch the volume go up step by step.

24/01/2010 – version 0.03 – Added About window and some minor fixes to batch commands.

24/01/2010 – version 0.02 – I’ve added the possibilty to run batch commands now. To test it out, there are two batch command presets that also will be stored in the registry. The format is rather simple, just a comma separated list of commands. For example, “SLI24,PRS06″ should select the radio for input and radio preset 6 for the channel.

24/01/2010 – version 0.01 – This is more of a proof of concept than anything. So far you can set the volume, input selection and radio preset. If you select an input your receiver does not support, it should jump pack the last valid one. Both the currently selected input on the receiver side, its volume and radio preset should also be detected at startup (once connected). Connection details (and in the future some other configuration details) will be stored under HKEY_CURRENT_USER\Software\OyRemote\ConnectionDetails. The “custom command” field lets you send Onkyo commands directly, minus the !1 part. So, for the volume this would be “MVLxx” where xx is Hex. The full list of commands are available on the net, I’m not sure whether these are public or not, so until I’m sure I won’t publish them myself. Future versions are planned to include the full feature set of functions as well as presets and maybe even batch commands. But that’s in the far future…

  1. Craig
    Jan 29th, 2010 at 20:42
    Reply | Quote | #4

    Hey – used this software its great – Only thing i would like to to add is the ability to control seperate Zones and if we can have the ability to use it on low res displays – i doesnt fit on all my display :(

    Thanks

  2. Michael
    Jan 29th, 2010 at 21:04
    Reply | Quote | #5

    I’ll have a look at zones, though for the moment there is some more basic stuff that needs to be added/fixed first. Still, it’s on my list now. As for the size, I plan to optimize the window eventually, possibly by using graphics for some of the buttons etc. What kind of display are we talking about, btw?

  3. Nick Denolf
    Jan 31st, 2010 at 11:26
    Reply | Quote | #6

    Tried V0.11 with a NR807…
    Don’t know if the IP adress I fill in the textbox is use, I need to connect to 192.168.1.103, but the connection times out and I get a message error box saying connection timed out on another IP adress.

    Found a solution though, I need to fill in my IP adress, close your program, then restart and then it uses my 192.168.1.103

    Just a little bug…

  4. Michael
    Jan 31st, 2010 at 11:43
    Reply | Quote | #7

    I’ll look into it!

  5. Nick Denolf
    Feb 3rd, 2010 at 19:37
    Reply | Quote | #8

    Great to see you updated the sw so soon… Do have a problem now on my Windows 7 (64-bit) machine as it immediatly gives me the message that Oyremote has stopped working.
    (So did not get is to run yet, also putting it in compatibility mode or explicitly running it as admin does not help.)

    Will try later on one of my Windows XP machines…

  6. Michael
    Feb 3rd, 2010 at 20:23
    Reply | Quote | #9

    @Nick Denolf
    Huh. I’m developing it on Win 7 64, so that in itself can’t be it. Could you try and delete the whole HKEY_CURRENT_USER\Software\OyRemote tree in the registry and then start it again?

  7. Nick Denolf
    Feb 4th, 2010 at 20:52

    Hey, that did the trick, deleting HKEY_CURRENT_USER\Software\OyRemote and it works again…
    thx…

  8. Alex1971
    Feb 7th, 2010 at 14:50

    Habe mir die 0.14 angeschaut:

    1)
    Mit dem InputSelect ist immer noch was faul.

    Wenn ich z.B. Aux2 “umprogrammieren” möchte weil mein 807 den garnicht hat, funktioniert das nicht.

    Habe es in “Kathrein” umbenannt und CommandID “40″ (PORT) hinterlegt.

    Diese wird aber dann nicht umgesetzt.

    Da scheint mir noch irgendwas “hart verdrahtet” zu sein….

    2)
    Bei der Belegung der “Custom” Buttons wäre es hilfreich wenn der “Name” per default so vorab eingetragen wird, wie der ausgewählte Punkt auch heisst, ändern kann man ihn bei Bedarf immer noch…
    Wenn ich z.B. STEREO auswähle wird der Button oft auch genauso heissen…. ;-)

    3)

    Von ON in Standby funktioniert (PWR00)

    Von Standby wieder ON funktioniert leider nicht (PWR01)

  9. Michael
    Feb 7th, 2010 at 15:48

    Fixed in 0.14b. Power on is not possible as the receiver turns of the network interface in Standby mode. PWR01 is probably only possible via RS-232.

  10. Alex1971
    Feb 7th, 2010 at 15:52

    Bei der Lösung mit dem mini-ISCP Server geht das einwandfrei !

    ON
    OFF

  11. Alex1971
    Feb 7th, 2010 at 15:53

    “ON”
    “OFF”

  12. Alex1971
    Feb 7th, 2010 at 15:54

    Sorry versuche gerade den Inhalt der index.html zu posten…
    command(‘iscp’,'PWR01′,’1′)
    command(‘iscp’,'PWR00′,’1′)

  13. Alex1971
    Feb 7th, 2010 at 16:09

    In der “Last Command” Zeile unten stehen nach dem Umschalten der Inputs immer noch die “alten” Namen, auch wenn man diese komplett anders konfiguriert und umbenannt hat….

  14. Alex1971
    Feb 7th, 2010 at 16:12

    Habe meinen Netz-Server auf den vierten Inputbutton gelegt… dann kann ich aber nicht die Steuerelemente nutzen weil diese nicht aktiviert sind….. hmmm…

    Ich wollte halt meine Lieblingsinputs im oberen Bereich anlegen…

    Aber da ist dann doch noch einiges hart verdrahtet…

  15. Alex1971
    Feb 7th, 2010 at 16:19

    Vielleicht sollten die Mediasteuerungsbuttons nicht mit den Buttons “11″ und “12″ verdahtet werden sondern mit den IDs 27 und 28 ?!

  16. Alex1971
    Feb 8th, 2010 at 18:08

    Ob es auch “secret” commands gibt um die Temperatur und Lüfterzustand abzufragen ?
    Über das “Geheimmenü” am Gerät kann man das ja….. hm……

  17. UlGu
    Feb 12th, 2010 at 17:17

    @Craig
    Thank you Michael, nice work just got it running managing a 3007, Keep it going.

  18. dartman
    Feb 13th, 2010 at 19:53

    Hi Michael,

    nice work ! It works with my SC-5507.

    Please work on more network control and songnames etc… Full access to music server would be amazing :-) Definitely worth donation !

    Cheers

  19. Nick Denolf
    Feb 19th, 2010 at 21:26

    Hey, I was able to turn on my 1007 via the network. If you enable ‘network control’ in the Onkyo meny you can do this. I used your 0.15 version, and even with the receiver in standby I can connect to it. By selecting an input, the receiver turns on and plays the input.

    So your previous statement on not being able to turn the receiver on seems incorrect…

  20. Nick Denolf
    Feb 19th, 2010 at 21:46

    Another interesting fact, as I now can turn on the receiver via the network I can also stream audio to it via the Play To feature… I used foobar for this…
    foobar2000: http://www.foobar2000.org/
    DLNA component: http://www.foobar2000.org/components/view/foo_upnp

    Still working to get Windows Media player 12 (Windows 7) to do this, but foobar works great…

  21. Michael
    Feb 19th, 2010 at 22:18

    @Nick Denolf
    It seems to depend on whether you have the HDMI runnning through the receiver constantly (even in standby) or not. If not, the network component is definitely turned off here. Could also be that there are more than one hardware revision and they behave differently – who knows. Good to hear it works for you though.

  22. JörgL
    Feb 21st, 2010 at 18:30

    Das Tool funktioniert auch mit dem TX-NR906 einwandfrei.
    Tolle Arbeit.
    Bedanke mich mit 5£ :-)

  23. Michael
    Feb 21st, 2010 at 22:20

    Danke :)

  24. Alex1971
    Feb 28th, 2010 at 18:58

    last.fm Funktion ist echt klasse !!!
    Wäre Sinnvoll wenigstens die “nächster Song” Taste dort nutzen zu können…
    Dann muss man nicht zwischen den Tabs hin und her springen…

  25. hachinga
    Mar 2nd, 2010 at 21:37

    Awesome app! Are you working on a mobile version (hopefully android) too?
    Thanks a lot man!

  26. Michael
    Mar 2nd, 2010 at 23:41

    Not at the moment, unfortunately.