iTach IP2SL

Hi!
I have an iTach IP2SL device to control my Amplifier - how can I get that to work ? I’ve seen the remote device inhass for their IR devices - but nothing about the serial :frowning: can it be used the same way, how should data be formatted if so ?

Serial devices are not supported at the moment. I’d be interested in adding support but I dont have access to an IP2SL device.

1 Like

@Magnus_Strom would you be interested in testing a custom hass build that supported IP2SL devices? If you are comfortable with that I could attempt to add support and you could try it out.

I have an Itach flex to serial and a flex to IR…

I found these other resources:

https://github.com/mhilbush/org.openhab.binding.globalcache

I too would love to know how to use the serial command. I am using it to control a projector.

I have tried tinglis1’s IP2SL component which uses the notify framework. Since it needs to pass hex data to the IP socket I had to make some changes, because it was throwing errors. It needs hex characters presented as ascii because the notify framework does not like control characters:
“0B00010401012C01000023” # Mute Bose T20 system

The code in IP2SL needs to be adapted somewhat to ensure this string is turned into true hex. Also the response needs to be trapped and printed to the log for interpretation. I have changed the IP2SL code to reflect these requirements.

I have used tinglis1/home-assistant-custom to change his setup for use with serial devices which require hex commands and respond with hex characters. I have tested this on the Bose T20 serial port with all available key press commands. The solution involves importing base64 as suggested by iTach support.
The hex characters are provided as data in the following format “0B000701C2” as a text string. This is because the notify framework does not send hex characters when they are in the none text character range.
I have made small changes to IP2SL to ensure this ascii string is converted in to hex bytes in python: b’0B000701C2’ and I have left a few lines which can be commented out for debugging purposes.
And finally I have ensured the hex response is properly trapped after sending the command to ensure the programmer can interpret the hex response.
The Bose T20 hex command table and full documentation is available on request.

Alan, I don’t know if you got anybody to test, but I’d be happy to. I have several IP2SL devices I’d like to integrate, and the first one takes really simple commands as shown here: https://parasound.com/pdfs/JC2RS232.pdf. The IP2SL uses two ports: 4998 for control, and 4999 for data to and from.

Did you ever get this working Magnus ?

New to home assistant and this is something I have in my setup, keen to know how best to get it working.

Thanks in advance

Hi!
I never got to try this out - got another system in parallel so got put on the side. Hope to get to it sometime though :slight_smile:

@tinglis1 I found your IP2SL notify procedure in this thread, followed the instructions but I am getting the following error in my logs … you able to help at all ?

2019-02-11 16:54:02 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform ip2sl

I haven’t used my custom component in some time so cannot help with this issue.

You may be able to get the gc100 component to do the same thing though.

In addition to physical IP2SL/Flex devices in my home automation setup, I wanted to have IP2SL clients also connect to serial ports on my Raspberry Pi, so recently created Virtual IP2SL (and associated Home Assistant Hass.io Add-on for easily installing it). Hope this is useful to others.

While this isn’t an IP2SL client, it enables other clients to connect to serial devices on a Raspberry Pi (or other server).

Some improvements to error handling and dealing with conditions like missing serial devices still need to be implemented, but would be good to get feedback from other users. Also the multicast discovery beacon does not seem to be propagating beyond the Docker container (but manual IP and port configuration works fine).

Hello,
@alanf is your offer still standing? :slightly_smiling_face: I would love to be able to use my Itach Flex Serial with home assistant. I can help debug/test it but while I have basic programmation knowledge I don’t think I’ll be able to do it myself.

I would gladly help you test it if you want still want to do it.

Jeremy

I’d love to get my serial flex up and running. Following this with interest still!

Hi there,

I’m really struggling to implement rs232 control of my very old, but working and too expensive to replace Sonance 6 zone amp. I had a previous control system working but am migrating to Home Assistant and would love to integrate this amp. I had previous controlled it with an app called irule that utilized ip2sl for serial control of the amp, and it works perfectly. I’ve tried sending TCP commands to the ip2sl with scripts and had no luck there. I then stumbled on your virtual ip2sl. I have it installed and configured with the 19200 baud expected. I have a Prolific_Technology_Inc._USB-Serial_Controller_D and my hassio running on rpi4 seems to recognize it. on /dev/ttyUSB0.

Now, what method do I use to send commands? Is it just sent with a script? I was looking for some examples and couldn’t find any.

