wmaker
(Tommy Long)
September 4, 2018, 3:36am
1
Hi all,
I am having issues with my iTach Remote component and wanted to see if anyone else had similar problems and had found a solution. I have a simple script that sends an IR command to my TV to turn it on, waits a few seconds and then sends an IR command to tell the TV which input source to operate with.
After I restart HA, I test the script and it works perfectly!!
However if I run the script again without a restart, it sometimes doesn’t work, maybe works once, maybe several times, and eventually stops working…In all cases when its not working no IR is being sent out to the TV. I also verified with wireshark that no IR command is being sent out to the GC100.
Again if I restart HA, I test the script and it works perfectly!!
tom_l
September 4, 2018, 4:18am
2
Strange. I have two iTach Flex Ethernet to IR units and they have been faultless.
What does your script and remote code look like?
wmaker
(Tommy Long)
September 4, 2018, 6:19pm
3
I should have added, that when things stop working, its not just the script that stops working.
Even the simple flipping of the “Remote On/Off” switch does not work (no IR output).
With Wireshark running, there is no packet being sent to the GC100, so there is something
broken on the HA side. My guess at the moment is the itachip2ir C++ library, but its just a guess.
tom_l
September 4, 2018, 11:34pm
4
As I said, It’s working perfectly for me so this is unlikely to be the case.
wmaker
(Tommy Long)
September 5, 2018, 1:52pm
5
I was able to setup the logs to capture things…
Case working:
2018-09-04 16:59:00 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=remote, service=turn_off, service_data=entity_id=remote.sharptv>
> 2018-09-04 16:59:01 INFO (SyncWorker_4) [pyitachip2ir] Socket has notification
> 2018-09-04 16:59:01 INFO (SyncWorker_4) [pyitachip2ir] Socket has data
> 2018-09-04 16:59:01 INFO (SyncWorker_4) [pyitachip2ir] Response:completeir,2:3,1
> 2018-09-04 16:59:01 INFO (SyncWorker_4) [pyitachip2ir] Response code:1
2018-09-04 16:59:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=remote.sharptv, old_state=<state remote.sharptv=on; friendly_name=SharpTV @ 2018-09-04T16:28:57.937088-04:00>, new_state=<state remote.sharptv=off; friendly_name=SharpTV @ 2018-09-04T16:59:01.039663-04:00>>
2018-09-04 16:59:01 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]>
Case Not Working:
2018-09-04 23:24:13 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=remote, service=turn_off, service_data=entity_id=remote.sharptv>
2018-09-04 23:24:14 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=remote.sharptv, old_state=<state remote.sharptv=on; friendly_name=SharpTV @ 2018-09-04T16:59:10.136986-04:00>, new_state=<state remote.sharptv=off; friendly_name=SharpTV @ 2018-09-04T23:24:14.253941-04:00>>
2018-09-04 23:24:14 INFO (MainThread) [homeassistant.core] Bus:Handling <Event service_executed[L]>
The difference being, the C++ library (pyitachip2ir) in the failed case does not call its socket for sending data to the GC100.
Unfortunately the logs don’t reveal why.
tom_l
September 6, 2018, 12:24am
6
What does your script and remote code look like?
wmaker
(Tommy Long)
September 6, 2018, 12:36am
7
I’ll just go with the Remote code to keep things simple since it also doesn’t work.
- platform: itach
name: Family Room
host: 192.168.blah.blah
devices:
- name: SharpTV
modaddr: 2
connaddr: 3
commands:
- name: "ON"
data: "0000 0070 0000 0030 000A 0043 000A 001C 000A 001C 000A 001C 000A 001C 000A 001C 000A 0043 000A 0043 000A 001C 000A 0043 000A 001C 000A 001C 000A 001C 000A 0043 000A 001C 000A 06BB 000A 0043 000A 001C 000A 001C 000A 001C 000A 001C 000A 0043 000A 001C 000A 001C 000A 0043 000A 001C 000A 0043 000A 0043 000A 0043 000A 001C 000A 0043 000A 066D 000A 0043 000A 001C 000A 001C 000A 001C 000A 001C 000A 001C 000A 0043 000A 0043 000A 001C 000A 0043 000A 001C 000A 001C 000A 001C 000A 0043 000A 001C 000A 0E74"
- name: "OFF"
data: "0000 0070 0000 0020 000a 0046 000a 001e 000a 001e 000a 001e 000a 0046 000a 0046 000a 0046 000a 001e 000a 0046 000a 001e 000a 001e 000a 0046 000a 001e 000a 0046 000a 001e 000a 0679 000a 0046 000a 001e 000a 001e 000a 001e 000a 0046 000a 001e 000a 001e 000a 0046 000a 001e 000a 0046 000a 0046 000a 001e 000a 0046 000a 001e 000a 0046 000a 0679"
- name: "INPUTVIDEO6"
data: "0000 006D 0000 0020 000a 0046 000a 001e 000a 001e 000a 001e 000a 0046 000a 001e 000a 001e 000a 001e 000a 001e 000a 0046 000a 001e 000a 0046 000a 001e 000a 0046 000a 001e 000a 0679 000a 0046 000a 001e 000a 001e 000a 001e 000a 0046 000a 0046 000a 0046 000a 0046 000a 0046 000a 001e 000a 0046 000a 001e 000a 0046 000a 001e 000a 0046 000a 0679"
wmaker
(Tommy Long)
June 9, 2020, 12:50am
8
I figured out the problem way back when, and just now getting around to posting the solution as someone else recently has run into similar issues.
See here:
along with instructions.
1 Like
tom_l
June 9, 2020, 3:21am
9
Nice solution. Any chance it could be merged with the core component?