Onkyo / Integra Integration IP to Serial

Hello,

I have an spare Integra Receiver/Amplifier. It is part of Onkyo and I believe it uses the same protocol. I tried to add a media device along with my Denon:

media_player:

  • platform: denonavr
    host: 192.168.1.22
    name: Denon MAIN
    show_all_sources: true
    timeout: 2
    zones:
    • zone: Zone2
      name: Denon ZN2
  • platform: onkyo
    host: 192.168.1.28
    port: 2401
    name: INTEGRA
    sources:
    cd: ‘IP232’

The Denon was recognized automatically, but I added the configuration to take advantage of Zone 2. Denon is working well.

One issue with the Integra Amplifier is that it only has a Serial Port on the back. I can communicate to it via Putty over IP with a device called an ELK IP232 (https://www.elkproducts.com/products/elk-ip232-serial-to-ethernet-converter). I specify an IP and Port in its configuration tool and I can send it messages via Putty. For example, !1PWR01 will power on the amp, and !1PWR00 will power it off. Using the above added to my configuration.yaml, Home Assistant adds a media device as media_player.integra, but the amplifier does not respond when I power it on via the entity window.

I will need to get my null modem from work, and then connect the serial port of the IP232 to my computer to see if anything is being sent, but was wondering if y’all had some ideas in the meantime.

Thank You,

Nate

OK. Progress has been made. I had a thought that the Onkyo Protocol (onkyo.py) was hard coded to use port 60128 the default communication port for an IP based Onkyo Receiver.

So now the IP is programmed in configuration.yaml and the port is dealt with by something I am not sure about. I also configured my IP/Serial device to Port 60128 as well thinking that if it responds correctly with the receivers message, then Home Assistant should be none the wiser.

  • platform: denonavr
    host: 192.168.1.22
    name: Denon MAIN
    show_all_sources: true
    timeout: 2
    zones:
    • zone: Zone2
      name: Denon ZN2
  • platform: onkyo
    host: 192.168.1.28
    name: INTEGRA
    sources:
    cd: ‘IP232’

With the IP/Serial device connected to the receiver, I connected to 192.168.1.28 Port 60128 via putty, I get an endless string of power status messages depending on the state; !1PWR01 or !1PWR00. I connected a null modem to the IP/Serial device connected to a USB/Serial Cable connected to my computer to see what Home Assistant was sending. Using Putty on COM3, I see ISCP !1PWRQSTN repeated maybe every 10 seconds, which appears to be a status request from Home Assistant. With everything connected normally to the receiver and with the receiver powered off, I can press the power button in Home Assistant and have it power on, but Home Assistant does not respond/change state, when the receiver responds with !1PWR01.

Any thoughts on how to get the reply acknowledged by Home Assistant? Is there a file that compares the reply to ensure it is valid?

Thank You.

Just FYI (even though is is a rather old thread):
Onkyo’s Serial Protocol is called ISCP. It works through as RS-232 Port on the back of the unit.
For their network capable Receivers (which - since a few years - should be all receivers they sell), you can also use it through LAN (TCP). The Protocol is then called eISCP. It is the same protocol, but with a different stream2packet layer (They added a 16 Byte header).
Home Assistant uses the Python Package onkyo-eiscp to communicate to Onkyo units, which CAN ONLY talk with the ethernet (eISCP) protocol. Serial-to-TCP converters won’t work with this addon, because it uses and waits for the eISCP Headers.
I have however created a github project which packetizes ISCP as eISCP. Maybe this is of help for someone who stumbles across this post. All you need is a WiFi Module aka ESP8266.
With the my firmware on this module, older AVRs should behave exactly like the newer ones, so onkyo-eiscp and therefore Home Assistant (as well as every other eiscp-capable client, maybe even the official onkyo app) should work with these older receivers.

this is awesome, thank you!

Good job!! Congrats. Does anybody have the updated protocol for eISCP or even ISCP?? I want to controll the newst brand model from Integra… and would like to check some new commands…

Inspired by @cl0rm 's project, I’ve created an eiscp to iscp relay server that can connect to the receiver directly via serial or via a serial to ethernet server.