zone 2 power on commands that I can sent with global cache itest are
base command: :Z21
hex version 3a 5a 32 31 0d or \x3a\x5a\x32\x31\x0d
with included carriage return: :Z21\x0D

When I was trying to use the harware ip2sl i was calling it with a script
‘’’
shell_command:
zone2_on: echo “:Z21” | nc 192.168.1.114 4999
‘’’
I then tried directly connecting pi to amp with this

‘’’
shell_command:
zone2_on: /bin/bash -c “echo ‘:Z21’ >> /dev/ttyUSB0”
‘’’

No luck with either of those (and multiple changes to the command code and syntax

Now I’ve got your virtual version installed but am not sure how to send commands via it.

Any guidance would be very helpful, thanks.

@SeldomSeen31 I stopped using IP2SL for my use case. You basically need an IP2SL client to interact with it…which doesn’t exist easily in Home Assistant (I’m hoping someone adds socat client in the future as part of Home Assistant core so you can just map /dev/tty* devices to remote hosts exposing serial command interface like IP2SL).

I ended up implementing a native HASS integration for my Xantech 12-zone amp via direct RS232 connection: https://github.com/rsnodgrass/hass-xantech

You might do something similar by implementing the RS232 protocol for your Sonance. You might even be able to copy my Xantech integration and change the RS232 mappings. I found the following for a 6-zone amp and it seemed fairly straightforward.

https://www.sonance.com/assets/media/files/downloads/C4630SEManual_Final8_040213.pdf

I don’t know if it will work, but I added some quick protocol definitions for the above Sonance to pyxantech client, you might experiment with using the example command line client in pyxantech to see if you can get it working and then fork this for your Sonance protocol.

1 Like

Thank you for taking a look at this. As you’ve found, there is not a simple plug and play solution for serial communication in Home Assistant.

I’m extremely new to all of this. I’ve hesitated to dig in deeply with HA because of this piece of equipment. We use it all the time and going all in with HA if I can’t use it for multi room audio, then I don’t see the point. So, figuring this out is what needs to happen for me to move forward with converting my home to using HA.

The Sonance 4630 is the amp that I have. so thanks for digging all that up. I’ll try to tinker with this. I’m a little uncertain about how to proceed with what you’ve suggested with this:

My Sonos Connect has hit end of life so is no longer getting updates or support (and is getting more and more flaky in everyday use) so that the trigger for me to start exploring open source options for whole home audio. I already had the amp and bunch of Pis sitting around so running Volumio or similar was what got me to Home Assistant. Never figured the hang up would be turning the amp on and off and setting the volume there.

Anway, I’ll thanks for your time and effort here to help a novice.

Hi @ryans - Hate to bump an old thread like this, but I stumbled upon your xantech github integration for hass and I want to give it a try.

I was trying to add your integration repository, but it seems that the store has revved a few times and I can’t get it your integration to be added. (it also doesn’t help that the hass help page on adding new repositories is out of date as well).

I was hoping you might tell me how I can add this to the store?

I’m using a usr-tcp232-302 ethernet to serial device that I’m hoping will work with your integration, and wanted to test it out.

Thanks in advance!

I have this module running after some weeks messing with a tcp to serial adapter that turned out to be banjaxed.

I had to make a couple of tiny changes to the module to have HASS not moan and groan. I’ll be a laptop later this evening and will create a Pull Request for @ryans to review and complete.

This should help a bit.

The module is working well so far from the limited testing I have done - zones are turning on and off and volume changes are being accepted.

I do have an extended 16 zone matrix but currently the module only assumes 8 zones. I’m deciding if I just sell the second amp as it’s not in used for a few years.

Btw. Welcome to home assistant!!

Hey thanks for the welcome! I’m very new to HA and unbelievably this is the first thing I’m trying to do. Well, I am trying to connect my thermostat as well now and will try other things too eventually.

It sounds like you have quite the experience with this module - were you connecting to a Xantech MRC88 as well by chance? I would love to hear your experience. I’ve went down the rabbit hole reading all about the Xantech and their other peripherals (they have a 8x1 serial adapter that has IR capability that I was thinking of as an alternative if I can’t get HA to work with it).

I’m trying to test my Serial to ethernet, but I’m not sure I understand the test program they shipped with it and I’m going to reach out on their support to see what I’m doing wrong - my first worry is that the serial cable I have may not work since Xantech uses that RS422 protocol.

Looking forward to trying it out!