WakeOnLan creates configurable PIXERA Control Actions that wake network devices by sending Wake-on-LAN magic packets to their MAC addresses.
Usage
Use this Module to create named Actions for computers, media servers, or other devices that support Wake-on-LAN. Each generated Action stores its optional System IP followed by its MAC address in one Attribute and sends the configured number of magic packets when triggered. The wakeAll Action can wake every configured System in one operation.
Setup
- Enter a
System Namethat is a valid Lua expression usable as an Action name. - Optionally enter
System IPand pressResolve MACto retrieve the MAC address from the local ARP information. The IP address is stored with the System but is used only for this lookup, not for sending Wake-on-LAN packets. Enter the MAC address manually when lookup is unavailable or unnecessary. - Press
Create Or Update. For a new System, the Module rebuilds theSystemsfolder while preserving the other configured Systems. For an existing System, it validates and updates the Attribute directly, then runsinit, without rebuilding the folder or triggering a Control Core Reload. - (Optional) Select the local network interface with
Adapter IPand configure the destination usingBroadcast IPandWake Port. - (Optional) Set
Packet RepetitionsandPacket Interval Ms. The Module accepts 1 to 5 repetitions and an interval from 0 to 5000 milliseconds. - (Optional) Enable
Auto Initor runinitafter changing network settings. Trigger a generatedSystems.<System Name>Action to wake one device, or triggerwakeAllto wake every configured device.
The Attribute of a generated System Action can also be edited directly using System IP;MAC Address, for example 192.168.1.10;AA:BB:CC:DD:EE:FF. The IP portion may be empty, for example ;AA:BB:CC:DD:EE:FF. MAC-only values and the legacy MAC Address;System IP order are also accepted and normalized to System IP;MAC Address. Invalid Attribute input leaves the previously stored value unchanged. Setting an Attribute stores the value; triggering the Action without a value sends the wake packets.
Use Delete System with the corresponding System Name to remove one Action, or Clear All Systems to remove all generated Actions. Creating or deleting Systems, including Clear All Systems, uses dynamic rebuilding and triggers a Control Core Reload. Perform these structural changes during setup. Updating an existing System avoids that reload but still reinitializes the network connection.
Features
- Creates named Wake-on-LAN Actions through Module Properties and updates existing Systems without a dynamic rebuild.
- Stores each optional System IP and normalized MAC address in the corresponding generated Action Attribute.
- Resolves an optional System IP to a MAC address using local ARP information.
- Accepts colon-separated, hyphen-separated, and unseparated MAC address formats.
- Sends standard 102-byte Wake-on-LAN magic packets over UDP broadcast.
- Repeats packets with a configurable repetition count and interval.
- Supports individual wake Actions and the
wakeAllgroup Action. - Supports persistent or automatically closed UDP sockets through
Auto Close Socket.
Actions
| Action | Info | Input | Output |
|---|---|---|---|
| ref | Returns the Module reference for forwarding Action calls through the node system. | - | - |
| init | Loads and validates the network Properties, configures UDP broadcast, and opens the socket when automatic closing is disabled. | - | - |
| uninit | Closes the network socket and clears the initialized Module state. | - | - |
| wakeAll | Sends Wake-on-LAN packets to every configured Action in the Systems folder. |
- | - |
| loadDependencies | Loads the PIXERA helper, JSON, and network dependencies used by the Module. | - | - |
| resolveMac | Resolves System IP through ARP and writes the normalized result to MAC Address. |
- | - |
| normalizeMacAddress | Validates and normalizes a MAC address to uppercase colon-separated notation. | macAddress (string) | - |
| normalizeSystemValue | Validates a combined System value, normalizes its MAC address and optional IPv4 address, and accepts legacy value formats. | systemValue (string) | - |
| validateSystemName | Checks whether a System name is valid for use as a Lua Action name. | systemName (string) | - |
| buildMagicPacket | Builds a 102-byte Wake-on-LAN magic packet for a valid MAC address. | macAddress (string) | - |
| sendMagicPackets | Sends the supplied magic packets using the configured repetition count, interval, and socket behavior. | macAddresses (table) | - |
| buildSystemActionDescription | Builds the dynamic Action description and combined System-IP/MAC Attribute for one System. | systemName (string), macAddress (string), systemIp (string) | - |
| collectSystemDescriptions | Collects and sorts the dynamic System descriptions while applying an optional replacement or deletion. | replacementName (string), replacementMacAddress (string), replacementSystemIp (string), deletedName (string) | - |
| createOrUpdateSystem | Validates the setup Properties, creates new Systems with a dynamic rebuild, or updates an existing System Attribute directly and reinitializes the Module. | - | - |
| deleteSystem | Removes the System Action identified by System Name. |
- | - |
| clearAllSystems | Removes all dynamically generated System Actions. | - | - |
| Systems | Contains the dynamically generated wake Actions and their combined System-IP/MAC Attributes. | FOLDER | FOLDER |
Properties
| Name | Content | Type Hint | Options Source | Options Action |
|---|---|---|---|---|
| System Name | myServer | string | - | - |
| System IP | 192.168.1.10 | string | - | - |
| Resolve MAC | Resolve MAC | button | - | self.resolveMac |
| MAC Address | AC:91:A1:C8:42:65 | string | - | - |
| Create Or Update | Create Or Update | button | - | self.createOrUpdateSystem |
| Delete System | Delete System | button | - | self.deleteSystem |
| Clear All Systems | Clear All Systems | button | - | self.clearAllSystems |
| Adapter IP | Any | string | Utils.Network.getLocalAdapterEntries | - |
| Broadcast IP | 255.255.255.255 | string | - | - |
| Wake Port | 9 | number | - | - |
| Packet Repetitions | 3 | number | - | - |
| Packet Interval Ms | 150 | number | - | - |
| Auto Close Socket | true | bool | - | - |
| Auto Init | true | bool | - | - |
| Description | Creates Wake-on-LAN Actions in the Systems folder. The System Name must be a valid Lua expression that can be used as an Action name. The MAC Address must contain 12 hexadecimal digits and can use colons, hyphens, or no separators, for example AA:BB:CC:DD:EE:FF, AA-BB-CC-DD-EE-FF, or AABBCCDDEEFF. The System IP is optional and used only by Resolve MAC to look up the MAC Address. It is stored together with the MAC Address in the generated System Action as System IP;MAC Address but is not used when sending Wake-on-LAN packets. Enter the MAC Address manually if the IP lookup is unavailable or not needed. Each wake command sends the configured number of packets and waits for the configured interval between repetitions. Use Create Or Update to save the System. | string | - | - |
| Author | AV Stumpfl GmbH | string | - | - |
| Logo | PIXERA logo | image | - | - |
| Documentation | - | documentation | - | - |
| Version | 1.1 | string | - | - |
Changelog
Version 1.1
- Updates existing System Attributes after validating the System Name, MAC Address, and optional System IP, without rebuilding the Systems folder or triggering a Control Core Reload. The Module reinitializes after the update.
- Handles creation when the Systems folder is absent or no callable System Action exists with the selected name.
- Centralizes System Attribute normalization and validation in
normalizeSystemValue, shared by generated System Actions instead of duplicated in every Action body.
Version 1.0
- Stores each generated System Action Attribute as
System IP;MAC Address. - Complete rework of the previous WakeOnLan implementation.
Module Version 1.1 | 20 October 2026 | AV Stumpfl GmbH
