Begging for Onkyo Help

Let me lead off that I am not a programmer - I know enough to be dangerous - and the programmers in my life don’t work in languages similar enough to Groovy to be helpful anytime soon.

Allan Klein wrote a Device Handler for Onkyo Receivers 3 years ago that overall works pretty well. It has tiles for the different inputs that are configurable, etc. However, as tiles, they cannot be addressed in automations. I was reading up on the Composite Devices functionality, and that seems to me to be the solution. I have read the tutorial repeatedly, and stared blankly at the Groovy code, and I still don’t have a clue even where to start.

Could someone with Composite Device Handler experience take a few minutes to convert the tiles into addressable devices? I’d be forever grateful.

Allan’s code: https://github.com/allanak/SmartThings/blob/master/onkyoIP.groovy
Tutorial I’ve been reading: https://docs.smartthings.com/en/latest/composite-devices/index.html

1 Like

I’m not an expert coder either. However, I did take a peek at the DH. Do you use WebCore? I believe you could get at the functionality already in the DH via WebCore, with no or very little change to the DH. It looks like there is a list of commands exposed. These are the same commands the tiles access. I think that because they are listed as commands you can use them in WebCore which will allow all manner of automations.

capability "Switch"
capability "Music Player"
command "cable"
command "stb"
command "pc"
command "net"
command "aux"
command "z2on"
command "z2off"
command "makeNetworkId", ["string","string"]
}

I have not used WebCore yet, no. I’m running through the tutorial now. Yeah, it looks like I could create virtual switches, then trigger the different inputs via WebCore. Thanks for the breadcrumbs!

It’s going to be a learning curve, but I have the basic functionality working now with WebCore. Thanks, so much!

Dear all, I’m a New user of Smartthings (google home and Alexa user from 2 years). I’m at the beginning of the configuration and trying to integrate all my devices, I happened here for my Onkyo TX-NR636.
Would anyone be so kind to give me info on how to do it from scratch? A guide to follow? I’m not a programmer, I don’t know where to start. Thank you all

Start in the Wiki How to.

As for the Onkyo, this worked for me.

1 Like

Many thanks for your help. I’m a beginner with smarthings, but I was able to add all my Netatmo meteo station and my Neato Robot. For both devices I had to add SmartApp and DeviceHandlers. I found a very clear explanation on this site and I did it.
Here for Onkyo the situation is different, I created the device handler with that code, but I have no idea if it is correct to do this.

I have read these indications Usage:

    1. Be sure you have enabled control of the receiver via the network under the settings on your receiver.
      ok
    1. Add this code as a device handler in the SmartThings IDE
      ok
    1. Create a device using OnkyoIP as the device handler using a hexadecimal representation of IP:port as the device network ID value
      ??? this I don’t understand
  • For example, a receiver at 192.168.1.222:60128 would have a device network ID of C0A801DE:EAE0
  • Note: Port 60128 is the default Onkyo eISCP port so you shouldn’t need to change anything after the colon
    1. Enjoy the new functionality of the SmartThings app

do you have any advice to give me about it? Thanks

You need to convert the IP address of your ONKYO to Hexadecimal.
Go to any IP to Hex online converter and put in your IP.
Here is an example site. https://miniwebtool.com/ip-address-to-hex-converter/
Using that generated hex code, create a new device in your IDE and make the device network ID the code that was just generated plus :EAEO.

1 Like

Thank you, I know the ip of my onkyo, but i dont know where i s the port. It the example is write 192.168.1.222:60128 but i don’t understand where is the port of my onkyo. I can use the same? I don’t know if I have to open the door in and especially where I have to open.

You should be able to use the same port, 60128 converted to hex is EAEO.

The “port” we are referring to is a software communication ports, not an actual physical port.

1 Like

Thank you, now I understand the solution for make a esa code. Thank you. This evening I try to add my Onkyo.

Sorry bro, I don’t understand where I have to paste my hex code :pensive:

Has anyone had any luck making this work in Europe?

1 Like

I would like to submit my problem in the hope that someone will be able to clarify my big problem in using my Onkyo TX-NR636 with SmartThings

I did exactly what was requested but it doesn’t work.
I bring you all the information of what I did, maybe I did something wrong:

I created the Device Handler by simply copying the code from here:


I pasted it on code, I do “create” , “save” and “Publish for me”

I created the device from my control panel:
https://graph-eu01-euwest1.api.smartthings.com/device/list

Name Onkyo TX-NR636
Label Onkyo TX-NR636
Type onkyoIP (Device Handlers)
Version Published
Device Network Id C0A80107:EAE0
Status ACTIVE
Data No data found for device
Execution Location Cloud

The device is added, I see it among my devices from the app, but whatever I press does not work, nothing happens.
Being in Italy I use SmartThings on European servers, among the messages I only see American users. Could it be that this device handler only works for America?

Granzy helped me a lot and we did a lot of tests, but we had to give up because we don’t know what to try anymore.

no luck
can “see” the onkyo
but nothing happens…

any one any success ???

1 Like

Exactly… Last week I try again, I see the Onkyo, same time work, same time no… I have cancel the virtual Device and stop to try.

@lidans5 are you in Europe or US?

I’m in the middle east using the ST Europe , how does it matter ?

Just like with @Diegocampy it seems to only work in North America, I may be wrong though.

same time work, same time no… I may well have done something wrong, but things to do seem simple now that I understand them, this is the result. I think that if I did something wrong it should never go, but sometimes it works, sometimes it doesn’t. Maybe quarrels between various servers … I don’t know