View Full Version : Netremote with Global Cache for IR

March 18th, 2010, 04:21 AM
I’m new to Netremote and apologise for my ignorance. All I am trying to do is a simple IR transmission from a Global Cache GC-100 initiated by the Netremote PC Client but I cannot achieve it – there is no IR transmission from the GC (no indication on the light on the GC box or the attached emitter). Any and all advice is gratefully welcomed.

The attached file is my simple one button CCF. I’ve also tried adding an Action to define the correct GC IR port but this did not work either.

I have configured the Netremote PC client plugin to recognize the GC at the correct IP address and the “test” button returns status as “Connected” and “test complete”.

I can successfully send IR commands from the same PC to the same GC using the utilities provided by Global Cache.

What am I doing wrong?

Rob H
March 18th, 2010, 03:30 PM
Can you try installing DebugView from http://technet.microsoft.com/en-gb/sysinternals/bb896647.aspx and see what gets logged when you try your IR code.

March 18th, 2010, 04:40 PM
Log from DebugView is attached.


March 18th, 2010, 04:48 PM
File didn't appear to be attached to my post.

Here's the log:

00000000 0.00000000 [1968] 07:28:09.459] ScriptEngine] INIT: Loading hotkeys
00000001 0.00138328 [1968] 07:28:09.459] ScriptEngine] Couldn't load pronto font resource
00000002 0.00154933 [1968] 07:28:09.459] ScriptEngine] INIT: Loading drivers
00000003 0.00173705 [1968] 07:28:09.459] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_avidutils.dll
00000004 0.00370954 [1968] 07:28:09.459] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_flash.dll
00000005 0.00636763 [1968] 07:28:09.459] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_generic.dll
00000006 0.00894329 [1968] 07:28:09.459] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_girder.dll
00000007 0.01182465 [1968] 07:28:09.459] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_ir.dll
00000008 0.01445234 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_mediabridge.d ll
00000009 0.01742922 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_nrbasic.dll
00000010 0.02028017 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_webbrowser.dl l
00000011 0.02267897 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_webserver.dll
00000012 0.02541145 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_wol.dll
00000013 0.02775307 [1968] 07:28:09.475] ScriptEngine] C:\Program Files\Promixis\NetRemote\plugins\drv_zoom.dll
00000014 0.02969763 [1968] 07:28:09.490] ScriptEngine] INIT: Getting skin filename
00000015 0.03013150 [1968] 07:28:09.490] ScriptEngine] INIT: Attempting to load ccf
00000016 0.05883247 [1968] 07:28:09.506] ScriptEngine] Creating CCF object
00000017 0.07063568 [1968] 07:28:09.522] ScriptEngine] Enabling callbacks
00000018 0.07072186 [1968] 07:28:09.522] ScriptEngine] Initializing lua
00000019 0.08370418 [1968] 07:28:09.537] ScriptEngine] INIT: CCF Loaded
00000020 1.12285364 [1968] 07:28:10.584] ScriptEngine] Creating default instance -1018
00000021 8.37349510 [1968] 07:28:17.834] ScriptEngine] Creating default instance -1014
00000022 8.37376022 [1968] 07:28:17.834] ScriptEngine] Creating default instance -999
00000023 8.37397861 [1968] 07:28:17.834] ScriptEngine] Creating instance -50
00000024 8.37469959 [1968] 07:28:17.834] ScriptEngine] Created instance -50
00000025 8.37513351 [1968] 07:28:17.834] ScriptEngine] Creating instance -30
00000026 8.37523460 [1968] 07:28:17.834] ScriptEngine] Created instance -30
00000027 8.37541199 [1968] 07:28:17.834] ScriptEngine] Creating instance -4
00000028 8.37552547 [1968] 07:28:17.834] ScriptEngine] Created instance -4
00000029 8.37563419 [1968] 07:28:17.834] ScriptEngine] Creating default instance -2
00000030 8.37587070 [1968] 07:28:17.834] ScriptEngine] Creating instance -2003
00000031 8.37891388 [1968] UUIRTOpen: ThreadID = 000009ec
00000032 8.40297699 [1968] Creating New Global Set!
00000033 8.40303516 [1968] Starting IRThread
00000034 8.40310097 [1968] Now taking over dispatch ownership!
00000035 8.62646961 [1968] UUIRTClose: ThreadID = 000009ec, Handle:0016dfa8
00000036 12.61545658 [1968] 07:28:22.068] Infrared] Initializing socket
00000037 12.61634827 [1968] 07:28:22.068] ScriptEngine] Created instance -2003
00000038 12.62226009 [1968] 07:28:22.068] PluginSocket [Infrared:-2003]] TCP/IP Socket connected (attempting handshake)
00000039 12.62261295 [1968] 07:28:22.084] PluginSocket [Infrared:-2003]] Handshake successful - socket connected
00000040 12.62271786 [1968] 07:28:22.084] PluginSocket [Infrared:-2003]] Socket connected
00000041 12.88941574 [1968] 07:28:22.350] ScriptEngine] Total time : 31
00000042 26.44604683 [1968] 07:28:35.897] Infrared] stopir,4:1
00000043 26.54394150 [1968] 07:28:36.006] Infrared] Sent stop to GC device

