Send magic packet

Use this action to send a magic packet to wake up a device by using Wake-on-LAN, for example to turn on a computer from an automation.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To send a magic packet from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create automation > Create new automation.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. From the search box, search for and select Wake on LAN: Send magic packet.
  6. Enter the MAC address of the device you want to wake up, and fill in any other options you want to use.
  7. Select Save.

This action does not support targets. In the UI, you are not prompted to choose an area, device, entity, or label. You enter the device’s MAC address through the MAC address option instead.

Options in the UI

MAC address

The MAC address of the device to wake up.

SecureOn password

The SecureOn password, in 6-byte hexadecimal format, to append to the magic packet. For example, 00:aa:22:bb:33:cc.

Broadcast address

The IP address to send the magic packet to. Defaults to 255.255.255.255 and is normally not changed.

Broadcast port

The port to send the magic packet to. Defaults to 9 and is normally not changed.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as wake_on_lan.send_magic_packet. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: wake_on_lan.send_magic_packet
data:
  mac: "00:40:13:ed:f1:32"

Options in YAML

mac string Required

The MAC address of the device to wake up.

secureon_password string

The SecureOn password, in 6-byte hexadecimal format, to append to the magic packet. For example, 00:aa:22:bb:33:cc.

broadcast_address string

The IP address to send the magic packet to. Normally not changed.

broadcast_port integer

The port to send the magic packet to. Normally not changed.

Good to know

  • This usually only works if the target device is connected to the same network. Routing the magic packet to a different subnet requires special configuration on your router, or may not be possible. The router feature that does this is often named “IP Helper”, but not all routers support it.

Try it yourself

Ready to test this? Open Developer tools > Actions, search for this action, fill in the fields, and select Perform action. You see what happens on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] without writing a line of YAML.

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.