How to control Grandview Projector lift with serial commands via iTach IP2SL

Ok, here is another one I recently got working which was quite frustrating. When using the Global Cache iTach IP2SL you can test commands in ASCII, HEX or mixed with the iTest utility. When sending HEX commands to the Grandview lift it would work perfectly. So I tried passing the same HEX data via a shell command, but got no response from the unit.

After a lot of testing and finally performing a Wireshark, I could confirm the payload data was in fact identical between the iTest utility and what HA was sending. The issue turned out to be HA terminating the IP connection to the IP2SL too quickly. My setup is HAOS, installed via Ubuntu live onto x86 hardware.

Here is the shell command that eventually worked. For anyone wanting to send HEX data to a serial port on an IP2SL, what eventually worked (for me) was adding a delay in the netcat command with -i 1.

### Projector Lift Commands #####################################
### Lift down
projector_lift_down: 'echo -ne "\xFF\xEE\xEE\xEE\xE9" | nc 192.168.1.11 4999 -i 1'

### Lift Up
projector_lift_up: 'echo -ne "\xFF\xEE\xEE\xEE\xC9" | nc 192.168.1.11 4999 -i 1'

### Lift Stop
projector_lift_stop: 'echo -ne "\xFF\xEE\xEE\xEE\xCC" | nc 192.168.15.17 4999 -i 1'

I expect this will work with other devices connected to the IP2SL as well as it is just raw HEX. I then combined the start and stop commands with a delay in a script to get the lift to drop the correct height. Unfortunately these units do not provide any feedback, nor can you specify a height to extend to. So the only option was the start + delay + stop script.

Hopefully that will help someone else trying to use the Grandview lifts or iTach IP2SL.

2 Likes

I created Python script that speaks MQTT with HA and shows as cover.
It controls screen directly with serial port adapter.