News:

HOT TIP! Commands and groups can be copied and pasted directly from your command editor to the forum, and vice versa. This makes sharing command XML on the forum much easier!

Main Menu

Pass payload to serial plugin?

Started by aalmans, February 26, 2012, 11:18:07 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

aalmans

Hi,

I am using VoxCommando to send events to EG and this works really well. This way i control my LG TV with specific serial commands such as:

ka 0 1\r (serial write command to turn on the TV from standby)

The question i have is how to pass variables from  VoxCommando to EG. I would like to use this to set the volume to a specific level. I can generate an event in EG such as:

Broadcast.tv-setvol '10'

I just don't know how to pass the variable "10" to the serial command:

kf 0 {eg.event.payload}\r

What do i need to replace {eg.event.payload} with to have the variable "10" passed on to this serial command so it reads: kf 0 10\r  ??

Thanks for your help!

jitterjames

#1
Hi aalmans.  Welcome to VoxCommando.

{eg.event.payload} is correct.  If you try it with EventGhost's osd action it should work.

The problem is that the plugin you are using is probably just passing the {eg.event.payload} as a literal string instead of replacing it with its value.

To solve this you should be able to write a single line of python script like this:

eg.plugins.Serial.Write('kf 0 '+{eg.event.payload}+'\r')

you can paste the following code into your eventGhost tree to test it:

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1544">
   <Macro Name="Python Script" Expanded="True">
       <Action>
           EventGhost.PythonScript(u"eg.plugins.Serial.Write('kf 0 '+{eg.event.payload})+'\\r')")
       </Action>
   </Macro>
</EventGhost>

aalmans

Thanks jitterjames!

Cannot try if it actually works as i am still waiting for my USB-to-RS232 cable to arrive but thanks for the help so far! Didn't realize you could also write python scripts. Good to know...