XReceive plugin : send command to Xlobby

Xlobby plugin development

XReceive plugin : send command to Xlobby

Postby packstlaurent on Sat Sep 02, 2006 4:51 pm

XReceive is a plugin which allowed you to send command to xlobby from other application from your local machin or over a netWork.

I decided to create a new post in the plugin section after this post


Here it is : a new version of XReceive.




The connection is now configurable. You can specifie the port and the ip adress.

The configuration of XReiceve is write in a file called conf.ini in the directory plugins/XReceive/

By default the port will be : 8000
ant the ip Adresse : 127.0.01
the ip adresse is the current ip of the XLobby's machine

but you can specfied your own parameters in the file :
first line : the ip adress
second line : the port

for example :

Code: Select all
192.168.2.100
7756


The parameters taken by XReceive are showned in the Xlobby's setup in the plugin's status.


Xsend.exe has to be used like that :

one argument : the command to send to Xlobby, XSsend will use the default port ( 8000 ) and the default ip adresse (127.0.0.1)

two arguments : the command to send and the port

three arguments : the command to send, the port and the ip adress

for example :

Code: Select all
XSend.exe "command:xlobby:goto screen:menu"
XSend.exe "command:xlobby:goto screen:menu" "7756"
XSend.exe "command:xlobby:goto screen:menu " "7756" "192.168.2.100"


The Xlobby command must respect this format :

Xlobby Commands
Code: Select all
<group name>:<command name>
<group name>:<command name>:<parameter1>
<group name>:<command name>:<parameter1>:<parameter2>
<group name>:<command name>:<parameter1>:<parameter2>:<parameter3>
<group name>:<command name>:<parameter1>:<parameter2>:<parameter3>:<parameter4>


Plugin Commands

Code: Select all
plugin:command:<parameter1>
plugin:command:<parameter1>:<parameter2>
plugin:command:<parameter1>:<parameter2>:<parameter3>
plugin:command:<parameter1>:<parameter2>:<parameter3>:<parameter4>


The command receive by the plugin is available in the Xlobby's variable :

Code: Select all
plugin>XReceive>received


You can download the new version of the plugin here

the archive rar : XReceive.rar

the exe installateur version XReceive.v3.1a.exe


Your comments are welcome

Pack
Last edited by packstlaurent on Tue Sep 05, 2006 9:33 am, edited 2 times in total.
packstlaurent
 
Posts: 27
Joined: Fri Mar 04, 2005 4:47 pm
Location: Brittany

Postby rika on Sat Sep 02, 2006 6:27 pm

This is greate!
Good contribution to the plugins

Rika
rika
 
Posts: 401
Joined: Fri Apr 02, 2004 5:43 am
Location: Sweden

Postby kris on Sun Sep 03, 2006 8:28 am

Hey Pack,

tx a lot for the upgrade !

I've just tried it out but can't seem to get it working

- The installer .exe gave an error 'Repertoire d'installation incorrect' --> so I download the the dll. directly

-created subfolder XReceive in the plugins folder and copied XReceive.dll there
-created a conf.ini text file containing
Code: Select all
192.168.0.11
8000


In the plugin setup screen, the plugin shows up, but has status 'error'

I also tried following combinations

Code: Select all
127.0.01
8001


but gave the same error

my xreceive.dll has version : 1.0.2436.31419
my xlobby.exe is the Aug 24th release version 1.0.2427.35729


Am I missing something... any hints to how getting this plugin to work?

thanks in advance, kris
kris
 
Posts: 12
Joined: Fri Dec 30, 2005 4:49 pm
Location: Belgium

Postby packstlaurent on Sun Sep 03, 2006 10:03 am

In your post you write the ip adress :

127.0.01


Peharps you have write a bad ip adress in the conf file

Try

Code: Select all
127.0.0.1
(with for numbers)
and a port not already use.


I've tried it with the last Xlobby' version (29/08 ) and it seems to work very well...

Does anybody get the same configuration error ?
packstlaurent
 
Posts: 27
Joined: Fri Mar 04, 2005 4:47 pm
Location: Brittany

Postby kris on Mon Sep 04, 2006 10:16 am

The thing with the 127.0.01 was a typo in the post, in the conf.ini file i had the correct one.

Anyway, I've gotten a step closer. It seems that in the conf.ini file I need to add a space (blank) behind the ip-address. If i do that, the plugin will get status 'running', if I do not add the space, it will get status error.

So now I have the plugin running, but he still not picking up the correct ip-address and port number.

I used the exact ip-address and port as in you example but the status screen still shows :"running 127.0.0.1#8000 " instead of "192.168.2.100#7756"

Could you post a copy of you conf.ini file so that I could try that one?

tx, kris
kris
 
Posts: 12
Joined: Fri Dec 30, 2005 4:49 pm
Location: Belgium

Postby packstlaurent on Mon Sep 04, 2006 12:10 pm

XReceive try to parse the ip adress and the port. If it can't, it will use the default values. So if you add a space, it will get a wrong adress and use the default one.


But you have to use the good ip adresse of the machin where XReceive is running. If you use an another one you will get an error.

