Plugins/Broadcaster

From EventGhost
Jump to: navigation, search
Plugin Information
Name Broadcaster
Authors Kingtd, Bitmonster
Current Version1 2.2.501
Official Website N/A
Forum Page N/A
Source Code [1]
Type General
Source Bundled
Minimum EventGhost Version N/A

1 This is the current version as of this page's last update. Newer versions may be available.

This wiki page may be out of date. Always consult the above website and forum links for possibly updated information.

This plugin listens for and transmits UDP packets. You can use it to get basic EventGhost functionality out of any network device which can similarly react to and/or generate UDP packets.

Overview

UDP stands for User Datagram Protocol. It is a fairly basic network protocol for sending information from one networked device to another. UDP messages (aka packets) have to be short; typically under 1500 bytes, but possibly even smaller depending on your network configuration. There is no guarantee that a UDP message will reach its intended destination, though in practice, most home networks have no problems delivering UDP packets.

UDP messages can be targeted at specific devices on your network, but this plugin takes the simpler approach of broadcasting messages across your entire network. Any device which is listening on the same port that you configure will receive the message.

UDP messages are free-form, but this plugin treats its messages as having two parts: the command, and the payload[1]. Broadcaster creates a UDP message by combining a command with a payload, separated by a delimiter. For example, if you create a Action.pngBroadcast action with "ChangeChannel" as its command and "27" as its payload, the resulting UDP message would look like this on the network (assuming the default plugin configuration):

ChangeChannel&&27

Similarly, when Broadcaster receives a message on its configured UDP port, it looks for its configured delimiter string in the message. If it finds the delimiter, then everything before this delimiter is used as the command, and everything after it is used as the payload. (If it does not find the delimiter, then the entire UDP message is treated as its command.) Thus, the above message would cause EventGhost to trigger a Event.pngBroadcast.ChangeChannel event, with "27" as its event payload.

Configuration

Setting Default Description
Event prefix Broadcast The name to put on the start of events generated by this plugin.
Broadcast zone 255.255.255.255 Network mask of what IP range should receive our UDP packets.
UDP port 33333 Network port upon which to listen for UDP packets.
Listening address your primary LAN IP address Network address to which to listen for UDP packets.
Respond to self broadcast False If you check this option, EventGhost will "hear" the UDP packets it generates, as well as any others it receives at the configured address and port.
Payload delimiter && See Overview above.

Events

Event Payload? Enduring? Description
Event.pngBroadcast.* Y N UDP message received. The event suffix is the command as described above.

Actions

Broadcast

Setting Default {·} Description
Command (no default) Y The command string you wish to send to the remote host. This is required.
Payload (no default) Y The payload string you wish to send to the remote host. This is optional.
UDP port 0 N The port upon which to send the UDP broadcast. If left at 0, the plugin is supposed to broadcast on the port you configured for the plugin, but there appears to be a bug.


Examples

Cross-Computer OSD

If you have two computers on your network that are both running EventGhost, you can use Broadcaster to send messages between them. On the first computer, configure a Action.pngBroadcast action with the command "OSD" and the payload "Hello World". On the second computer, create a macro which listens for a Event.pngBroadcast.OSD event, and use the Action.pngShow OSD action to display eg.event.payload on the screen. When you trigger the action on the first computer, the second computer should show "Hello World" on the screen.

Broadcasting from Other Programs

There are many programs, across a variety of platforms, which can send UDP messages. One such program is PacketSender.[2] These programs will usually ask you to enter a specific IP address to which to send your UDP message. You can get this IP address from Broadcaster's configuration settings.

Or, if you wish to broadcast the message across your network the same way this plugin does, change the final number of the IP address to 255. So for example, if your computer's IP address is 192.168.0.100, then enter 192.168.0.255 into your UDP messaging program, and the message will be sent to every device on your network.


Footnotes

  1. Technically, the entire contents of a UDP packet are its "payload". I call this the "message" instead, to prevent confusion with EventGhost event payloads.
  2. The developers and supporters of EventGhost do not specifically endorse this program, it is merely listed as a free example.

See Also