Rob H
March 18th, 2010, 06:45 PM
That sort of looks okay to me, although it's only sending the stopir command - unfortunately I don't have a GC here to compare it against.

March 19th, 2010, 02:41 AM
I would have thought there would be a sendir command.

Surely there's plenty of users with a requirement to use NR to drive a Global Cache for IR. Who do I turn to?

Rob H
March 19th, 2010, 06:45 AM
Hmm... from looking at the code for this, it appears that it doesn't log the sendir command for some reason.

Where did the IR code come from?

March 19th, 2010, 09:06 AM
Thanks for your help Rob

The IR code came from the Global Cache IR learn utility - I'm happy to try something else; what alternative do you suggest?

Surely the contents of the IR code is not the issue - we don't seem to be sending a sendir command to the the Global cache that initiates any IR transmission. I'm less concerned about the validity of the IR transmission than the inabiltity to initiate ANY IR transmission from the Global Cache!

I've also tried the attached ccf from a forum post that does not initiate any IR transmission from the Global Cache (on my set up).

There is a fundamental problem here - something I have not set up correctly or a bug in NR or NRD.

Rob H
March 19th, 2010, 12:25 PM
As I say, the sendir command isn't being logged in the code for some reason. There are log messages for the case when the command fails though, so it's probably being sent. You could probably use something like Wireshark - www.wireshark.org to see what is being sent and received to/from the GC if you want to convince yourself that the sendir command is being transmitted.

March 19th, 2010, 09:15 PM
I'm out of my depth trying to interp the wireshark output . I'd appreciate you having a look at it if you have time. (I zipped the file as it would not attach in the original form)

Rob H
March 20th, 2010, 08:23 AM
Well, it looks to me as though you're trying to send IR to module 4 port 3, but I'm not sure why it's doing that from either of the CCFs you've sent.

The GC is happily acknowledging it, but I'm guessing you don't have an emitter on that port.

Can you try adding a button that adds a set Global Cache IR Port number to 0 and see if that helps.

March 21st, 2010, 04:39 PM
As I understand it, the Global Cache should flash the LED above the port when it sends an IR transmission - I'm not getting a response on any port.

I've changed the CCF to set the GC port to 0 - no change - attached a wireshark log.

Rob H
March 22nd, 2010, 10:46 AM
Hmm... that seems to be sending to 4,1 which seems a bit odd.

Could someone who uses a GlobalCaché check what happens with a successful IR send?

March 26th, 2010, 08:52 PM
Thanks for your help Rob but it seems there's nobody out there that can resolve this via the forum. I thought that this was a basic task for NR.

Have you got any advice on how I get this sorted out?

Rob H
March 26th, 2010, 09:11 PM
It's probably something really simple - I suppose you could try seeing what happens when you send the IR from Lua - but that will just use the same underlying mechanism. See this thread http://www.promixis.com/forums/showthread.php?t=17771&highlight=SendIR

I can't believe that GlobalCaché owners here have nothing to add to this thread.

I'm still concerned about the port number that is being used.

March 27th, 2010, 07:00 PM
Here's a LUA example that was previously working for me:

function Emit( szCommand )

-- Retrieve the IR plugin
local irplugin = NetRemote.GetPlugin( -3 );

-- Bail out if there's no IR plug-in
if ( irplugin == nil ) then
print( "ERROR: No IR plug-in available." );

-- Retrieve its current instance
local irinstance = irplugin:GetCurrentInstance( );

-- Bail out if there's no IR instance
if ( irinstance == nil ) then
print( "ERROR: No IR instance available." );

-- Select the port (only applies to GlobalCache; irrelevant on other emitters)
irinstance:SetPortNumber( 0 );

if ( szCommand == nil ) then
print( "nil device command." );
-- Use string format, and use repeat (true or false)
irinstance:SendIR( irinstance.PRONTO_STRING, true, szCommand );


-- Let the instance know that we're done sending it IR codes for now
irinstance:StopIR( );


March 29th, 2010, 06:41 AM
Thanks. I can't get this to work either but that's probably because I haven't invested any time in working/understanding Lua.

I'm trying to keep things simple. If I can't get NR to talk to the Global Cache for IR by just defining an Action, I guess I'll have to try Girder. I was trying to avoid having a PC running full time but it appears Girder is going to be my simplest solution.

Rob H
March 29th, 2010, 08:29 AM
It's definitely worth giving Girder a try to see if that works okay for you - and maybe compare the WireShark output to see what is different if you are successful that way.