Please be sure to use the good ip value. You can get your ip adress with the command line "ipconfig" in the Windows command line tools.


Pack
packstlaurent
 
Posts: 27
Joined: Fri Mar 04, 2005 4:47 pm
Location: Brittany

Postby kris on Mon Sep 04, 2006 1:43 pm

Ok,

test with putting the actual address of my Xlobby server --> got parsed correctly and has status running showing correct ip port

I probably misunderstood that the ip-address needed, was the one of the device SENDING the telegram. This is not the case.

Tested it using 2 devices sending ip-telegrams to call up setup screen --> and voilà it works like a charm SUPER cool.

The only thing is, it do not seem to be able to send command with spaces in them.

Code: Select all
command:xlobby:setup

works fine

Code: Select all
command:xlobby:goto screen:music

does not work for me.

In Xsend you can put quotes to make this work, but via the other devices, putting quotes does not seem to solve the issue. Any clues on how to solve this.

Anyway this plugin is defenitely 'closing the loop' in my installation, thanks a lot
kris
 
Posts: 12
Joined: Fri Dec 30, 2005 4:49 pm
Location: Belgium

Postby packstlaurent on Mon Sep 04, 2006 2:51 pm

This a big problem, like the ":" problem.
Perhaps I can replace a special caracter by space. But We have too choose a good one, because all the caracter will be replace by space.

For example :
Code: Select all
goto\#screen


will be replace by
Code: Select all
goto screen
packstlaurent
 
Posts: 27
Joined: Fri Mar 04, 2005 4:47 pm
Location: Brittany

Postby packstlaurent on Mon Sep 04, 2006 6:21 pm

New Release of the plugin.

Now you can use commands with space, you just have to replace spaces by "\#". But you can still use spaces.
You can use ":" when it is surrounded by "&"

exemple :
Code: Select all
command:xlobby:save\#to\#variable:&8:40&:hour



But becarefull !!! :

Use it only for test. I haven't tested it very well.

Many commands syntax have changed.

For example :
Code: Select all
command:xlobby:navigation:down
should be wrote :
Code: Select all
navigation:down


Perhaps other command have changed.

Say me if it is ok !!

PS : only the rar archive has been updated (an old version is include if needed)
Pack
packstlaurent
 
Posts: 27
Joined: Fri Mar 04, 2005 4:47 pm
Location: Brittany

Postby smarty on Mon Sep 04, 2006 8:33 pm

Packstlaurent
I will give the new version a try.....Stay tuned.....it may be a couple of days.

Again, THANK YOU!!!!
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Postby kris on Mon Sep 04, 2006 11:25 pm

Pack,

This new version work perfect form for me, I was able to send "...goto\#screen..." command from another device.
Great news, thanks man, I will be testin a bit more in the comming days.

As for the replacement codes for special codes, maybe we could use the existing codes as used in the URL definitions?

http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_14143

This way we stick to some kind of standard.

thanks again,kris
kris
 
Posts: 12
Joined: Fri Dec 30, 2005 4:49 pm
Location: Belgium

Postby foolio on Tue Sep 05, 2006 12:45 am

How would I issue a command to use a plug?

I am using the ELKM1 plugin.

The default command is

Plug: elkm1

Command: armStayInstant

Variables: 1 0000

I tried:

XSend.exe command:plugin:elkm1:armStay\#1\#0000 7777 192.168.1.15

that doesn't work.

thanks
foolio
 
Posts: 21
Joined: Mon Aug 28, 2006 8:02 pm

Postby foolio on Tue Sep 05, 2006 12:47 am

is it possble to have xsend/xreceive trigger an EVENT instead of a command?

Ie:

xsend event:alarm:armStay

xsend event:skin:music:start visualizaiton?

thanks
foolio
 
Posts: 21
Joined: Mon Aug 28, 2006 8:02 pm

Postby smarty on Tue Sep 05, 2006 1:15 am

Packstlaurent,
I have briefly tried out the new version of this plugin.

After creating the Xreceive folder in the plugin directory and creating the "conf.ini" file with the IP address and port number of the machine (machine where Xreceive folder is created), the plugin appears to be working when I look at it from the F2 screen.

I am able to change button text (as I did before with the older version of this plugin) just fine. However, I tried to send button text surrounded by "&" as you suggest and it appears not to work.

This is what I am sending is (sending from the same machine):

xsend.exe "command:xlobby:button set text:screenname:&8:12am&"

What gets displayed on the button is only "&8". It appears that the colon is still acted on even when surrrounded by "&"s.
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Ignore My Previous Post.....It works!!!

Postby smarty on Tue Sep 05, 2006 2:08 am

Please ignore my last post. I had the older version of XReceive running instead of the new version. The new version does appear to handle the ":"s just fine. This is what worked for me.......

Format for Xsend command line:

xsend.exe "command:xlobby:button set text:wakeup:&8:12:00 am&" 8000 192.168.0.101

The IP address is the address on the machine where Xreceive is.

Thanks Packstlaurent
smarty
 
Posts: 179
Joined: Thu Jul 27, 2006 12:04 am
Location: San Antonio, TX USA

Next