iTach Wifi2IR way to use with home assistant

i’m using “Global Cache WF2IR iTach Wi-Fi to IR”:

this device can be learn IR signals, and i can send commands to it through TCP socket to make it transmit IR signals. what is the best way to use it through home assistant? should i create an adapter or is there already something i can use?

There’s an integration. It works well.

1 Like

This is great - thanks!

anyone who used it - the format i was using is the output of its IR reader - it is in the “sendir,1:3,1,38461,1,1,343,171,…” format - is there a way to use this original format or it must be convertrd? how do i convert it?

It needs to be converted. There’s a converter utility available for free download on the Global Cache site (iConvert):

https://www.globalcache.com/downloads/

1 Like

Hello!
While I have been successful with getting the iTach IP2IR working with on and off commands, I am not able to send further commands such as “mute” or “hdmi1”.

The kitchen TV, (zone 3) has a mute command, but I am not able to call for that service, even under send command.

I have tried calling service, but it appears as though only on and off are recognized.

I have several iTach IP2IR devices setup; on and off are working perfectly.

Here is my code:

# remote: Moving Remote Files here
  - platform: itach
    host: 192.168.0.60
    devices:
      - name: Master Bathroom Insignia TV
        connaddr: 1
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
      - name: Master Bedroom Insignia TV
        connaddr: 2
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
      - name: Kitchen Insignia TV
        connaddr: 3
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "MUTE"
            data: "0000 006D 0022 0002 0155 00AA 0015 0015 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 0015 0015 0015 0015 0040 0015 0040 0015 0040 0015 0040 0015 0689 0155 0055 0015 0E50"

  - platform: itach
    host: 192.168.0.61
    devices:
      - name: Office Insignia TV
        connaddr: 1
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
      - name: Insignia TV Zone 5
        connaddr: 2
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
      - name: Insignia TV Zone 6
        connaddr: 3
        commands:
          - name: "ON"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"
          - name: "OFF"
            data: "0000 006D 0022 0002 0157 00AC 0015 0016 0015 0041 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0689 0157 0056 0015 0E94"

Does anyone have any advice?

Thanks!!!

thedishking

Please edit your post and format you code correctly. See point 11 here: How to help us help you - or How to ask a good question

It does work. Here is an example of code that works for more than just on/off for me:

- platform: itach
  host: 10.1.1.19
  devices:
    - name: Cinema Amp
      modaddr: 1
      connaddr: 1
      commands:
        - name: "DSP+"
          data: "0000 006D 0000 0026 0154 00AA 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 0015 0016 003F 0016 05B5 0154 0055 0016 0E35 0154 0055 0016 0EC6"
        - name: "DSP-"
          data: "0000 006D 0000 0024 0154 00AA 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 003F 0016 003F 0016 0015 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 0015 0016 003F 0016 05B5 0154 0055 0016 0EC6"
        - name: "Enhancer"
          data: "0000 006D 0000 0024 0154 00AA 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 0015 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 0015 0016 05E0 0154 0055 0016 0EC6"
        - name: "Decode"
          data: "0000 006D 0000 0026 0154 00AA 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 003F 0016 0015 0016 003F 0016 003F 0016 0015 0016 0015 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 003F 0016 003F 0016 003F 0016 0015 0016 05E0 0154 0055 0016 0E35 0154 0055 0016 0EC6"
        - name: "Bass"
          data: "0000 006D 0000 0024 0154 00AA 0016 0015 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 003F 0016 0015 0016 003F 0016 003F 0016 003F 0016 003F 0016 0015 0016 003F 0016 0015 0016 003F 0016 0015 0016 0015 0016 0015 0016 0015 0016 003F 0016 003F 0016 05B5 0154 0055 0016 0EC6"
        - name: "Vol+"
          data: "0000 006A 0000 0024 0154 00B3 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0600 0154 0055 0016 0F18"
        - name: "Vol-"
          data: "0000 006A 0000 0024 0154 00B3 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0600 0154 0055 0016 0F18"
1 Like

Thank you for the motivation!

It was mainly a syntax error on my side.

While remote.turn_on and remote.turn_off worked, I was getting stuck on sending other commands - mute, hdmi1, etc.

I read up on Developer Tools, and found remote.send_command to require “command: MUTE” as an example.

