Install
openclaw skills install 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 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