View Full Version : How does NetRemote "work"?

Tim K
November 22nd, 2004, 10:56 PM
I'm trying to understand the limitations, capability and basic "how it works" of NetRemote. Before I start asking more and more questions I figure I should just find out how NetRemote works in the first place.

Now, I know there are ways of using girder to send info to NR and check status etc....but for more simple requirements I'd like to know what NetRemote can do on its own. Do you need Girder to be able to add functionality to NR?

I know NR can display web pages but what else can be displayed? Can NetRemote "access" and "read" files on a PC?

For example, could it pull info from a CSV file, so that if I stored a collection of CD's by artist and album I could access a file and display the contents in some fashion? I know there is a DVD Jukebox program that uses girder to allow for viewing and directly playing from DVD collections. If I exported my DVD Profiler DB and pictures into a report or a CSV file....could I then access and view the contents of this file using NR without the help of Girder or is Girder required to "feed" information to NR?

November 23rd, 2004, 03:24 AM
With Girder NR is capable of returning information about and remotely controlling almost anything. Without Girder NR supports interaction with JRMC, WMP, iTunes, Zoom Player and it also supports Direct IR.

I'm no expert on DVD usage but you could try a search of the forum as there is lots of information around.

November 23rd, 2004, 06:21 AM

If you are wanting to have a "DVDJukeBox", I am assuming you will be using zoomplayer or something here. You may as well use LDJ (LUA DVD JukeBox) It is fairly simple to set up and do what you want, althou you will need Girder.

LDJ is currently being worked on, by Mr X! There will be an update to it soon. The version 0.24 is perfectly usable thou.

LDJ also supports DVD Changers as well with the likes of a USB Uirt or you could modify it to use serial control, fairly easily.

Anyway. Sorry to but in it is just that I really like LDJ.

Anyway Bye, Bye! :oops:

November 23rd, 2004, 06:58 AM

As pointed out, NR can control some devices and software directly or via a "pc based server" ie. Girder or any other program that will do a socket connection.

For parsing dvd profiler data or csv files, the easiest would be to use girder and lua to send this data to NR.

November 23rd, 2004, 04:02 PM
I’m going to answer this more broadly than Tim may have been intended. But the question made me think of what I would have liked to have known about NetRemote when I start out on this almost 2 years ago. Maybe others will also find it sets some things in context.

NetRemote presents a series of screens (called Panels) on a PC or Pocket PC, The Panel layouts are designed (using the Tonto editor) and stored in CCF files. On each screen is painted one or more Frames and Buttons. Frames can contain other Frames (nested) and Buttons. Both Frames and Buttons have a text Label and a background and text colour. Buttons also have an image (in fact they have four - for four different states).

Buttons have a series of Actions, which are obeyed when the Button is pressed. Actions can be built-in (like to delay a few ms or jump to a different Panel). But actions are often IR codes. IR codes have a numeric code and a name. IR codes come in two sorts - real codes and pseudo codes. Pseudo codes start with a standard sequence ( 5001 0000 0000 0002 ); Anything else is a normal code. Obeying a normal code sends it out (uninterpreted) to the chosen IR device (e.g. the IRDA output of the Pocket PC).

The interesting things are done with the pseudo codes.

NetRemote has a “plug-in architecture” which means that it accepts a number of Plug-ins or Drivers. Some of these are written by Ben and come as standard. Others are written by third parties (e.g. me). Each of these Drivers does one or more interesting things. Some are purely local (like the standard NRBasic or my AvidUtils). Many talk over the network (usually wireless) to software running on another machine. Examples of this sort are drivers for Girder, Zoom Player or MediaBridge (for music players). The pseudo action codes are all of the form 5001 0000 0000 0002 NNNN XXXX YYYY 0000. The value of NNNN designates the driver. The values XXXX & YYYY together with the IR name are passed to the driver as part of the action. The driver gets these three values and does with them what it will. The Girder driver normally sends the IR name as an Internet Server Event to Girder running on the PC, which interprets it according to its GML setup. Similarly, the Zoom driver sends the commands to the Zoom Player etc.

NetRemote has named variables. These can be set by drivers. The labels of the Buttons and Frames on the Panels can contain variable references (enclosed in curly braces) which appear on screen as the value of the named variable. This is used for feedback from the servers that the drivers are talking to.

NetRemote also supports a script-based programming language LUA. Each CCF file containing the panel layouts can have an associated LUA file. LUA code can be invoked by button actions. It can also be invoked when a variable changes (e.g. because of a driver). The LUA code has access to (and can set) the NetRemote variables. it can change the displayed panel; it can invoke any actions on a driver; the power is unlimited.

For the ambitious, NetRemote also supports a driver interface to allow you to write your own drivers in C++.

I hope this helps a bit.


June 7th, 2005, 11:16 PM
As pointed out, NR can control some devices and software directly or via a "pc based server" ie. Girder or any other program that will do a socket connection
Is there info on using sockets? I run PowerHome and was hoping to put something together this way before the plugin is done.


June 8th, 2005, 01:08 AM

You could download and look at the NetRemoteFeedback.lua file, that would give you an idea.

June 8th, 2005, 10:53 PM
Thanks, I'll check it out...

Uhm, where would I find that? I did a seach but came up dry. :oops:

June 9th, 2005, 01:50 PM

There is a more uptodate version shipped with NR it installs it in the Girder lua folder on your pc

June 9th, 2005, 03:17 PM
Netremote can also have two way communication with Homeseer which will allow you to tap into its power for home automation, light control, temperature control, voice recognition and text to speech so you can turn on and off lights, get motion sensor status, caller ID information, ect. This will allow you to create custom GUI front ends for your home.

With Girder and hsGirder/Homeseer you can essential do anything you want with some work. I think of Netremote as a custom graphical front end creator. I control my lights, control my 5 zone whole house audio setup, get caller ID info, display photos on a digital photo frame, and display local weather information among other functions. I use Fujitsu touch screen tablets and Netremote runs very fast.



December 11th, 2005, 03:10 PM
OK, I finally dug into this, and guess I'm just looking for the documentation on sockets in NR (W and LParams). Unless that wouldn't help me.

December 11th, 2005, 06:24 PM
Well I found out that Tonyno is not using Homeseer and will have to write an interface to Powerhome. So I guess he is looking for technical details as to how to do that.


December 11th, 2005, 08:30 PM
The Generic plugin in NR is a duplicate of the GIP plugin in G4. That might work for you?

December 12th, 2005, 06:09 AM
I did a search on GIP and General Internet Protocol, but came up dry.

Maybe there is a command/message listing in a doc that comes in a download somewhere?

Rob H
December 12th, 2005, 09:26 AM
It comes with Girder 4. Download the trial and you'll get the help file.

December 15th, 2005, 11:14 PM