Here is the code that was viewable in Yaml editor:

  command: MUTE
entity_id: remote.kitchen_insignia_tv
service: remote.send_command

I was having trouble automating remote.send_command as I was missing "command: " in front of my entry.

Thank you for your help, and I hope this helps someone else move past this faster than I did.

Hello,
I am wondering if someone can help me with what appears to be a lingering issue.

While I have been successful getting 2 iTach IP2SL units working, that gave me the motivation to get more devices integrated.

Long story short, I feel like the first two GC units are very reliable, but as I write automation against devices further down my yaml file, they are hit and miss.

I have installed the system monitor, and it appears as my CPU is only at 2%. The trouble is it feels like a restart sometimes fixes it, and sometimes does not.

I have 5 iTach IP2IR units on static IP addresses, on Ethernet, that work perfectly with iTest from GC.

The sometimes seem unresponsive.

I am calling them Zones, and 1-3 is the first IP2IR, with 4-6 being the second, and so on.

There is a device on Zone 10 that is very unreliable.

Has anyone else done a large scale installation with these GC devices?

I feel like something minor is wrong, and am wondering if I need to switch to a NUC, but with CPU at 2%, I don’t know if that would help.

I am using a Pi 4, 4GB on Ethernet.

Thank you so much for your help!!!

i find the integration to these devices is very unstable - sometimes commands work sometimes they don’t, and i’m not sure why it behaves like that as i’m using my own implementaion sending TCP data to it which is working PERFECTLY. i was thinking about creating my own custom component to handle the communication with these devices as i am using 2 of them

I had an issue when using a Pi for my home assistant host. Some commands would not be loaded during start up. Restart and a different set would fail to work. I’ve since moved to a mini PC and updated a lot of devices so I rely less on IR now but I have not noticed an issue for quite some time.

Old issue I opened:

That seems above my current knowledge and ability. Is is something you could share for me to dig into?

I would be very interested in this.

Thanks!

I think you nailed it. Looks like the issue lives on.
I would like to try to stay on a Pi, purely from a power consumption point of view.

Maybe in time I may need to migrate to a NUC, PC, etc.
Thanks for the reply.

the protocol is pretty straightforward and described here: https://www.globalcache.com/files/docs/API-iTach.pdf
it is basically a TCP connection sending UTF8 strings in a particular form - see “5.4.6 Sending IR”. for example:
“sendir,1:3,1,38461,1,1,343,171,21,22,21,21,22,21,21,22,21,21,22,21,21,22,21,21,22,64,21,21,22,21,21,64,22,64,21,64,21,64,22,64,21,21,22,64,21,64,21,22,21,64,21,22,21,21,22,21,21,64,22,21,21,22,21,64,21,22,21,64,21,64,22,64,21,1617,343,86,21,3669,343,3800”
this string is a direct result of recording an IR operation from a remote, that’s it. probably will do it when i get some time - thinking about doing it using .net core

Thank you for sharing. I see it is in GC instead of Pronto Hex. Are you finding this to be better? While I was interested in trying the Nuc, I find with 700+ commands in Pronto format, it is very hit and miss.

700 commands might be a bit much, but with the possibilities of Home Assistant, I can see using it as a remote and HA system.

Thanks!

Good evening!
Would it be possible to get a pointer in the right direction on how you are doing this?

While I have successfully tested sending an echo command from the command line interface using netcat, it appears to start a session and is not able to be called as other shell commands are.

Here is the command that works from cli:

echo -e "sendir,1:1,1,38000,1,69,340,170,21,21,21,64,21,64,21,21,21,21,21,21,21,21,21,64,21,64,21,21,21,64,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,64,21,64,21,64,21,64,21,1673,340,85,21,3664\x0D" | nc 192.168.0.63 4998

I am very new but anxious to learn.
Thanks for your help!!!

i will publish a new integration soon enough for this device under netdaemon HASS integration. i’m currently testing it and until now no misses. using Raspberry Pi3.
will post here when it’s available.

1 Like

Sounds awesome! Thanks!

integration is now available through HACS as netdaemon automation - called “Home Assistant to ITach Wifi2IR”

image

It’s not showing up in HACS for me. Got a link to the repository?

Oh, netdaemon. Missed that.