Install
openclaw skills install @leeyeel/wolpWake or shut down LAN devices by sending WOL-plus packets from the agent host. Use this when the user wants to power on a device with a raw Ethernet magic packet, or power off a device with a UDP magic packet, and they can provide the target MAC address plus the network interface or target IPv4 address.
openclaw skills install @leeyeel/wolpUse this skill when the user wants the agent to control a device on the local network.
Supported operations:
wake: send a standard UDP Wake-on-LAN magic packet with Pythonshutdown: send a UDP magic packet to a target IPv4 addresslist: print the resolved device inventoryUse the bundled Python script:
scripts/wolp_power.pyassets/devices.jsonRequired inputs:
255.255.255.2559extra_data, default FF:FF:FF:FF:FF:FF9Constraints:
shutdown uses a normal UDP socket and does not require root.wake uses the Python package wakeonlan and does not require a compiled helper.python3 -m pip install wakeonlan
wake subcommand will print a clear error if wakeonlan is missing.shutdown requires IP connectivity to the target host and a compatible WOL-plus listener on the target machine.Device inventory:
skill/wolp/assets/devices.json.wake and shutdown commands automatically write the resolved device info back to assets/devices.json.--device <name> is provided, that entry is updated in place; otherwise the script reuses an existing entry with the same MAC or creates a new device-<mac> entry.{
"defaults": {
"broadcast_ip": "255.255.255.255",
"port": 9,
"extra_data": "FF:FF:FF:FF:FF:FF"
},
"devices": {
"nas": {
"mac": "AA:BB:CC:DD:EE:FF",
"host": "192.168.1.50",
"broadcast_ip": "192.168.1.255"
},
"desktop": {
"mac": "11:22:33:44:55:66",
"host": "192.168.1.60",
"extra_data": "12:34:56:78:9A:BC",
"last_action": "shutdown",
"last_success_at": "2026-03-21T00:00:00Z",
"port": 9
}
}
}
list before sending if you need to inspect or verify stored devices.Preferred commands:
python3 skill/wolp/scripts/wolp_power.py list
python3 skill/wolp/scripts/wolp_power.py wake --device nas
python3 skill/wolp/scripts/wolp_power.py shutdown --device nas
python3 skill/wolp/scripts/wolp_power.py wake --mac AA:BB:CC:DD:EE:FF
python3 skill/wolp/scripts/wolp_power.py wake --mac AA:BB:CC:DD:EE:FF --broadcast-ip 192.168.1.255 --port 9
python3 skill/wolp/scripts/wolp_power.py shutdown --host 192.168.1.50 --mac AA:BB:CC:DD:EE:FF --extra-data FF:FF:FF:FF:FF:FF --port 9
For safe previews or debugging, use --dry-run first:
python3 skill/wolp/scripts/wolp_power.py wake --device nas --dry-run
python3 skill/wolp/scripts/wolp_power.py shutdown --device nas --dry-run
Client install and config:
https://github.com/leeyeel/WOL-plushttps://github.com/leeyeel/WOL-plus/releaseshttp://<client-ip>:2025adminadmin123Agent standard install procedure:
amd64 or arm64/aarch64installer_windows_amd64_v<version>.exe from Releaseshttp://<windows-ip>:2025sudo dpkg -i wolp-client_<version>_amd64.deb
sudo systemctl status wolp.service
sudo rpm -ivh wolp-client-<version>-1.x86_64.rpm
sudo systemctl status wolp.service
bash scripts/build-deb.sh amd64 0.0.0-dev
sudo dpkg -i release/client/wolp-client_0.0.0-dev_amd64.deb
sudo systemctl status wolp.service
wolp.service is activehttp://<client-ip>:2025/usr/local/etc/wolp/wolp.jsonmac_address to the client machine MAC that should receive the shutdown packetinterface to the active NIC name on the client machineextra_data to match the sender's --extra-dataudp_port to match the sender's --portshutdown_delay, username, and password as requested/usr/local/bin/wolp/usr/local/etc/wolp/wolp.json/usr/share/wolp/webuiwolp.serviceextra_data=FF:FF:FF:FF:FF:FFudp_port=9shutdown_delay=602025interface matters only for wakeudp_port and extra_data matter only for shutdownWhen reporting results or performing installs:
wakeonlan Python packageextra_data and udp_port values you configured