I do this with X10 on my systems.
Here is how I do it...
Install EG on each machine, link their XML files back to the fileserver.
On the Automation server I setup the entire lighting control Events, basically I only do "scene" controls.
In EG looks like:
Event:
TCP.NightMode ['192.168.1.3']
Actions:
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="908">
<Macro Name="Night Mode" Expanded="True">
<Event Name="TCP.NightMode">
</Event>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'e1 off', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'e2 off', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'e3 off', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'e3 dim 40%', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'e4 on', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'b1 off', 3, False, 2, u'')
</Action>
<Action>
EventGhost.Wait(0.10000000000000001)
</Action>
<Action>
System.Execute(u'C:\\Program Files\\Home Control\\x10com32.exe', u'b1 on', 3, False, 2, u'')
</Action>
</Macro>
</EventGhost>
Then on each touchscreen all you do is run EG in "lite" mode only having a network sender installed.
You can call it like this.
EventGhost.exe -n 192.168.1.2:1234 1234 NightMode
(EventGhost.exe -n {Host}:{Port} {Password} {Eventname})
Works like a charm.
